기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
필수 IAM 권한 및 역할
AWS 관리형 정책
AWSResilienceHubV2AssessmentExecutionPolicy을 IAM 자격 증명에 연결할 수 있습니다. 평가를 실행하는 동안이 정책은 복원력 검색, 평가 및 관리를 위해 다른 AWS 서비스에 읽기 전용 액세스 권한을 부여합니다. 이 정책에 포함된 권한에 대한 자세한 내용은 AWSResilienceHubV2AssessmentExecutionPolicy 섹션을 참조하세요.
참고
는 이전를 차세대 Resilience HubAWSResilienceHubAsssessmentExecutionPolicy와 대체AWSResilienceHubV2AssessmentExecutionPolicy합니다.
복원력 테스트를 사용하는 경우 AWSResilienceHubResilienceTestingPolicy 관리형 정책도 연결합니다. 이 정책은 사용자를 대신하여 실험을 시작하고 관리하는 데 필요한 AWS Fault Injection Service (AWS FIS) 권한을 Resilience Hub에 부여합니다. 이 정책에 포함된 권한에 대한 자세한 내용은 AWSResilienceHubResilienceTestingPolicy 섹션을 참조하세요.
참고
계정에서 관리형 정책을 사용할 수 없는 경우 동일한 권한으로 인라인 정책을 생성합니다. 정책 내용은 섹션을 참조하세요AWSResilienceHubResilienceTestingPolicy.
평가 및 복원력 테스트를 위한 IAM 역할
평가 또는 복원력 테스트를 실행하려면 차세대 Resilience Hub가 필요한 권한이 있는 IAM 역할을 수임해야 합니다. 이 역할은 리소스의 AWS 구성을 검색하고 읽으며, 복원력 테스트가 활성화되면가 AWS FIS 사용자를 대신하여 실험을 시작하고 관리합니다.
이 역할을 생성하거나 구성하는 방법에는 두 가지가 있습니다.
-
새 서비스 역할 생성(권장) - 차세대 Resilience Hub 콘솔에서 서비스를 생성하거나 편집할 때 권한 모델에서 새 역할 생성을 선택할 수 있습니다. 콘솔은 올바른 신뢰 정책을 사용하여 IAM 역할을 자동으로 생성하고
AWSResilienceHubV2AssessmentExecutionPolicy관리형 정책을 연결합니다. -
기존 서비스 역할 사용 - 이미 역할이 구성되어 있거나 콘솔 외부에서 역할을 생성하려면 기존 서비스 역할 사용을 선택합니다. 그런 다음 목록에서 역할을 선택하고 역할에 아래에 설명된 필수 신뢰 정책 및 권한이 있는지 확인합니다.
수동으로 역할 생성
역할을 수동으로 생성하려면 IAM 콘솔을 엽니다. 사용자 지정 신뢰 정책을 선택하고 다음과 같은 신뢰 정책을 사용합니다.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "resiliencehub.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": {} } ] }
권한의 경우 AWSResilienceHubV2AssessmentExecutionPolicy 관리형 정책을 연결합니다. 복원력 테스트를 사용하는 경우 AWSResilienceHubResilienceTestingPolicy 관리형 정책도 연결합니다.
IAM 서비스 연결 역할
차세대 Resilience Hub는 AWSResilienceHubServiceRolePolicy 관리형 정책을 사용하여 서비스 연결 역할을 자동으로 생성합니다.
Terraform 상태 파일 액세스 권한
차세대 Resilience Hub 서비스에 Terraform 상태 파일을 포함하는 경우 다음과 같은 정책을 사용하여 Amazon S3 버킷에서 Terraform 파일을 읽을 수 있는 권한을 제공합니다.
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:GetObject", "Resource": "arn:aws:s3:::s3-bucket-name/path-to-state-file" }, { "Effect": "Allow", "Action": "s3:ListBucket", "Resource": "arn:aws:s3:::s3-bucket-name" } ] }
Amazon EKS 권한
차세대 Resilience Hub 서비스에 Amazon EKS 클러스터를 포함하는 경우 다음 3단계 프로세스에 따라 Kubernetes 역할 기반 액세스 제어(RBAC)를 사용하여 Amazon EKS 클러스터의 구성 데이터를 읽을 수 있는 차세대 Resilience Hub 권한을 제공합니다.
1단계: Amazon EKS 클러스터에 다음 적용
이렇게 하면 모든 네임스페이스에서 필요한 Kubernetes 리소스에 대한 차세대 Resilience Hub 읽기 전용 액세스 권한이 부여됩니다.
cat << EOF | kubectl apply -f - apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: resilience-hub-eks-access-cluster-role rules: - apiGroups: - "" resources: - pods - replicationcontrollers - nodes - services verbs: - get - list - apiGroups: - apps resources: - deployments - replicasets verbs: - get - list - apiGroups: - policy resources: - poddisruptionbudgets verbs: - get - list - apiGroups: - autoscaling.k8s.io resources: - verticalpodautoscalers verbs: - get - list - apiGroups: - autoscaling resources: - horizontalpodautoscalers verbs: - get - list - apiGroups: - karpenter.sh resources: - provisioners - nodepools verbs: - get - list - apiGroups: - karpenter.k8s.aws resources: - awsnodetemplates - ec2nodeclasses verbs: - get - list --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: resilience-hub-eks-access-cluster-role-binding subjects: - kind: Group name: resilience-hub-eks-access-group apiGroup: rbac.authorization.k8s.io roleRef: kind: ClusterRole name: resilience-hub-eks-access-cluster-role apiGroup: rbac.authorization.k8s.io --- EOF
2단계: IAM 역할을 Kubernetes 그룹에 매핑
생성한 IAM 역할을 resilience-hub-eks-access-group Kubernetes 그룹에 매핑합니다. Amazon EKS 액세스 항목(권장) 또는 aws-auth ConfigMap을 사용할 수 있습니다.
옵션 A: EKS 액세스 항목 사용(권장)
EKS 액세스 항목은 클러스터 인증을 관리하는 데 선호되는 방법입니다. 클러스터는 API 또는 API_AND_CONFIG_MAP 인증 모드를 사용해야 합니다.
aws eks create-access-entry \ --cluster-namecluster-name\ --principal-arn arn:aws:iam::ACCOUNT-ID:role/ResilienceHubRole \ --type STANDARD \ --kubernetes-groups '["resilience-hub-eks-access-group"]'
옵션 B: aws-auth ConfigMap 사용
클러스터가 CONFIG_MAP 또는 API_AND_CONFIG_MAP 인증 모드를 사용하는 경우 대신 aws-auth ConfigMap을 편집할 수 있습니다.
eksctl 사용:
eksctl create iamidentitymapping \ --clustercluster-name\ --regionregion\ --arn arn:aws:iam::ACCOUNT-ID:role/ResilienceHubRole \ --group resilience-hub-eks-access-group \ --username AwsResilienceHubAssessmentEKSAccessRole
또는 ConfigMap을 수동으로 편집합니다.
kubectl edit -n kube-system configmap/aws-auth
데이터 섹션의 mapRoles 아래에 이를 추가합니다.
- groups: - resilience-hub-eks-access-group rolearn: arn:aws:iam::ACCOUNT-ID:role/ResilienceHubRole username: AwsResilienceHubAssessmentEKSAccessRole
3단계: 확인
RBAC 리소스가 존재하고 역할 매핑이 있는지 확인합니다.
kubectl get clusterrole resilience-hub-eks-access-cluster-role kubectl describe clusterrolebinding resilience-hub-eks-access-cluster-role-binding
액세스 항목을 사용하는 경우(옵션 A):
aws eks describe-access-entry \ --cluster-namecluster-name\ --principal-arn arn:aws:iam::ACCOUNT-ID:role/ResilienceHubRole
aws-auth ConfigMap(옵션 B)을 사용하는 경우:
kubectl get configmap aws-auth -n kube-system -o yaml | grep -A 3 "ResilienceHubRole"