通過SCIM 2.0標準協議,結合阿里云OAuth應用的安全授權,您可以將Okta中的用戶同步到阿里云訪問控制(RAM)中。
前提條件
本文中所有RAM控制臺的操作,推薦使用RAM管理員或具有OAuth管理權限的RAM用戶完成。
本文中所有Okta的操作,請使用Okta管理員(Super Administrator)賬號完成。
背景信息
新建用戶:Okta分配用戶到應用后,RAM會自動創建同名用戶,Okta用戶名的域名后綴將會自動替換為RAM用戶域名。
更新用戶屬性:當您在Okta更改用戶屬性,將自動同步更新RAM用戶屬性,該功能取決于Okta是否配置開啟屬性自動更新。當前僅支持UserName、DisplayName。
當您在Okta刪除用戶或取消用戶分配,Okta會將用戶狀態置為
“active=false”
。RAM用戶無啟用、禁用狀態,不支持Okta對用戶Inactive的狀態同步,因此同步至RAM的用戶不做變更。不支持同步Okta的用戶組。
步驟一:在RAM控制臺創建OAuth應用并授權
創建OAuth應用。
登錄RAM控制臺。
在左側導航欄,選擇 。
在企業應用頁簽,單擊創建應用。
在創建應用面板,設置應用參數。
輸入應用名稱和顯示名稱。
選擇應用類型為NativeApp。
設置訪問令牌有效期。
設置刷新令牌有效期。
單擊保存。
授權應用范圍。
在企業應用頁簽,單擊目標應用名稱。
在應用OAuth范圍頁簽,單擊添加OAuth范圍。
在添加OAuth范圍面板,選擇/acs/scim。
單擊確定。
創建應用密鑰。
單擊應用密鑰頁簽,然后單擊創建密鑰。
在創建應用密鑰對話框,查看并復制創建成功的應用密鑰,然后單擊關閉。
重要應用密鑰內容僅在創建時可見,不支持查詢,請及時保存。
步驟二:在Okta創建應用
- 登錄Okta門戶。
- 單擊頁面右上方的賬號圖標,然后單擊Your Org。
- 在左側導航欄,選擇 。
- 在Applications頁面,單擊Create App Integration。
- 在Create a new app integration對話框,單擊SAML 2.0,然后單擊Next。
- 配置應用名稱為AliyunSSODemo,單擊Next。
- 配置SAML,然后單擊Next。
- Single sign on URL為步驟一:在阿里云獲取SAML服務提供商元數據中記錄的
Location
。 - Audience URI為步驟一:在阿里云獲取SAML服務提供商元數據中記錄的
entityID
。 - Default RelayState用來配置用戶SSO登錄成功后跳轉到的阿里云頁面。 說明 出于安全原因,您只能填寫阿里巴巴旗下的域名URL作為Default RelayState的值,例如:*.aliyun.com、*.hichina.com、*.yunos.com、*.taobao.com、*.tmall.com、*.alibabacloud.com、*.alipay.com,否則配置無效。若不配置,默認跳轉到阿里云控制臺首頁。
- Name ID format選擇Persistent。
- Application username選擇Email。
- Single sign on URL為步驟一:在阿里云獲取SAML服務提供商元數據中記錄的
- 在Feedback頁面,根據需要選擇合適的應用類型,然后單擊Finish。
步驟三:在Okta配置SCIM同步
啟用SCIM同步。
在步驟二:在Okta創建應用創建的應用中,單擊General頁簽。
在App Settings區域,單擊Edit。
選中Enable SCIM provisioning,然后單擊Save,啟用SCIM同步。
配置SCIM連接參數。
單擊Provisioning頁簽。
在左側導航欄,單擊Integration。
在SCIM Connection區域,單擊Edit,配置以下參數。
SCIM connector base URL:輸入
https://scim.aliyun.com
。Unique identifier field for users:輸入
userName
。Supported provisioning actions:選中Import New Users and Profile Updates和Push New Users。
說明Push Profile Updates為可選,表示屬性變更是否自動更新。
Authentication Mode:選擇OAuth 2。
配置OAuth 2參數。
Access token endpoint URI:輸入
https://oauth.aliyun.com/v1/token
。Authorization endpoint URI:輸入
https://signin.aliyun.com/oauth2/v1/auth
。Client ID:輸入在步驟一:在RAM控制臺創建OAuth應用并授權中創建的阿里云OAuth應用ID。
Client Secret:輸入在步驟一:在RAM控制臺創建OAuth應用并授權中創建的應用密鑰。
單擊Save。
獲取回調地址。
在Provisioning頁簽,單擊左側導航欄的Integration。
在頁面最底端,單擊Authenticate with xxx。
在彈出的頁面中,復制回調地址(redirect url)。
登錄阿里云RAM控制臺,在步驟一:在RAM控制臺創建OAuth應用并授權創建的應用中填入回調地址。
返回Okta當前配置頁面,單擊Authenticate with xxx,然后登錄阿里云控制臺,完成驗證。
配置用戶同步參數。
在Provisioning頁簽,單擊左側導航欄的To App。
在Provisioning to App區域,單擊Edit。
在Create User區域,選中Enable,然后單擊Save。
說明如果SCIM Connection中配置了Push Profile Updates,您還需要在此處將Push Profile Updates也設置為Enable。
在<App Name> Attribute Mappings區域,配置屬性映射,刪除不需要的屬性,僅保留下圖所示的屬性。
在Sign on頁簽,單擊Edit。
將Application username format設置為Okta username prefix,然后單擊Save。
為應用分配用戶。
在Assignments頁簽,單擊Assign。
單擊Assign to People,分配用戶到應用。
同步過程中如果遇到異常,您可以單擊View Logs查看日志信息,幫助您解決問題。
驗證結果
上述步驟完成后,Okta用戶會自動同步到RAM中。您可以登錄RAM控制臺,在RAM用戶列表中,查看同步成功的用戶,同步成功的用戶同步類型標識為SCIM 同步。