View a markdown version of this page

Izin dan peran IAM yang diperlukan - AWS Pusat Ketahanan

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Izin dan peran IAM yang diperlukan

AWS kebijakan yang dikelola

Anda dapat melampirkan AWSResilienceHubV2AssessmentExecutionPolicy ke identitas IAM Anda. Saat menjalankan penilaian, kebijakan ini memberikan izin akses baca-saja ke AWS layanan lain untuk penemuan, penilaian, dan manajemen ketahanan. Untuk detail tentang izin yang disertakan dalam kebijakan ini, lihatAWSResilienceHubV2AssessmentExecutionPolicy.

catatan

Ini AWSResilienceHubV2AssessmentExecutionPolicy menggantikan yang sebelumnya AWSResilienceHubAsssessmentExecutionPolicy untuk digunakan dengan Resilience Hub generasi berikutnya.

Jika Anda menggunakan pengujian ketahanan, lampirkan juga kebijakan ter AWSResilienceHubResilienceTestingPolicy kelola. Kebijakan ini memberikan Resilience Hub izin AWS Fault Injection Service (AWS FIS) yang diperlukan untuk memulai dan mengelola eksperimen atas nama Anda. Untuk detail tentang izin yang disertakan dalam kebijakan ini, lihatAWSResilienceHubResilienceTestingPolicy.

catatan

Jika kebijakan terkelola tidak tersedia di akun Anda, buat kebijakan sebaris dengan izin yang sama. Untuk isi kebijakan, lihatAWSResilienceHubResilienceTestingPolicy.

Peran IAM untuk penilaian dan pengujian ketahanan

Untuk menjalankan penilaian atau uji ketahanan, generasi Resilience Hub berikutnya harus mengambil peran IAM dengan izin yang diperlukan. Peran ini menemukan dan membaca konfigurasi sumber AWS daya Anda, dan — ketika pengujian ketahanan diaktifkan — memulai dan mengelola AWS FIS eksperimen atas nama Anda.

Ada dua cara untuk membuat atau mengkonfigurasi peran ini:

  • Buat peran layanan baru (disarankan) — Saat Anda membuat atau mengedit layanan di konsol Resilience Hub generasi berikutnya, Anda dapat memilih Buat peran baru di bawah Model Izin. Konsol secara otomatis membuat peran IAM dengan kebijakan kepercayaan yang benar dan melampirkan kebijakan terkel AWSResilienceHubV2AssessmentExecutionPolicy ola.

  • Gunakan peran layanan yang ada — Jika Anda sudah memiliki peran yang dikonfigurasi, atau jika Anda lebih suka membuat peran di luar konsol, pilih Gunakan peran layanan yang ada. Kemudian pilih peran dari daftar dan pastikan bahwa peran tersebut memiliki kebijakan kepercayaan dan izin yang diperlukan yang dijelaskan di bawah ini.

Membuat peran secara manual

Untuk membuat peran secara manual, buka konsol IAM. Pilih Kebijakan kepercayaan khusus dan gunakan kebijakan kepercayaan seperti ini:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "resiliencehub.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": {} } ] }

Untuk izin, lampirkan kebijakan AWSResilienceHubV2AssessmentExecutionPolicy terkelola. Jika Anda menggunakan pengujian ketahanan, lampirkan juga kebijakan ter AWSResilienceHubResilienceTestingPolicy kelola.

Peran IAM Service-Linked

Resilience Hub generasi berikutnya secara otomatis membuat Service-Linked Peran dengan kebijakan AWSResilienceHubServiceRolePolicy terkelola.

Izin akses file status terraform

Jika Anda menyertakan file status Terraform ke dalam layanan Resilience Hub generasi berikutnya, berikan izin untuk membaca file Terraform dari bucket Amazon S3 Anda dengan kebijakan seperti ini:

{ "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" } ] }

Izin Amazon EKS

Jika Anda menyertakan cluster Amazon EKS ke dalam layanan Resilience Hub generasi berikutnya, ikuti proses 3 langkah berikut untuk memberikan izin Resilience Hub generasi berikutnya untuk membaca data konfigurasi untuk cluster Amazon EKS menggunakan kontrol akses berbasis peran (RBAC) Kubernetes.

Langkah 1: Terapkan yang berikut ini ke cluster Amazon EKS Anda

Ini memberikan akses read-only Hub Resilience Hub generasi berikutnya ke sumber daya Kubernetes yang dibutuhkannya di semua ruang nama:

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

Langkah 2: Petakan peran IAM ke grup Kubernetes

Petakan peran IAM yang Anda buat ke grup resilience-hub-eks-access-group Kubernetes. Anda dapat menggunakan entri akses Amazon EKS (disarankan) atau aws-auth ConfigMap.

Opsi A: Menggunakan entri akses EKS (disarankan)

Entri akses EKS adalah metode yang disukai untuk mengelola otentikasi cluster. Cluster Anda harus menggunakan API atau mode API_AND_CONFIG_MAP otentikasi.

aws eks create-access-entry \ --cluster-name cluster-name \ --principal-arn arn:aws:iam::ACCOUNT-ID:role/ResilienceHubRole \ --type STANDARD \ --kubernetes-groups '["resilience-hub-eks-access-group"]'

Opsi B: Menggunakan aws-auth ConfigMap

Jika cluster Anda menggunakan CONFIG_MAP atau mode API_AND_CONFIG_MAP otentikasi, Anda dapat mengedit aws-aut ConfigMap h sebagai gantinya:

Menggunakan eksctl:

eksctl create iamidentitymapping \ --cluster cluster-name \ --region region \ --arn arn:aws:iam::ACCOUNT-ID:role/ResilienceHubRole \ --group resilience-hub-eks-access-group \ --username AwsResilienceHubAssessmentEKSAccessRole

Atau edit secara manual ConfigMap:

kubectl edit -n kube-system configmap/aws-auth

Tambahkan ini mapRoles di bawah di bagian data:

- groups: - resilience-hub-eks-access-group rolearn: arn:aws:iam::ACCOUNT-ID:role/ResilienceHubRole username: AwsResilienceHubAssessmentEKSAccessRole

Langkah 3: Verifikasi

Konfirmasikan bahwa sumber daya RBAC ada dan pemetaan peran sudah ada:

kubectl get clusterrole resilience-hub-eks-access-cluster-role kubectl describe clusterrolebinding resilience-hub-eks-access-cluster-role-binding

Jika menggunakan entri akses (Opsi A):

aws eks describe-access-entry \ --cluster-name cluster-name \ --principal-arn arn:aws:iam::ACCOUNT-ID:role/ResilienceHubRole

Jika menggunakan aws-auth ConfigMap (Opsi B):

kubectl get configmap aws-auth -n kube-system -o yaml | grep -A 3 "ResilienceHubRole"