AZ-305教程 - 认证和访问管理


云中网络架构和传统网络架构的区别

在传统网络中,企业内部的网络之间是彼此信任的。但在云中,资源的访问和控制方式发生了质变。在访问一个云端资源的时候,首先需要认证和授权。而其中的核心组件就是Azure Active Directory。

Azure AD

Azure Subscription必须和一个Azure AD关联并由Azure AD为其提供认证服务(反之,一个Azure AD可以和多个Azure Subscription关联)。

Azure AD的认证服务可以支持不同场景,比如:

  • 远程工作的员工
  • 对企业内部员工和资源提供认证
  • SaaS

几种类型的Azure Tenant

User用户账号:可以是公司内部的账号,通常通过用户名/密码方式访问。这种账号可以是云原生账号,从企业内部AD同步过来的账号,也可以是Guest账号
APP(Service Principal):代表的是在当前tenant中的一个应用,通常通过secret token或certificate进行认证。这种APP可以在Azure中运行,也可以在其他环境中运行。
Managed Identity:代表一个在Azure Subscription中的服务,只支持在Azure中运行的服务

Azure中组成员类型

  • 静态(assigned): 由相应的管理员赋予,因此管理成本相对较高
  • 动态(dynamic): 根据设备/用户属性动态赋予,因此可由平台自动管理。但需要Azure AD Premium P1授权

Azure hybrid identity

  • 云原生账号
  • 企业内部账号:通过Azure AD Connect同步
  • Legacy资源:通过Azure AD DS来进行管理
  • Azure AD tenant (domain.onmicrosoft.com) Guest account(通过Azure B2B)

Azure AD Connect

主要是用于支持单点登录,具体包括

  • 同步身份
  • 身份认证管理

Azure AD Domain Services (ADDS)

如果想要使用传统的Domain Service,例如LDAP。很明显,Azure AD并不直接支持这些legacy domain service。这时就可以通过Azure AD DS作为其中的桥梁。

作为Legacy resource和Azure AD之间的桥梁,Azure ADDS managed domain能够提供添加域,群组策略,LDAP,Kerberos/NTLM认证等服务。

Azure AD Business-to-Business (B2B)

主要应用场景:当自己企业的合作伙伴由自己的用户认证系统时,我们并不能直接信任他们让他们直接访问我们的Azure资源,但可以邀请他们创建我们Azure AD中的Guest账号。这样他们仍然通过自己的认证系统认证,但认证后会关联到我们Azure AD中的Guest账号,进而能访问相应Azure资源。

Azure AD Business-to-Consumer (B2C)

需要创建一个专门的Azure B2C tenant用户(b2cdomain.onmicrosoft.com)自己管理identity

微软正在将Azure AD B2B和Azure AD B2C合并为Azure AD External Identities.

Azure RBAC

主要组成部分:

  • Security Principal: 可以是Managed Identity,Security Group, User Account等
  • Role definition: 例如Owner, Contributor, VM Contributor等
  • Scope:可以是Management Group, Subscription, Resource Group, Resource等

System Managed Identity vs User Managed Identity:

  • System Managed Identity: 由Azure自动创建和管理,同时绑定到具体的Azure资源。
  • User Managed Identity:非自动创建,但可以在多个Azure资源之间共享

注意这些权限都是动态计算得到的,比如在指定的scope中添加了一个VM,则具有VM Contributor的用户就自动具有对新添VM的Contributor权限。

Azure AD roles

内置角色:

  • Global Admin
  • User Admin
  • App Admin

就权限而言:
Contributor = Owner - Rights to change permissions

Custom Roles

当内置role的权限不能和需求匹配时,比如不满足least privilege要求时,可以使用custom roles。

在自定义role的时候,无法设置为deny。默认下就是deny,除非明确说明是allow。

Administrative Unit

通过AU,可以把不同的scope进行组合,以便赋予相应权限。

Azure AD Identity Protection

和身份认证相关的风险:

  • 81%的数据泄露源自于密码/密钥的泄露
  • 73%的密码都是重复的
  • 50%的雇员会使用未经企业认证的应用

要想使用Azure AD Identity Protection,需要Azure AD Premium P2授权。

Sign-In Risk Policy: 这是real time policy,当用户登录时就会进行检测。同时还包括了对应的policy何时会被触发以及相应的动作(actions)。

User Risk Policy: 可以在离线时发生。

Azure AD conditional access

  • 可以根据不同应用场景来配置不同的规则
  • 其触发条件的选择也很多,比如用户位置/IP,设备,浏览器,风险级别等
  • 通过conditional access,我们可以设定相应的条件,只有用户满足条件时才能获得访问权限

例如:仅允许Head Office或公共网络+MFA访问Azure资源

Privileged Idnetity Protection

  • 在为用户授权之前,可以强制用户完成相应的任务
  • 可以审计跟踪用户权限的使用
  • 简化同时自动化检查用户是否仍需相应的权限

PIM相当于在用户和Privileges之间又添加了一层控制:

  • 相应权限只是非授予,但只有在需要使用时才被激活
  • 权限可以在指定的时间后背自动禁用
  • 用户对应权限在被激活之前需要相应的批准(approve)才可以
  • 可以强制相应用户在激活某个角色之前需要MFA

文章作者: 逻思
版权声明: 本博客所有文章除特別声明外,均采用 CC BY-NC-ND 4.0 许可协议。转载请注明来源 逻思 !
  目录