AWS Identity and Access Management ... 에 대한 SageMaker HyperPod - Amazon SageMaker

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

AWS Identity and Access Management ... 에 대한 SageMaker HyperPod

AWS Identity and Access Management (IAM) 는 AWS 관리자가 다음 항목에 대한 액세스를 안전하게 제어할 수 있도록 도와주는 서비스입니다. AWS 있습니다. IAM관리자는 Amazon EKS 리소스를 사용할 수 있는 인증 (로그인) 및 권한 부여 (권한 보유) 를 받을 수 있는 사용자를 제어합니다. IAM는 AWS 추가 비용 없이 사용할 수 있는 서비스입니다.

중요

Amazon SageMaker Studio 또는 Amazon SageMaker Studio Classic에서 Amazon SageMaker 리소스를 생성할 수 있도록 허용하는 사용자 지정 IAM 정책은 해당 리소스에 태그를 추가할 권한도 부여해야 합니다. Studio 및 Studio Classic은 생성한 모든 리소스에 자동으로 태그를 지정하므로 리소스에 태그를 추가할 수 있는 권한이 필요합니다. IAM정책에 따라 Studio 및 Studio Classic에서는 리소스를 생성할 수 있지만 태깅은 허용하지 않는 경우 AccessDenied "“리소스를 만들려고 할 때 오류가 발생할 수 있습니다. 자세한 내용은 리소스에 태그를 지정할 SageMaker 수 있는 권한 제공 단원을 참조하십시오.

AWS Amazon용 관리형 정책 SageMaker SageMaker 리소스를 생성할 수 있는 권한을 부여하는 경우 해당 리소스를 생성하는 동안 태그를 추가할 수 있는 권한이 이미 포함되어 있습니다.

두 개의 기본 사용자 계층, 즉 클러스터 관리자 SageMaker HyperPod 사용자와 데이터 과학자 사용자가 있다고 가정해 보겠습니다.

  • 클러스터 관리자 - SageMaker HyperPod 클러스터를 만들고 관리하는 역할을 담당합니다. 여기에는 클러스터 구성 및 HyperPod 클러스터에 대한 사용자 액세스 관리가 포함됩니다.

    • Slurm 또는 Amazon을 사용하여 SageMaker HyperPod 클러스터를 생성하고 구성합니다. EKS

    • 데이터 사이언티스트 사용자 및 HyperPod 클러스터 리소스의 IAM 역할을 생성하고 구성합니다.

    • Amazon과의 SageMaker HyperPod 오케스트레이션을 위해 EKS액세스 항목EKS, 역할 기반 액세스 제어 (RBAC) 및 Pod Identity를 생성하고 구성하여 데이터 과학 사용 사례를 충족하십시오.

  • 데이터 사이언티스트 사용자 — ML 모델 교육에 집중하세요. 이들은 오픈 소스 오케스트레이터나 SageMaker HyperPod CLI 를 사용하여 교육 작업을 제출하고 관리합니다.

    • 클러스터 관리자가 제공하는 IAM 역할을 맡아 사용하세요.

    • SageMaker HyperPod(Slurm 또는 Kubernetes) 또는 에서 CLIs 지원하는 오픈 소스 오케스트레이터와 상호 작용하여 클러스터 용량을 확인하고 SageMaker HyperPod CLI 클러스터에 연결하고 워크로드를 제출하십시오.

클러스터를 운영하는 데 적합한 IAM 권한 또는 정책을 추가하여 클러스터 관리자의 역할을 설정합니다. SageMaker HyperPod 또한 클러스터 관리자는 리소스를 맡아 실행하고 필요한 IAM 사람들과 소통할 수 있도록 SageMaker HyperPod 리소스에 제공할 역할을 만들어야 합니다. AWS 리소스 (예: 아마존 S3 CloudWatch, 아마존 및 AWS Systems Manager (SSM). 마지막으로, AWS 계정 관리자 또는 클러스터 관리자는 과학자에게 SageMaker HyperPod 클러스터에 액세스하고 ML 워크로드를 실행할 수 있는 권한을 부여해야 합니다.

어떤 오케스트레이터를 선택하느냐에 따라 클러스터 관리자와 과학자에게 필요한 권한이 달라질 수 있습니다. 또한 서비스별 조건 키를 사용하여 역할의 다양한 작업에 대한 권한 범위를 제어할 수 있습니다. 관련된 서비스의 세부 범위를 추가하려면 다음 서비스 권한 부여 참조를 사용하십시오 SageMaker HyperPod.

IAM클러스터 관리자 사용자

클러스터 관리자 (관리자) 는 SageMaker HyperPod 클러스터를 운영 및 구성하여 에서 작업을 수행합니다. SageMaker HyperPod 작업 다음 정책 예에는 클러스터 관리자가 SageMaker HyperPod 코어를 APIs 실행하고 내에서 SageMaker HyperPod 클러스터를 관리할 수 있는 최소 권한 집합이 포함되어 있습니다. AWS 계정.

Slurm
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "sagemaker:CreateCluster", "sagemaker:ListClusters" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "sagemaker:DeleteCluster", "sagemaker:DescribeCluster", "sagemaker:DescribeClusterNode", "sagemaker:ListClusterNodes", "sagemaker:UpdateCluster", "sagemaker:UpdateClusterSoftware" ], "Resource": "arn:aws:sagemaker:region:account-id:cluster/*" } ] }
Amazon EKS
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "iam:PassRole", "Resource": <execution-role-arn> }, { "Effect": "Allow", "Action": [ "sagemaker:CreateCluster", "sagemaker:DeleteCluster", "sagemaker:DescribeCluster", "sagemaker:DescribeCluterNode", "sagemaker:ListClusterNodes", "sagemaker:ListClusters", "sagemaker:UpdateCluster", "sagemaker:UpdateClusterSoftware", "sagemaker:DeleteClusterNodes", "eks:DescribeCluster", "eks:CreateAccessEntry", "eks:DescribeAccessEntry", "eks:DeleteAccessEntry", "eks:AssociateAccessPolicy", "iam:CreateServiceLinkedRole" ], "Resource": "*" } ] }

콘솔에 액세스할 수 있는 권한을 부여하려면 Amazon SageMaker SageMaker 콘솔 사용에 필요한 권한에 제공된 샘플 정책을 사용하십시오.

Amazon EC2 Systems Manager 콘솔에 액세스할 수 있는 권한을 부여하려면 사용 설명서에 제공된 샘플 정책을 사용하십시오. AWS Systems Manager 콘솔: AWS Systems Manager 사용자 가이드.

정책을 역할에 연결하는 것도 고려할 수 있지만 AmazonSageMakerFullAccess정책에서는 전체 SageMaker API 통화, 기능 및 리소스에 대한 권한을 부여한다는 점에 유의하세요. AmazonSageMakerFullAccess

일반적인 IAM 사용자에 대한 지침은 다음 IAM사용자를 참조하십시오. AWS Identity and Access Management 사용자 가이드.

IAM사용자를 위한 과학자

과학자는 클러스터 관리자가 프로비저닝한 SageMaker HyperPod 클러스터 노드에 로그인하여 ML 워크로드를 실행합니다. 소속 과학자를 위한 AWS 계정에 SSM start-session 명령을 실행할 권한을 "ssm:StartSession" 부여해야 합니다. 다음은 IAM 사용자를 위한 정책 예제입니다.

Slurm

다음 정책을 추가하여 모든 리소스의 SSM 대상에 연결할 수 있는 SSM 세션 권한을 부여하십시오. 이렇게 하면 HyperPod 클러스터에 액세스할 수 있습니다.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ssm:StartSession", "ssm:TerminateSession" ], "Resource": "*" } ] }
Amazon EKS

데이터 과학자가 hyperpod connect-cluster 명령 중에서 hyperpod list-clusters 실행하고 명령을 실행할 수 있는 다음 IAM 역할 권한을 부여하십시오. HyperPod CLI 에 대한 자세한 내용은 HyperPod CLI 을 참조하십시오Amazon에서 오케스트레이션한 SageMaker HyperPod 클러스터에서 작업 실행 EKS. 또한 모든 리소스의 SSM 대상에 연결할 수 있는 SSM 세션 권한도 포함됩니다. 이렇게 하면 HyperPod 클러스터에 액세스할 수 있습니다.

{ "Version": "2012-10-17", "Statement": [ { "Sid": "DescribeHyerpodClusterPermissions", "Effect": "Allow", "Action": [ "sagemaker:DescribeCluster" ], "Resource": "<hyperpod-cluster-arn>" }, { "Sid": "UseEksClusterPermissions", "Effect": "Allow", "Action": [ "eks:DescribeCluster", ], "Resource": "<eks-cluster-arn>" }, { "Sid": "ListClustersPermission", "Effect": "Allow", "Action": [ "sagemaker:ListClusters" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ssm:StartSession", "ssm:TerminateSession" ], "Resource": "*" } ] }

데이터 과학자 IAM 사용자 또는 역할에 클러스터의 Kubernetes APIs 액세스 권한을 부여하려면 Amazon User Guide의 IAM사용자 및 역할에 Kubernetes APIs 액세스 권한 부여를 참조하십시오. EKS

IAM역할: SageMaker HyperPod

클러스터를 실행하고 필요한 SageMaker HyperPod 클러스터와 통신하려면 AWS 리소스의 경우 HyperPod 클러스터가 수임할 IAM 역할을 생성해야 합니다.

먼저 관리형 역할을 AWS 관리형 정책: AmazonSageMakerHyperPodServiceRolePolicy 연결하세요. 이 점을 감안하면 AWS 관리형 정책, SageMaker HyperPod 클러스터 인스턴스 그룹은 Amazon CloudWatch, Amazon S3와 통신하는 역할을 맡습니다. AWS Systems Manager 에이전트 (SSM에이전트). 이 관리형 정책은 SageMaker HyperPod 리소스가 제대로 실행되기 위한 최소 요구 사항이므로 이 정책이 포함된 IAM 역할을 모든 인스턴스 그룹에 제공해야 합니다.

작은 정보

여러 인스턴스 그룹의 권한 수준 설계에 대한 선호도에 따라 여러 IAM 역할을 설정하고 이를 다른 인스턴스 그룹에 연결할 수도 있습니다. 특정 SageMaker HyperPod 클러스터 노드에 대한 클러스터 사용자 액세스를 설정하면 수동으로 추가한 선택적 권한이 있는 역할을 노드가 맡습니다.

다음을 통해 과학자가 특정 클러스터 노드에 액세스할 수 있도록 설정하는 경우 AWS Systems Manager(참조클러스터 사용자 액세스 제어를 위해 설정 AWS Systems Manager 및 다른 이름으로 실행) 수동으로 추가한 선택적 권한으로 클러스터 노드가 역할을 맡습니다.

IAM역할 생성을 완료한 후에는 역할 이름과 이름을 기록해 두십시오ARNs. SageMaker HyperPod 클러스터를 생성할 때 역할을 사용하여 각 인스턴스 그룹이 필요한 통신에 필요한 올바른 권한을 부여합니다. AWS 있습니다.

Slurm

HyperPod Orchestrated with Slurm의 경우 다음 관리형 정책을 역할에 연결해야 합니다. SageMaker HyperPod IAM

(선택 사항) Amazon Virtual Private SageMaker HyperPod Cloud와 함께 사용하기 위한 추가 권한

기본값 SageMaker VPC 대신 자체 Amazon Virtual Private Cloud (VPC) 를 사용하려면 의 IAM 역할에 다음과 같은 추가 권한을 추가해야 SageMaker HyperPod 합니다.

{ "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface", "ec2:CreateNetworkInterfacePermission", "ec2:DeleteNetworkInterface", "ec2:DeleteNetworkInterfacePermission", "ec2:DescribeNetworkInterfaces", "ec2:DescribeVpcs", "ec2:DescribeDhcpOptions", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "ec2:DetachNetworkInterface" ], "Resource": "*" } { "Effect": "Allow", "Action": "ec2:CreateTags", "Resource": [ "arn:aws:ec2:*:*:network-interface/*" ] }

다음 목록은 자체 VPC Amazon으로 클러스터를 구성할 때 SageMaker HyperPod 클러스터 기능을 활성화하는 데 필요한 권한을 분류합니다.

  • 다음을 사용하여 SageMaker HyperPod 클러스터를 구성할 수 있도록 하려면 다음 ec2 권한이 필요합니다. VPC

    { "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface", "ec2:CreateNetworkInterfacePermission", "ec2:DeleteNetworkInterface", "ec2:DeleteNetworkInterfacePermission", "ec2:DescribeNetworkInterfaces", "ec2:DescribeVpcs", "ec2:DescribeDhcpOptions", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups" ], "Resource": "*" }
  • SageMaker HyperPod 자동 재개 기능을 활성화하려면 다음 ec2 권한이 필요합니다.

    { "Effect": "Allow", "Action": [ "ec2:DetachNetworkInterface" ], "Resource": "*" }
  • 다음 ec2 권한은 계정 내 네트워크 인터페이스에 태그를 생성할 수 있습니다. SageMaker HyperPod

    { "Effect": "Allow", "Action": "ec2:CreateTags", "Resource": [ "arn:aws:ec2:*:*:network-interface/*" ] }
Amazon EKS

EKSAmazon을 통해 HyperPod 오케스트레이션하려면 다음 관리형 정책을 역할에 연결해야 합니다. SageMaker HyperPod IAM

관리형 정책 외에도 다음 권한 정책을 역할에 추가하십시오.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:AssignPrivateIpAddresses", "ec2:CreateNetworkInterface", "ec2:CreateNetworkInterfacePermission", "ec2:DeleteNetworkInterface", "ec2:DeleteNetworkInterfacePermission", "ec2:DescribeNetworkInterfaces", "ec2:DescribeVpcs", "ec2:DescribeDhcpOptions", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "ec2:DetachNetworkInterface", "ec2:ModifyNetworkInterfaceAttribute", "ec2:UnassignPrivateIpAddresses", "ecr:BatchGetImage", "ecr:GetAuthorizationToken", "ecr:GetDownloadUrlForLayer", "eks-auth:AssumeRoleForPodIdentity" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": [ "arn:aws:ec2:*:*:network-interface/*" ] } ] }
참고

"eks-auth:AssumeRoleForPodIdentity"권한은 선택 사항입니다. EKSPod ID를 사용하려는 경우 필수입니다.

SageMaker HyperPod 서비스 연결 역할

Amazon EKS Support의 SageMaker HyperPod 경우 노드 교체 및 작업 재시작과 AWS 관리형 정책: AmazonSageMakerHyperPodServiceRolePolicy 같은 EKS 클러스터의 복원력을 모니터링하고 지원하는 서비스 연결 역할을 HyperPod 생성합니다.

IAM아마존 정책 EKS