我即将设置一个将在Azure中托管的新项目(我第一次使用它)。我将有三种类型的环境:
从网络层面我想:
生产力服务器(TeamCity)可以访问Prelive&实时服务器(部署)
开发人员可以部分访问实时服务器(没有rdp但可以访问http)。我想隔离对Live环境管理的访问(仅限devops / admin)。
实现这一目标的最佳方式是什么?
选项1 - 在Azure中使用不同的订阅?一个用于PRELIVE,一个用于生产力,一个用于LIVE。服务器能够互相访问吗?是否可以在不同的订阅和Azure AD之间建立信任以避免重复用户?
选项2 - 每个环境(Dev,Systest,performance,live)都在自己的订阅中?
选项3 - 使用相同的订阅和Role-based Access Control?有没有办法在网络级别将LIVE与Prelive隔离?
选项4 - 还有其他选择吗?
答案 0 :(得分:1)
当然,从单个订阅中无法完成任何操作,但是从组织/计费/管理的角度来看,拥有多个订阅可能会有所帮助。
如果在两个单独的虚拟网络中部署两个VM,则默认情况下它们具有网络分离。然后,您可以创建安全组规则以允许使用标准TCP / IP网络限制(子网,端口等)进行访问
如果默认情况下将两个VM部署到同一虚拟网络中,则它们可以相互开放网络访问,但如果将它们部署到单独的子网中,则可以配置子网级别安全组以控制访问。
如果您的团队正在进行部署,并且您只希望Dev团队访问Dev框,则可以在服务器和资源组上配置RBAC以允许这样做。
资源组是逻辑上连接的资源(VM,VNets,Web Apps等)的集合 - 尽管上述内容仍然适用。由于该事实,同一资源组中的服务器不具有网络访问权限。
如果您是第一次使用Azure,最好的建议是留出几周时间来构建内容,并了解它可以为您和您需要的最佳方式。
在这一点上,将它全部撕下来并使用你学到的东西正确地构建它。