本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
隔離網域資源
重要
允許 Amazon SageMaker Studio 或 Amazon SageMaker Studio Classic 建立 Amazon SageMaker 資源的自訂IAM政策也必須授予許可,才能將標籤新增至這些資源。需要將標籤新增至資源的許可,因為 Studio 和 Studio Classic 會自動標記他們建立的任何資源。如果IAM政策允許 Studio 和 Studio Classic 建立資源,但不允許標記,則嘗試建立資源時可能會發生「AccessDenied」錯誤。如需詳細資訊,請參閱提供標記 SageMaker資源的許可。
AWS Amazon 的受管政策 SageMaker 提供建立 SageMaker 資源的許可,已包含在建立這些資源時新增標籤的許可。
您可以使用 AWS Identity and Access Management (IAM) 政策,在帳戶中的每個網域與 AWS 區域 之間隔離資源。隔離的資源將不再從其他網域存取。在本主題中,我們將討論IAM政策所需的條件,以及如何套用這些條件。
此政策可以隔離的資源是具有條件索引鍵的資源類型,其中包含 aws:ResourceTag/${TagKey}
或 sagemaker:ResourceTag/${TagKey}
。如需 SageMaker 資源和相關條件索引鍵的參考,請參閱 Amazon 的動作、資源和條件索引鍵 SageMaker。
警告
不包含上述條件索引鍵 (因此使用資源類型的動作) 的資源類型不受此資源隔離政策的影響。例如,管道執行資源類型不包含上述條件索引鍵,且不受此政策影響。因此,以下是具有管道執行資源類型的一些動作不支援資源隔離:
-
DescribePipelineExecution
-
StopPipelineExecution
-
UpdatePipelineExecution
-
RetryPipelineExecution
-
DescribePipelineDefinitionForExecution
-
ListPipelineExecutionSteps
-
SendPipelineExecutionStepSuccess
-
SendPipelineExecutionStepFailure
下列主題說明如何建立新的IAM政策,將網域中資源的存取限制為具有網域標籤的使用者設定檔,以及如何將此政策連接至網域的IAM執行角色。您必須對帳戶中的每個網域重複此程序。如需網域標籤和重新填充這些標籤的詳細資訊,請參閱 多個網域概觀
主控台
下一節說明如何建立新的IAM政策,將網域中資源的存取限制為具有網域標籤的使用者設定檔,以及如何從 Amazon SageMaker 主控台將此政策連接至網域的IAM執行角色。
注意
此政策僅適用於使用 Amazon SageMaker Studio Classic 作為預設體驗的網域。
-
完成建立IAM政策 (主控台) 中的步驟,以下列JSON政策文件建立名為
StudioDomainResourceIsolationPolicy-
的政策。 IAMdomain-id
{ "Version": "2012-10-17", "Statement": [ { "Sid": "CreateAPIs", "Effect": "Allow", "Action": "sagemaker:Create*", "NotResource": [ "arn:aws:sagemaker:*:*:domain/*", "arn:aws:sagemaker:*:*:user-profile/*", "arn:aws:sagemaker:*:*:space/*" ] }, { "Sid": "ResourceAccessRequireDomainTag", "Effect": "Allow", "Action": [ "sagemaker:Update*", "sagemaker:Delete*", "sagemaker:Describe*" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/sagemaker:domain-arn": "
domain-arn
" } } }, { "Sid": "AllowActionsThatDontSupportTagging", "Effect": "Allow", "Action": [ "sagemaker:DescribeImageVersion", "sagemaker:UpdateImageVersion", "sagemaker:DeleteImageVersion", "sagemaker:DescribeModelCardExportJob", "sagemaker:DescribeAction" ], "Resource": "*" }, { "Sid": "DeleteDefaultApp", "Effect": "Allow", "Action": "sagemaker:DeleteApp", "Resource": "arn:aws:sagemaker:*:*:app/domain-id
/*/jupyterserver/default" } ] } -
完成修改角色 (主控台) 中的步驟,將
StudioDomainResourceIsolationPolicy-
政策連接至網域的執行角色。https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-managingrole-editing-console.html#roles-modify_permissions-policydomain-id
AWS CLI
下一節說明如何建立新的IAM政策,將網域中資源的存取限制為具有網域標籤的使用者設定檔,以及如何從 將此政策連接至網域的執行角色 AWS CLI。
注意
此政策僅適用於使用 Amazon SageMaker Studio Classic 作為預設體驗的網域。
-
從您的本機機器,藉由以下內容,建立一個檔案且檔名為
StudioDomainResourceIsolationPolicy-
。domain-id
{ "Version": "2012-10-17", "Statement": [ { "Sid": "CreateAPIs", "Effect": "Allow", "Action": "sagemaker:Create*", "NotResource": [ "arn:aws:sagemaker:*:*:domain/*", "arn:aws:sagemaker:*:*:user-profile/*", "arn:aws:sagemaker:*:*:space/*" ] }, { "Sid": "ResourceAccessRequireDomainTag", "Effect": "Allow", "Action": [ "sagemaker:Update*", "sagemaker:Delete*", "sagemaker:Describe*" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/sagemaker:domain-arn": "
domain-arn
" } } }, { "Sid": "AllowActionsThatDontSupportTagging", "Effect": "Allow", "Action": [ "sagemaker:DescribeImageVersion", "sagemaker:UpdateImageVersion", "sagemaker:DeleteImageVersion", "sagemaker:DescribeModelCardExportJob", "sagemaker:DescribeAction" ], "Resource": "*" }, { "Sid": "DeleteDefaultApp", "Effect": "Allow", "Action": "sagemaker:DeleteApp", "Resource": "arn:aws:sagemaker:*:*:app/domain-id
/*/jupyterserver/default" } ] } -
使用
StudioDomainResourceIsolationPolicy-
檔案建立新的IAM政策。domain-id
aws iam create-policy --policy-name
StudioDomainResourceIsolationPolicy-
--policy-document file://domain-id
StudioDomainResourceIsolationPolicy-
domain-id
-
將新建立的政策連接至用作網域執行角色的新角色或現有角色。
aws iam attach-role-policy --policy-arn arn:aws:iam:
account-id
:policy/StudioDomainResourceIsolationPolicy-
--role-namedomain-id
domain-execution-role