本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
身分管理
本節討論公司目錄中的人力資源使用者如何聯合 AWS 帳戶 並存取 SageMaker AI Studio。首先,我們將簡短描述使用者、群組和角色的映射方式,以及使用者聯合的運作方式。
使用者、群組和角色
在 中 AWS,使用使用者、群組和角色來管理資源許可。客戶可以透過 或在企業目錄中管理其使用者和群組IAM,例如 Active Directory (AD),透過 Okta 等外部 IdP 啟用,這可讓他們向雲端和內部部署中執行的各種應用程式驗證使用者。
如 AWS Security Pillar Identity Management 一節所述,最佳實務是在中央 IdP 中管理使用者身分,因為這有助於輕鬆整合您的後端人力資源程序,並有助於管理人力資源使用者的存取權。
IdPs 例如 Okta 可讓最終使用者對一或多個 進行身分驗證,AWS 帳戶 並使用 SSO 搭配安全聲明標記語言 () 存取特定角色SAML。IdP 管理員能夠將角色從 下載 AWS 帳戶 到 IdP,並將這些角色指派給使用者。登入 時 AWS,最終使用者會看到一個 AWS 畫面,顯示一或多個 中指派給他們的清單 AWS 角色 AWS 帳戶。他們可以選取要擔任的登入角色,定義其在該已驗證工作階段期間的權限。
對於您要提供存取權的每個特定帳戶和角色組合, 群組必須存在於 IdP 中。您可以考慮這些群組為AWS 角色特定的群組。任何身為這些角色特定群組成員的使用者都會獲得單一權限:存取特定 中的一個特定角色 AWS 帳戶。不過,此單一授權程序不會透過將每個使用者指派給特定 AWS 角色群組來擴展以管理使用者存取。為了簡化管理,我們建議您也為組織中需要不同 AWS 權限集的所有不同使用者集建立多個群組。
若要說明中央 IdP 設定,請考慮具有 AD 設定的企業,其中使用者和群組會同步到 IdP 目錄。在 中 AWS,這些 AD 群組會對應至IAM角色。工作流程的主要步驟如下:

加入 AD 使用者、AD 群組和IAM角色的工作流程
-
在 中 AWS,設定每個 AWS 帳戶 與 IdP 的SAML整合。
-
在 中 AWS,在每個 中設定角色, AWS 帳戶 並同步到 IdP。
-
在公司 AD 系統中:
-
為每個帳戶角色建立 AD 群組並同步至 IdP (例如,
Account1-Platform-Admin-Group
(也稱為 AWS 角色群組))。 -
在每個角色層級建立管理群組 (例如
Platform-Mgmt-Group
),並將 AWS 角色群組指派為成員。 -
將使用者指派給該管理群組,以允許存取 AWS 帳戶 角色。
-
-
在 IdP 中,將 AWS 角色群組 (例如
Account1-Platform-Admin-Group
) 映射至 AWS 帳戶 角色 (例如 Account1 中的平台管理員)。 -
當 Data Scientist Alice 登入 Idp 時,他們會收到 AWS 一個聯合應用程式 UI,有兩個選項可供選擇:「帳戶 1 Data Scientist」和「帳戶 2 Data Scientist」。
-
Alice 選擇「帳戶 1 資料科學家」選項,它們連接到 AWS 帳戶 1 (SageMaker AI 主控台) 中的授權應用程式。
如需設定SAML帳戶聯合的詳細資訊,請參閱 Okta AWS 的帳戶聯合設定方式 SAML2.0
使用者聯合
SageMaker AI Studio 的身分驗證可以使用 IAM或 IAM IdC 完成。如果使用者是透過 管理IAM,他們可以選擇 IAM 模式。如果企業使用外部 IdP,他們可以透過 IAM或 IAM IdC 聯合。請注意,無法更新現有 SageMaker AI Studio 網域的身分驗證模式,因此在建立生產 SageMaker AI Studio 網域之前做出決策至關重要。
如果 SageMaker AI Studio 設定為 IAM 模式, SageMaker AI Studio 使用者會透過預先簽章存取應用程式URL,該預先簽章會在透過瀏覽器存取時自動將使用者登入 SageMaker AI Studio 應用程式。
IAM 使用者
對於IAM使用者,管理員會為每個使用者建立 SageMaker AI Studio 使用者設定檔,並將使用者設定檔與 IAM角色建立關聯,以允許使用者在 Studio 中執行的必要動作。若要限制 AWS 使用者僅存取其 SageMaker AI Studio 使用者設定檔,管理員應標記 SageMaker AI Studio 使用者設定檔,並將IAM政策連接至使用者,以允許他們只有在標籤值與 AWS 使用者名稱相同時存取。政策陳述式如下所示:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AmazonSageMakerPresignedUrlPolicy", "Effect": "Allow", "Action": [ "sagemaker:CreatePresignedDomainUrl" ], "Resource": "*", "Condition": { "StringEquals": { "sagemaker:ResourceTag/studiouserid": "${aws:username}" } } } ] }
AWS IAM 或 帳戶聯合
AWS 帳戶 聯合方法可讓客戶從其 IdP 聯合至 SageMaker AI SAML 主控台,例如 Okta。若要限制使用者僅存取其使用者設定檔,管理員應標記 SageMaker AI Studio 使用者設定檔、PrincipalTags
新增 IdP,並將他們設定為傳輸標籤。下圖說明聯合身分使用者 (Data Scientist Alice) 如何獲得授權存取自己的 SageMaker AI Studio 使用者設定檔。

在IAM聯合模式中存取 SageMaker AI Studio
-
Alice SageMaker AI Studio 使用者設定檔會加上其使用者 ID 的標籤,並與執行角色相關聯。
-
Alice 驗證 IdP (Okta)。
-
IdP 會驗證 Alice 並發佈聲明,SAML其中包含兩個角色 (帳戶 1 和 2 的資料科學家) Alice 是其中的成員。Alice 為帳戶 1 選取資料科學家角色。
-
Alice 已登入帳戶 1 SageMaker AI 主控台,並擔任 Data Scientist 的角色。Alice 從 Studio 應用程式執行個體清單中開啟其 Studio 應用程式執行個體。
-
擔任角色工作階段中的 Alice 主體標籤會根據選取的 SageMaker AI Studio 應用程式執行個體使用者設定檔標籤進行驗證。如果設定檔標籤有效,則會啟動 SageMaker AI Studio 應用程式執行個體,並擔任執行角色。
如果您想要在使用者加入時自動建立 SageMaker AI 執行角色和政策,以下是完成此操作的一種方法:
-
在每個帳戶和 Studio
SageMaker AI-Account1-Group
網域層級設定 AD 群組,例如 。 -
當您需要將使用者加入 SageMaker AI Studio 時,將 SageMaker AI-Account1-Group 新增至使用者的群組成員資格。
設定可接聽SageMaker AI-Account1-Group
成員資格事件的自動化程序,並使用 AWS APIs 根據其 AD 群組成員資格來建立角色、政策、標籤和 SageMaker AI Studio 使用者設定檔。將角色連接至使用者設定檔。如需範例政策,請參閱 防止 SageMaker AI Studio 使用者存取其他使用者設定檔。
SAML 使用 進行身分驗證 AWS Lambda
在 IAM 模式下,使用者也可以使用SAML聲明驗證 SageMaker AI Studio。在此架構中,客戶有現有的 IdP,他們可以建立SAML應用程式,讓使用者存取 Studio (而非 AWS Identity Federation 應用程式)。客戶的 IdP 已新增至 IAM。 AWS Lambda 函數有助於使用 IAM和 驗證SAML聲明STS,然後直接叫用API閘道或 Lambda 函數,以建立預先簽章的網域 URL。
此解決方案的優點是 Lambda 函數可以自訂邏輯以存取 SageMaker AI Studio。例如:
-
如果使用者描述檔不存在,則自動建立使用者描述檔。
-
剖析SAML屬性,將角色或政策文件附加或移除至 SageMaker AI Studio 執行角色。
-
新增生命週期組態 (LCC) 和新增標籤,以自訂使用者設定檔。
總而言之,此解決方案會將 SageMaker AI Studio 公開為具有用於身分驗證和授權的自訂邏輯的 SAML2.0 應用程式。如需實作詳細資訊,請參閱使用SageMaker SAML聲明的 Studio 存取附錄一節。

使用自訂SAML應用程式存取 SageMaker AI Studio
AWS IAM IdC 聯合
IdC 聯合方法可讓客戶從其 IdP 直接聯合到 SageMaker AI Studio 應用程式 SAML (例如 Okta)。下圖說明聯合身分使用者如何獲得存取自己 SageMaker AI Studio 執行個體的授權。

在 IAM IdC 模式下存取 SageMaker AI Studio
-
在公司 AD 中,使用者是 AD 群組的成員,例如平台管理員群組和資料科學家群組。
-
Identity Provider (IdP) 的 AD 使用者和 AD 群組會同步至 AWS IAM Identity Center,並分別做為指派的單一登入使用者和群組使用。
-
IdP 會將SAML宣告發佈至 AWS IdC SAML端點。
-
在 SageMaker AI Studio 中,IdC 使用者會指派給 SageMaker Studio 應用程式。此指派可以使用 IdC 群組完成, SageMaker AI Studio 將套用至每個 IdC 使用者層級。建立此指派時, SageMaker AI Studio 會建立 IdC 使用者設定檔並連接網域執行角色。
-
使用者使用 IdC 中作為雲端應用程式URL託管的安全預先簽章來存取 SageMaker AI Studio 應用程式。 SageMaker AI Studio 會擔任連接至其 IdC 使用者設定檔的執行角色。
網域身分驗證指南
以下是選擇網域身分驗證模式時的一些考量:
-
如果您希望使用者無法存取 AWS Management Console 並直接檢視 SageMaker AI Studio UI,請使用具有 IdC 的 AWS IAM單一登入模式。
-
如果您希望使用者無法存取 AWS Management Console 並直接在 IAM 模式下檢視 SageMaker AI Studio UI,您可以使用後端的 Lambda 函數產生URL使用者描述檔的預先簽章,並將他們重新導向至 SageMaker AI Studio UI。
-
在 IdC 模式中,每個使用者都會對應至單一使用者設定檔。
-
所有使用者設定檔都會在 IdC 模式中自動指派預設執行角色。如果您希望使用者獲指派不同的執行角色,您將需要使用 UpdateUserProfile 更新使用者設定檔API。
-
如果您想要將IAM模式 (使用產生的預先簽章 URL) 中的 SageMaker AI Studio UI 存取限制在VPC端點,而不周遊網際網路,您可以使用自訂DNS解析程式。請參閱 Secure Amazon SageMaker AI Studio 預先簽署的第 1 URLs部分:基礎基礎設施
部落格文章。