

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 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 policy example](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 명령을 사용하여 [다중 컨트롤러 노드를 지원하는 추가 리소스 프로비저닝](sagemaker-hyperpod-multihead-slurm-cfn.md#sagemaker-hyperpod-multihead-slurm-cfn-multihead)에서 생성한 Slurm 실행 역할에 `AmazonSagemakerExecutionPolicy` 정책을 연결합니다.

   ```
   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) 단원을 참조하십시오.