1. 程式人生 > >Azure AD:基於宣告的驗證和授權

Azure AD:基於宣告的驗證和授權

Azure AD:基於宣告的驗證和授權

概念:

  1. 使用者及其屬性:使用者指的是要使用某項服務的個體,其屬性是指與之相關的使用者名稱、角色、郵件地址等;

  2. 宣告(Claim):對某個個體的某項屬性的一個確定的陳述(Assertion),例如,這個使用者是Jeffrey

  3. 安全令牌(Security Token):宣告的集合,一般經過簽名(Signature)和加密(Encryption)操作以保證資訊的完整、真實、保密和自身不可複製性;

  4. 服務提供方(Service Provider)/依賴方(Replying Party):服務提供方是要被訪問的服務,通常被稱為依賴方,以表明服務依賴於第三方提供驗證和授權;

  5. 身份提供方(Identity Provider):提供使用者驗證、發放安全令牌的服務。服務提供方和身份提供方的關係是,前者依賴於後者來進行使用者的身份驗證,並根據後者所提供的宣告來對使用者進行授權,它們之間的協議有ws-Federation、SAML、OpenID Connect等;

  6. 信任(Trust):服務提供方和身份提供方之間的信任關係,它們之間的相互信任組成了一個信任圈(Circle of Trust),在這個圈內可以實現所謂單點登陸(SSO)的功能,使用者只需要在身份提供方登陸一次,就可以訪問與身份提供方相互信任的服務提供方;

  7. 驗證(Authentication):確認個體屬性的過程,通常需要被驗證個體提供某種身份證明,有的服務提供方還需要個體提供多種驗證方式,也就是多重驗證(Multi-factor Authentication),反之,如果不需要對使用者進行驗證,則是所謂的允許匿名訪問(Anonymous Access);

  8. 授權(Authorization):確認個體是否有請求某項服務的許可權。

基本流程和文件:

​​​​​​

  1. OpenID Connect驗證協議,參考:https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-protocols-oidc

  2. Graph API介面:服務提供方使用Graph API可以對目錄的資料和物件執行CRUD(Create、Read、Update和Delete)操作,參考:https://docs.microsoft.com/en-us/azure/active-directory/develop/active-directory-graph-api

參考:《Windows Azure實戰》