

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 建立和連接 IAM 政策
<a name="sagemaker-hyperpod-multihead-slurm-iam"></a>

本節說明如何建立 IAM 政策，並將其連接至您在[佈建其他資源以支援多個控制器節點](sagemaker-hyperpod-multihead-slurm-cfn.md#sagemaker-hyperpod-multihead-slurm-cfn-multihead)中建立的執行角色。

1. 從 GitHub 儲存庫將 [IAM 政策範例](https://github.com/aws-samples/awsome-distributed-training/blob/main/1.architectures/5.sagemaker-hyperpod/1.AmazonSageMakerClustersExecutionRolePolicy.json)下載到您的電腦。

1. 使用 [create-policy](https://docs.aws.amazon.com//cli/latest/reference/iam/create-policy.html) CLI 命令，搭配下載的範例建立 IAM 政策。

   ```
   aws --region {{us-east-1}} iam create-policy \
       --policy-name {{AmazonSagemakerExecutionPolicy}} \
       --policy-document file://{{1.AmazonSageMakerClustersExecutionRolePolicy.json}}
   ```

   命令的範例輸出。

   ```
   {
       "Policy": {
           "PolicyName": "AmazonSagemakerExecutionPolicy",
           "PolicyId": "ANPAXISIWY5UYZM7WJR4W",
           "Arn": "arn:aws:iam::111122223333:policy/AmazonSagemakerExecutionPolicy",
           "Path": "/",
           "DefaultVersionId": "v1",
           "AttachmentCount": 0,
           "PermissionsBoundaryUsageCount": 0,
           "IsAttachable": true,
           "CreateDate": "2025-01-22T20:01:21+00:00",
           "UpdateDate": "2025-01-22T20:01:21+00:00"
       }
   }
   ```

1. 使用 [attach-role-policy](https://docs.aws.amazon.com//cli/latest/reference/iam/attach-role-policy.html) CLI 命令，將政策 `AmazonSagemakerExecutionPolicy` 連接至您在[佈建其他資源以支援多個控制器節點](sagemaker-hyperpod-multihead-slurm-cfn.md#sagemaker-hyperpod-multihead-slurm-cfn-multihead)中建立的 Slurm 執行角色。

   ```
   aws --region {{us-east-1}} iam attach-role-policy \
       --role-name {{AmazonSagemakerExecutionRole}} \
       --policy-arn {{arn:aws:iam::111122223333:policy/AmazonSagemakerExecutionPolicy}}
   ```

   此命令不會產生任何輸出。

   (選用) 如果您使用環境變數，以下是範例命令。
   + 取得角色名稱和政策名稱 

     ```
     POLICY=$(aws --region $REGION iam list-policies --query 'Policies[?PolicyName==AmazonSagemakerExecutionPolicy].Arn' --output text)
     ROLENAME=$(aws --region $REGION iam list-roles --query "Roles[?Arn=='${SLURM_EXECUTION_ROLE_ARN}'].RoleName" —output text)
     ```
   + 連接政策

     ```
     aws  --region us-east-1 iam attach-role-policy \
          --role-name $ROLENAME --policy-arn $POLICY
     ```

如需詳細資訊，請參閱[SageMaker HyperPod 的 IAM 角色](sagemaker-hyperpod-prerequisites-iam.md#sagemaker-hyperpod-prerequisites-iam-role-for-hyperpod)。