本文提供一個以OneLogin與阿里雲進行角色SSO的樣本,協助您理解企業IdP與阿里雲進行角色SSO的端到端配置流程。
背景資訊
本樣本中,企業擁有一個阿里雲帳號、一個OneLogin管理使用者和多個OneLogin普通使用者。您希望經過配置,使OneLogin普通使用者直接使用OneLogin帳號通過角色SSO的方式訪問阿里雲,而不是在阿里雲重新建立帳號。
關於什麼是OneLogin,請參見OneLogin協助文檔。
步驟一:在OneLogin建立應用
- 使用管理使用者登入OneLogin。
- 在帳號頭像的左側,單擊Administration,進入管理員頁面。
- 在頂部功能表列,選擇 。
- 在Applications頁面的右上方,單擊Add App。
- 在Find Applications頁面,搜尋SAML Test Connector (Advanced)。
- 在Add SAML Test Connector (Advanced)頁面,配置應用程式的基本資料,然後單擊Save。本樣本中設定應用程式的Display Name為
LoginToAliyun
,其他參數保持預設值。 - 在Info頁面,滑鼠懸浮在右上方的More Actions上,從下拉式清單中單擊SAML Metadata,下載身份供應商(IdP)中繼資料檔案,並將其儲存在本機電腦上。
步驟二:在阿里雲建立身份供應商
- 使用阿里雲帳號登入RAM控制台。
- 在左側導覽列,選擇 。
- 在角色SSO頁簽,單擊SAML頁簽,然後單擊建立身份供應商。
- 在建立身份供應商頁面,輸入身份供應商名稱(OneLogin)和備忘。
- 在中繼資料文檔地區,單擊上傳檔案,上傳從步驟一:在OneLogin建立應用擷取的IdP中繼資料。
- 單擊確定。查看新建立的身份供應商詳情,記錄其ARN,方便您後續使用。
步驟三:在阿里雲建立RAM角色
- 在RAM控制台的左側導覽列,選擇 。
- 在角色頁面,單擊建立角色。
- 在建立角色面板,選擇可信實體類型為身份供應商,單擊下一步。
- 輸入角色名稱(例如:Reader-OneLogin)和備忘。
- 選擇身份供應商類型為SAML。
- 選擇從步驟二:在阿里雲建立身份供應商中建立的身份供應商(OneLogin)並查看限制條件後,單擊完成。
- 單擊關閉。查看新建立的RAM角色詳情,記錄其ARN,方便您後續使用。
步驟四:在OneLogin配置應用
- 使用管理使用者登入OneLogin。
- 建立自訂使用者屬性。
- 在頂部功能表列,選擇 。
- 在Users頁面,滑鼠懸浮在右上方的More Actions上,從下拉式清單中單擊Custom user fields。
- 在Custom User Fields頁面的右上方,單擊New User Field。
- 在New User Field對話方塊,配置Name和Shortname,然後單擊Save。本樣本中,Name設定為
AliyunRoles for SSO
,Shortname設定為AliyunRoles
。
- 配置應用。
- 在頂部功能表列,選擇 。
- 在Applications頁面,單擊步驟一:在OneLogin建立應用建立的應用程式(LoginToAliyun)。
- 在左側導覽列,單擊Configuration。
- 在Configuration頁面,配置以下資訊,然後單擊Save。
- RelayState:用來配置使用者登入成功後跳轉到的阿里雲頁面。 說明 出於安全原因,您只能填寫阿里巴巴旗下的網域名稱URL作為RelayState的值,例如:*.aliyun.com、*.hichina.com、*.yunos.com、*.taobao.com、*.tmall.com、*.alibabacloud.com、*.alipay.com,否則配置無效。若不配置,預設跳轉到阿里雲控制台首頁。
- Audience (EntityID):
urn:alibaba:cloudcomputing:international
。 - Recipient:
https://signin.alibabacloud.com/saml-role/sso
。 - ACS (Consumer) URL:
https://signin.alibabacloud.com/saml-role/sso
。
- RelayState:用來配置使用者登入成功後跳轉到的阿里雲頁面。
- 在左側導覽列,單擊Parameters。
- 在Parameters頁面,單擊,添加第一條自訂應用屬性。
- 在New Field對話方塊,設定Field name為
https://www.aliyun.com/SAML-Role/Attributes/Role
, 然後選中Include in SAML assertion和Multi-value parameter,最後單擊Save。 - 在Edit Field https://www.aliyun.com/SAML-Role/Attributes/Role對話方塊,從Default if no value selected地區的兩個下拉式清單中分別選擇Aliyun Roles for SSO (Custom)和Semicolon Delimited input (Multi-value output),然後單擊Save。
- 在New Field對話方塊,設定Field name為
- 在Parameters頁面,單擊,添加第二條自訂應用屬性。
- 在New Field對話方塊,設定Field name為
https://www.aliyun.com/SAML-Role/Attributes/RoleSessionName
, 然後選中Include in SAML assertion,最後單擊Save。 - 在Edit Field https://www.aliyun.com/SAML-Role/Attributes/RoleSessionName對話方塊,從Value地區的下拉式清單中選擇Email,然後單擊Save。說明 您也可以根據實際需要設定Value為其他值,例如:Username、userPrincipalName等。
- 在New Field對話方塊,設定Field name為
- 在Parameters頁面的右上方,單擊Save。
步驟五:在OneLogin建立使用者並分配應用
- 使用管理使用者登入OneLogin。
- 在頂部功能表列,選擇 。
- 建立使用者。說明 如果您已經擁有OneLogin使用者,請跳過此步。
- 在Users頁面的右上方,單擊New User。
- 在New User頁面,設定First name(例如:Jack)、Last name(例如:Lee)、Username(例如:jacklee)和Email(例如:jacklee@example.com),然後單擊Save User。
- 在User Info頁面,滑鼠懸浮在右上方的More Actions上,從下拉式清單中單擊Change Password,為使用者佈建登入密碼,然後單擊Update。為使用者佈建登入密碼,以保證其可以正常登入到OneLogin。
- 在User Info頁面的Custom Fields地區,配置使用者自訂屬性Aliyun Roles for SSO的值。
Aliyun Roles for SSO取值由RAM角色ARN和身份供應商ARN組成,兩者之間用半形逗號(,)分隔,具體格式為
acs:ram::<account_id>:role/RoleName,acs:ram::<account_id>:saml-provider/ProviderName
。其中,RAM角色ARN從步驟三:在阿里雲建立RAM角色擷取,身份供應商ARN從步驟二:在阿里雲建立身份供應商擷取,<account_id>為阿里雲帳號ID。說明 如果一個使用者對應多個RAM角色,此處可配置多組值。每個RAM角色ARN和其對應的身份供應商ARN為一組值,多組值之間用半形分號(;)分隔。例如:acs:ram::125022144354****:role/reader-onelogin,acs:ram::125022144354****:saml-provider/OneLogin;acs:ram::125022144354****:role/administrator-onelogin,acs:ram::125022144354****:saml-provider/OneLogin;acs:ram::158622887609****:role/finance,acs:ram::158622887609****:saml-provider/OneLogin2
。 - 為使用者指派應用。
- 在Applications頁面,單擊。
- 選擇步驟一:在OneLogin建立應用建立的應用(LoginToAliyun),然後單擊Continue。
- 在彈出的對話方塊中,單擊Save。
- 在Users頁面的右上方,單擊右上方的Save User。
- 重複步驟4~6,為其他OneLogin普通使用者配置Aliyun Roles for SSO屬性值並分配應用。
結果驗證
- 使用步驟五:在OneLogin建立使用者並分配應用建立的使用者(jacklee)登入OneLogin。
- 單擊應用(LoginToAliyun)。如果成功跳轉到您設定的RelayState對應頁面(或預設的阿里雲控制台首頁),則說明登入成功。說明 如果您在步驟五:在OneLogin建立使用者並分配應用中為使用者佈建了多個角色,則需要先選擇登入角色,才能訪問阿里雲。