#MIA# Azure IaaS 系统学习(6)Identity(Azure AD)

AAD 有四个版本

1. Free

  • 管理用户账户
  • 和本地目录同步
  • 和O365 和其他PaaS服务SSO

2. Basic

  • company branding:登录时有自己公司的logo
  • group-based application acess
  • self-service password reset
  • SLA 99.9%
  • Azure Active Directory Application Proxy

3. Premium P1 & P2

  • company branding
  • group-based application acess
  • self-service password reset
  • SLA 99.9%
  • Azure Active Directory Application Proxy
  • identity protection
  • previleged identity management
  • sign-in activity reports availability
  • security reports

Azure AD domain service

引入云服务以后身份验证所存在的问题?
就是传统的目录不能支持云登录,当前的协议Kerberos LDAP等等,这些协议都不能通过互联网访问,新的协议,比如:OAuth2,OpenID Connect,就可以通过网络访问。
Azure Active Directory是一种服务,专门用来管理用户身份标识和管理访问权限,针对用户可以是企业内部员工,也可以是合作伙伴,或者是顾客。
注意:Azure AD 不是!!!Windows Server AD DS在Azure上

Azure Domain service 的特点

  1. 全托管的服务,你不需要担心更新、补丁、监控、备份等等。
  2. 加域,可以让虚机加域,就跟在本地计算机要加域一样。
  3. 高可用,Azure AD 域服务有高可用,有内置的健康健康器,可以自动修复
  4. 可以用组策略
  5. 包括DNS server
  6. 不需要VPN或者expressroute来连接,用Azure AD connect

Role Based Access Control

用来管理Azure的资源,定义谁能访问哪些资源,谁不能访问哪些资源,谁的权限又是什么。
内置默认有三个角色:owner(啥都可以做)、contributer(啥都可以做除了不能分配、删除角色任务)、reader(只能看)
RBAC的角色分配具有继承性,分配可以访问的资源可以是资源组,也可以细化到一个资源。
AAD安全原则
角色可以分配给:用户、外部用户、外部微软账户,比如@outlook.com
角色可以分配给:AD安全组,如果一个组能访问某资源,组里的成员也享有同样的访问权。
而且,安全组的访问权可以从本地直接搬到云上用。
管理组
管理组是用来装很多订阅的容器。比如,这一堆订阅属于开发组,这一堆订阅属于财务组。管理组的级别比订阅级别高,Azure Policy和Role Based Access Control可以应用在管理组、订阅、资源组、资源。
根管理组
每个目录都有一个最高级的管理组,叫根管理组,所有的管理组隶属于一个根管理组。
管理组的限制:一个目录下面可以有1w个管理组。一个管理组树最多有6层,这个层数限制不包括根管理组层和订阅层。一个订阅和管理组只能隶属一个父项。

Azure AD B2B

AAD B2B合作是Azure AD的特有功能,让合作伙伴、外部用户可以简单地访问本地资源。不需要security token service,也不要和合作伙伴做联合身份验证,不需要给外部用户创建新的目录。合作伙伴可以用他们自己的凭据来访问你的资源。如果伙伴没有AAD,B2B合作可以提供简单的AAD acocunt的分发。

Viral tenant provisioning
如果外部账户没有AAD账户,那么就得创建一个新账户,这个账户叫viral Azure AD tenant, userType:Viral。

怎么去邀请这些外部用户呢?用CSV文件,里面有email地址,通过这个CSV文件发邮件给用户,用户接受邀请,然后验证通过,之后用户就可以访问授权的资源了。

如果没有邮件,也可以直接给外部用户发一个访问连接,这个访问连接和共享资源关联,这样就可以直接访问资源了。
AAD B2C
AAD B2C是一个复杂的云身份管理解决方案,针对web端用户和移动应用程序。
过去,应用程序开发者希望用户在他们自己的代码里面注册账号,登录账号,但是这样的话,他们就需要有自己的本地数据库来存这些用户名和密码。AAD B2C提供一个身份验证的集成方法,用户可以用第三方社交账号来登录app,与此同时生成自己的credentials(自己的email add+password或者用户名+password)
B2C可以用OAuth和OpenID Connect协议进行验证,也支持多因子验证。

AAD Pass-through authentication

Azure AD pass-through authentication允许你可以用和本地一样的用户名和密码来登录云上的应用,但是在云上登录时,验证还是回到本地进行的,所以云上不会存密码。可以让用户不用去记那么多密码,而且可以在云上自助改密码。如果用户没有授权hash同步,那么验证会在本地AD进行。

注意!!!AAD pass-through验证虽然本地和云上用一样的用户名和密码,但是密码还是存在本地AD,云上不存密码,最终的验证还是在本地进行,用户登录app,重定向到AAD,AAD再去找本地AD做验证。
AAD Pass through authentication :Smart Lockout 智能封锁
简单说,就是输入密码错太多次就锁住。默认10次尝试错误,每次锁60s。要想自定义lockout必须要basic或更高版本
啥是无缝单点登录seamless SSO

  1. 如果用企业的设备在内网进行使用,用户可以自动登录到基于云的应用
  2. 可以直接自动登录上基于云的app
  3. SSO可以和密码哈希同步或者pass-through验证进行登录。

多因子验证 (premuim edition)

多因子有啥:
something you know: password PIN
something you have: phone credit card hardward token
something you are: fingerprint, retinal scan…
stronger when using two different channels.
(OTP one time pass)

  1. AAD----可以直接用云上MFA
  2. AAD+本地AD+ADFS----可以用云上MFA也可以用MFA Server,ADFS可以充当MFA server
  3. AAD+本地AD+DirSync+AAD Sync+Azure AD connect (没有哈希密码)----可以用云上MFA和MFA server
  4. AAD+本地AD+DirSync+AAD Sync+Azure AD connect (有哈希密码)----只能用云上MFA
  5. 本地AD----只能用MFA server

Azure AD Application Proxy

  1. 提供SSO功能&安全的远程访问本地资源或者远程访问Azure IaaS web app
  2. 入站没有防火墙规则
  3. AAD身份验证,kerberos claims/forms based application

Application proxy安在云上,对应的connector按在本地,用户通过connector路由流量连接到云上的服务
Connector拿来干嘛?
连接很多数据中心的站点,如果想把流量控制在单个数据中心内部,因为跨数据中心的连接很贵,就可以在每个数据中心放connector,这些connector只用来服务这个数据中心内部的app。

Conditional Access

Conditional access是AAD的一个功能,这个功能允许你基于特定的环境条件,去控制访问app的权限,你可以设置访问要求,也可以阻止访问。
Conditional access是基于策略的,一般要定义访问的要求,比如,如果有来自不信任网络的connector想去访问云上的app,那么就要阻止访问。
控制
如果条件访问策略满足,那么contral statement就是用来定义接下来要发生什么。
目前AAD允许以下的control要求,

  1. MFA,可以是Azure MFA、本地MFA,或者ADFS
  2. 可自定义合法有效设备
  3. Hybrid Azure AD joined device,针对于本地加域的设备
  4. 要求客户端应用被允许使用
  5. 要求应用有保护策略
    conditional statement
    对于条件访问策略,你可以定义访问条件,比如
  6. 用户和组:这些人可以访问,或者这些人不能范文
  7. cloud app:确定policy适用的app
  8. conditions:可以定义额外的访问条件
    Conditions
    AAD允许你自定义额外的访问条件,比如:
  9. sign-in risk:高中低
  10. 设备平台:比如安卓不能访问啊
  11. 地点:定义某段IP地址可访问
  12. 客户端app:哪些app可以来访问
  13. 设备状态:设备是否注册,是否被标注成为合法,是否是Hybrid Azure AD joined

AAD Previleged Identity Management PIM

PIM是Azure用来管理、控制、监控组织内的访问
AAD PIM功能:

  1. 你可以看谁是AAD管理员
  2. 可以启用按需、Just in time 管理访问Microsoft online service like O365
  3. 可以得到管理员访问历史和管理员任务更换
  4. 可以设置previleged role访问警报

AAD PIM 管理以下AAD role:
Global admin
billing admin
service admin
user admin
password admin

JIT Administrator access

  • 允许分配一个永久的角色,也可以分配一个一段时间内有效的角色
  • 有永久角色的用户为permanent admins,一段时间内有效的用户为eligible admins
  • eligible admin是inactive的,直到要去访问资源,当满足访问条件,就变成active,在有效时间内有效。
  • 用户的账户必须是企业账户

PIM管理
PIM要求Premium P2 edition,用门户网站启用PIM,部署时需要跑一遍安全安装向导,然后就可以呈现PIM board,上面有目录用户的有效历史,目录用户的分布,有多少eligible,有多少permenant。

Domain controllers on Azure Virtual Machine

为什么要在Azure IaaS上部署AD DS

  • 如果没有本地数据中心,但还是要在世界各处进行验证服务
  • 备份AD 或者做故障恢复
  • 支持那些必须云上验证的app,比如sharepoint

Azure AD DS的应用场景

  1. 新的AD DS在Azure 上全托管
  2. 把本地 AD DS扩展上云

Azure Domain Controller DC是本地DC的虚拟版本
虚机可以用静态或者动态IP地址
用VPN到连接本地网络

发布了19 篇原创文章 · 获赞 0 · 访问量 1202

猜你喜欢

转载自blog.csdn.net/qq_24550639/article/details/101082138
今日推荐