本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
安裝本機 Jupyter 環境政策和許可
您需要設定必要的許可和政策,以在本機 Jupyter 環境中排程筆記本任務。IAM 使用者需要向 提交任務的許可, SageMaker 以及筆記本任務本身擔任IAM的角色需要存取資源的許可,具體取決於任務。下列將說明如何設定必要的許可和政策。
您需要安裝兩組許可。下圖顯示您在本機 Jupyter 環境中排程筆記本任務的許可結構。IAM 使用者需要設定IAM許可,才能將任務提交至 SageMaker。使用者提交筆記本任務後,任務本身會擔任一個IAM角色,根據任務具有存取資源的許可。
下列各節可協助您為IAM使用者和任務執行角色安裝必要的政策和許可。
IAM 使用者許可
向 提交任務的許可 SageMaker
若要新增提交工作的許可,請完成下列步驟:
-
開啟IAM主控台
。 -
在左側面板中,選取使用者。
-
尋找筆記本任務IAM的使用者,然後選擇使用者名稱。
-
選擇新增許可,然後從下拉式功能表中選擇建立內嵌政策。
-
選擇 JSON 索引標籤。
-
複製並貼上下方政策:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "EventBridgeSchedule", "Effect": "Allow", "Action": [ "events:TagResource", "events:DeleteRule", "events:PutTargets", "events:DescribeRule", "events:EnableRule", "events:PutRule", "events:RemoveTargets", "events:DisableRule" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/sagemaker:is-scheduling-notebook-job": "true" } } }, { "Sid": "IAMPassrole", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::*:role/*", "Condition": { "StringLike": { "iam:PassedToService": [ "sagemaker.amazonaws.com", "events.amazonaws.com" ] } } }, { "Sid": "IAMListRoles", "Effect": "Allow", "Action": "iam:ListRoles", "Resource": "*" }, { "Sid": "S3ArtifactsAccess", "Effect": "Allow", "Action": [ "s3:PutEncryptionConfiguration", "s3:CreateBucket", "s3:PutBucketVersioning", "s3:ListBucket", "s3:PutObject", "s3:GetObject", "s3:GetEncryptionConfiguration", "s3:DeleteObject", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::sagemaker-automated-execution-*" ] }, { "Sid": "S3DriverAccess", "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetObject", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::sagemakerheadlessexecution-*" ] }, { "Sid": "SagemakerJobs", "Effect": "Allow", "Action": [ "sagemaker:DescribeTrainingJob", "sagemaker:StopTrainingJob", "sagemaker:DescribePipeline", "sagemaker:CreateTrainingJob", "sagemaker:DeletePipeline", "sagemaker:CreatePipeline" ], "Resource": "*", "Condition": { "StringEquals": { "aws:ResourceTag/sagemaker:is-scheduling-notebook-job": "true" } } }, { "Sid": "AllowSearch", "Effect": "Allow", "Action": "sagemaker:Search", "Resource": "*" }, { "Sid": "SagemakerTags", "Effect": "Allow", "Action": [ "sagemaker:ListTags", "sagemaker:AddTags" ], "Resource": [ "arn:aws:sagemaker:*:*:pipeline/*", "arn:aws:sagemaker:*:*:space/*", "arn:aws:sagemaker:*:*:training-job/*", "arn:aws:sagemaker:*:*:user-profile/*" ] }, { "Sid": "ECRImage", "Effect": "Allow", "Action": [ "ecr:GetAuthorizationToken", "ecr:BatchGetImage" ], "Resource": "*" } ] }
AWS 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" } ] }
工作執行角色許可
信任關係
若要修改工作執行角色信任關係,請完成下列步驟:
-
開啟IAM主控台
。 -
在左側面板中,選取角色。
-
尋找筆記本工作的工作執行角色,並選擇角色名稱。
-
選擇信任關係標籤。
-
選擇編輯信任政策。
-
複製並貼上下方政策:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "sagemaker.amazonaws.com", "events.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }
額外許可
提交之後,筆記本工作需要許可才能存取資源。下列指示展示如何新增一組最低限度的許可。如有需要,請根據筆記本工作的需要新增更多許可。若要將許可新增至工作執行角色,請完成下列步驟:
-
開啟IAM主控台
。 -
在左側面板中,選取角色。
-
尋找筆記本工作的工作執行角色,並選擇角色名稱。
-
選擇新增許可,然後從下拉式功能表中選擇建立內嵌政策。
-
選擇 JSON 索引標籤。
-
複製並貼上下方政策:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "PassroleForJobCreation", "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::*:role/*", "Condition": { "StringLike": { "iam:PassedToService": "sagemaker.amazonaws.com" } } }, { "Sid": "S3ForStoringArtifacts", "Effect": "Allow", "Action": [ "s3:PutObject", "s3:GetObject", "s3:ListBucket", "s3:GetBucketLocation" ], "Resource": "arn:aws:s3:::sagemaker-automated-execution-*" }, { "Sid": "S3DriverAccess", "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:GetObject", "s3:GetBucketLocation" ], "Resource": [ "arn:aws:s3:::sagemakerheadlessexecution-*" ] }, { "Sid": "SagemakerJobs", "Effect": "Allow", "Action": [ "sagemaker:StartPipelineExecution", "sagemaker:CreateTrainingJob" ], "Resource": "*" }, { "Sid": "ECRImage", "Effect": "Allow", "Action": [ "ecr:GetDownloadUrlForLayer", "ecr:BatchGetImage", "ecr:GetAuthorizationToken", "ecr:BatchCheckLayerAvailability" ], "Resource": "*" } ] }
-
將許可新增至筆記本工作存取的其他資源。
-
選擇檢閱政策。
-
輸入政策的名稱。
-
選擇 建立政策。