Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Peran IAM dan referensi izin
Peran IAM untuk penilaian
Untuk menjalankan penilaian, Resilience Hub generasi berikutnya harus dapat mengambil peran IAM dengan sejumlah izin hanya-baca untuk menemukan dan memahami konfigurasi sumber daya Anda. AWS
Anda dapat membuat peran IAM di konsol AWS 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, pilih kebijakan AWSResilienceHubAsssessmentExecutionPolicy terkelola dan kebijakan ReadOnlyAccess terkelola. ReadOnlyAccessKebijakan ini diperlukan untuk kinerja terbaik dari penilaian mode kegagalan.
Peran IAM Service-Linked
Resilience Hub generasi berikutnya secara otomatis membuat Service-Linked Peran dengan kebijakan AWSResilienceHubServiceRolePolicy terkelola. Peran ini hanya diperlukan untuk dukungan AWS Organizations.
Izin akses file status Terraform
Jika Anda menyertakan file status Terraform ke dalam layanan Hub Ketahanan 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 kluster Amazon EKS ke dalam layanan Next generation Resilience Hub, ikuti proses 3 langkah berikut untuk memberikan izin Resilience Hub generasi berikutnya untuk membaca data konfigurasi kluster Amazon EKS Anda menggunakan kontrol akses berbasis peran Kubernetes (RBAC).
Langkah 1: Terapkan yang berikut ini ke cluster Amazon EKS Anda
Ini memberi Next generation Resilience Hub akses read-only ke resource Kubernetes yang dibutuhkan di semua namespace:
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 entri akses. 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-namecluster-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 ConfigMap aws-auth sebagai gantinya:
Menggunakan eksctl:
eksctl create iamidentitymapping \ --clustercluster-name\ --regionregion\ --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 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-namecluster-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"