本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
設定 Studio 的政策和許可
您必須先安裝適當的政策和許可,才能排程第一次筆記本執行。下列提供設定下列許可的指示:
-
工作執行角色信任關係
-
附加至任務執行角色的其他IAM許可
-
(選用) 使用自訂KMS金鑰的 AWS KMS 許可政策
重要
如果 AWS 您的帳戶屬於具有服務控制政策 (SCP) 的組織,則您的有效許可是 允許的邏輯交集,SCPs以及IAM角色和使用者政策允許的交集。例如,如果組織的 SCP指定您只能存取 us-east-1
和 中的資源us-west-1
,而您的政策僅允許您存取 us-west-1
和 中的資源us-west-2
,則最終您只能存取 中的資源us-west-1
。如果您想要執行角色和使用者政策中允許的所有許可,組織的 SCPs應授予與您自己的IAM使用者和角色政策相同的許可集。如需與如何判斷請求是否得到允許相關的詳細資訊,請參閱確定帳戶內是否允許或拒絕請求。
信任關係
若要修改信任關係,請完成下列步驟:
-
開啟IAM主控台
。 -
在左側面板中,選取角色。
-
尋找筆記本工作的工作執行角色,並選擇角色名稱。
-
選擇信任關係標籤。
-
選擇編輯信任政策。
-
複製並貼上下方政策:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "sagemaker.amazonaws.com" }, "Action": "sts:AssumeRole" }, { "Effect": "Allow", "Principal": { "Service": "events.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
-
選擇更新政策。
其他IAM許可
在下列情況中,您可能需要包含其他IAM許可:
-
您的 Studio 執行與筆記本工作角色不同
-
您需要透過 Amazon S3 S3 資源 VPC
-
您想要使用自訂KMS金鑰來加密輸入和輸出 Amazon S3 儲存貯體
以下討論內容提供了每個案例所需的政策。
您的 Studio 執行與筆記本工作角色不同時需要的許可
下列程式碼片段是範例政策,如果您不使用 Studio JSON 執行角色作為筆記本任務角色,則應將其新增至 Studio 執行和筆記本任務角色。如果您需要進一步限制許可,請檢閱並修改此政策。
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":"iam:PassRole", "Resource":"arn:aws:iam::*:role/*", "Condition":{ "StringLike":{ "iam:PassedToService":[ "sagemaker.amazonaws.com", "events.amazonaws.com" ] } } }, { "Effect":"Allow", "Action":[ "events:TagResource", "events:DeleteRule", "events:PutTargets", "events:DescribeRule", "events:PutRule", "events:RemoveTargets", "events:DisableRule", "events:EnableRule" ], "Resource":"*", "Condition":{ "StringEquals":{ "aws:ResourceTag/sagemaker:is-scheduling-notebook-job":"true" } } }, { "Effect":"Allow", "Action":[ "s3:CreateBucket", "s3:PutBucketVersioning", "s3:PutEncryptionConfiguration" ], "Resource":"arn:aws:s3:::sagemaker-automated-execution-*" }, { "Sid": "S3DriverAccess", "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetObject", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::sagemakerheadlessexecution-*" ] }, { "Effect":"Allow", "Action":[ "sagemaker:ListTags" ], "Resource":[ "arn:aws:sagemaker:*:*:user-profile/*", "arn:aws:sagemaker:*:*:space/*", "arn:aws:sagemaker:*:*:training-job/*", "arn:aws:sagemaker:*:*:pipeline/*" ] }, { "Effect":"Allow", "Action":[ "sagemaker:AddTags" ], "Resource":[ "arn:aws:sagemaker:*:*:training-job/*", "arn:aws:sagemaker:*:*:pipeline/*" ] }, { "Effect":"Allow", "Action":[ "ec2:CreateNetworkInterface", "ec2:CreateNetworkInterfacePermission", "ec2:CreateVpcEndpoint", "ec2:DeleteNetworkInterface", "ec2:DeleteNetworkInterfacePermission", "ec2:DescribeDhcpOptions", "ec2:DescribeNetworkInterfaces", "ec2:DescribeRouteTables", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeVpcEndpoints", "ec2:DescribeVpcs", "ecr:BatchCheckLayerAvailability", "ecr:BatchGetImage", "ecr:GetDownloadUrlForLayer", "ecr:GetAuthorizationToken", "s3:ListBucket", "s3:GetBucketLocation", "s3:GetEncryptionConfiguration", "s3:PutObject", "s3:DeleteObject", "s3:GetObject", "sagemaker:DescribeApp", "sagemaker:DescribeDomain", "sagemaker:DescribeUserProfile", "sagemaker:DescribeSpace", "sagemaker:DescribeStudioLifecycleConfig", "sagemaker:DescribeImageVersion", "sagemaker:DescribeAppImageConfig", "sagemaker:CreateTrainingJob", "sagemaker:DescribeTrainingJob", "sagemaker:StopTrainingJob", "sagemaker:Search", "sagemaker:CreatePipeline", "sagemaker:DescribePipeline", "sagemaker:DeletePipeline", "sagemaker:StartPipelineExecution" ], "Resource":"*" } ] }
透過 Amazon S3 S3 資源所需的許可 VPC
如果您在私有VPC模式下執行 SageMaker Studio,並透過 S3 VPC端點存取 S3,則可以將許可新增至VPC端點政策,以控制可透過VPC端點存取哪些 S3 資源。將下列許可新增至您的VPC端點政策。如果您需要進一步限制許可,可以修改政策,例如,您可以為 Principal
欄位提供更狹窄的規格。
{ "Sid": "S3DriverAccess", "Effect": "Allow", "Principal": "*", "Action": [ "s3:GetBucketLocation", "s3:GetObject", "s3:ListBucket" ], "Resource": "arn:aws:s3:::sagemakerheadlessexecution-*" }
如需如何設定 S3 VPC端點政策的詳細資訊,請參閱編輯VPC端點政策。
使用自訂KMS金鑰所需的許可 (選用)
根據預設,輸入和輸出 Amazon S3 儲存貯體會使用伺服器端加密進行加密,但您可以指定自訂KMS金鑰來加密輸出 Amazon S3 儲存貯體中的資料,以及連接至筆記本任務的儲存磁碟區。
如果您想要使用自訂KMS金鑰,請連接下列政策並提供您自己的KMS金鑰 ARN。
{ "Version": "2012-10-17", "Statement": [ { "Effect":"Allow", "Action":[ "kms:Encrypt", "kms:Decrypt", "kms:ReEncrypt*", "kms:GenerateDataKey*", "kms:DescribeKey", "kms:CreateGrant" ], "Resource":"
your_KMS_key_ARN
" } ] }