Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Autorizzazioni e ruoli IAM richiesti
AWS policy gestita
Puoi collegarli AWSResilienceHubV2AssessmentExecutionPolicy alle tue identità IAM. Durante l'esecuzione di una valutazione, questa policy concede autorizzazioni di accesso in sola lettura ad altri AWS servizi per l'individuazione, la valutazione e la gestione della resilienza. Per dettagli sulle autorizzazioni incluse in questa policy, consulta AWSResilienceHubV2AssessmentExecutionPolicy.
Ruolo IAM per la valutazione
Per eseguire una valutazione, la prossima generazione di Resilience Hub deve assumere un ruolo IAM con autorizzazioni di sola lettura. Questo ruolo rileva e legge la configurazione delle tue risorse. AWS
Puoi creare un ruolo IAM nella console AWS IAM. Scegli una politica di fiducia personalizzata e utilizza una politica di fiducia come questa:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "resiliencehub.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": {} } ] }
Per le autorizzazioni, scegli la politica AWSResilienceHubV2AssessmentExecutionPolicy gestita e la politica ReadOnlyAccess gestita. La ReadOnlyAccess policy è necessaria per garantire le migliori prestazioni della valutazione della modalità di errore.
Service-Linked Ruolo IAM
Resilience Hub di nuova generazione crea automaticamente un Service-Linked ruolo con la policy AWSResilienceHubServiceRolePolicy gestita. Questo ruolo è richiesto solo per il supporto di AWS Organizations.
Autorizzazioni di accesso ai file dello stato di Terraform
Se includi file di stato Terraform nel tuo servizio Resilience Hub di nuova generazione, fornisci le autorizzazioni per leggere i file Terraform dal tuo bucket Amazon S3 con una policy come questa:
{ "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" } ] }
Autorizzazioni Amazon EKS
Se includi cluster Amazon EKS nel tuo servizio Resilience Hub di nuova generazione, segui la seguente procedura in tre fasi per fornire le autorizzazioni di Resilience Hub di nuova generazione per leggere i dati di configurazione per i tuoi cluster Amazon EKS utilizzando il controllo degli accessi basato sui ruoli (RBAC) di Kubernetes.
Fase 1: applica quanto segue al tuo cluster Amazon EKS
Ciò garantisce a Resilience Hub di nuova generazione l'accesso in sola lettura alle risorse Kubernetes di cui ha bisogno su tutti i 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
Fase 2: mappare il ruolo IAM al gruppo Kubernetes
Mappa il ruolo IAM che hai creato sul gruppo Kubernetes. resilience-hub-eks-access-group Puoi utilizzare le voci di accesso di Amazon EKS (consigliato) o il aws-auth ConfigMap.
Opzione A: utilizzo delle voci di accesso EKS (consigliato)
Le voci di accesso EKS sono il metodo preferito per gestire l'autenticazione del cluster. Il cluster deve utilizzare la modalità di API_AND_CONFIG_MAP autenticazione API o.
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"]'
Opzione B: utilizzo di aws-auth ConfigMap
Se il tuo cluster utilizza la modalità di API_AND_CONFIG_MAP autenticazione CONFIG_MAP o, puoi invece modificare aws-auth: ConfigMap
Usando eksctl:
eksctl create iamidentitymapping \ --clustercluster-name\ --regionregion\ --arn arn:aws:iam::ACCOUNT-ID:role/ResilienceHubRole \ --group resilience-hub-eks-access-group \ --username AwsResilienceHubAssessmentEKSAccessRole
Oppure modifica manualmente: ConfigMap
kubectl edit -n kube-system configmap/aws-auth
Aggiungilo mapRoles nella sezione dati:
- groups: - resilience-hub-eks-access-group rolearn: arn:aws:iam::ACCOUNT-ID:role/ResilienceHubRole username: AwsResilienceHubAssessmentEKSAccessRole
Fase 3: Verifica
Verifica che le risorse RBAC esistano e che la mappatura dei ruoli sia attiva:
kubectl get clusterrole resilience-hub-eks-access-cluster-role kubectl describe clusterrolebinding resilience-hub-eks-access-cluster-role-binding
Se si utilizzano le voci di accesso (opzione A):
aws eks describe-access-entry \ --cluster-namecluster-name\ --principal-arn arn:aws:iam::ACCOUNT-ID:role/ResilienceHubRole
Se si utilizza aws-auth ConfigMap (Opzione B):
kubectl get configmap aws-auth -n kube-system -o yaml | grep -A 3 "ResilienceHubRole"