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 la scoperta, la valutazione e la gestione della resilienza. Per dettagli sulle autorizzazioni incluse in questa policy, consulta AWSResilienceHubV2AssessmentExecutionPolicy.
Nota
AWSResilienceHubV2AssessmentExecutionPolicySostituisce il precedente AWSResilienceHubAsssessmentExecutionPolicy per l'uso con la nuova generazione di Resilience Hub.
Se utilizzi i test di resilienza, allega anche la AWSResilienceHubResilienceTestingPolicy policy gestita. Questa policy concede a Resilience Hub le autorizzazioni AWS Fault Injection Service (AWS FIS) necessarie per avviare e gestire gli esperimenti per tuo conto. Per dettagli sulle autorizzazioni incluse in questa policy, consulta AWSResilienceHubResilienceTestingPolicy.
Nota
Se la policy gestita non è disponibile nel tuo account, crea una policy in linea con le stesse autorizzazioni. Per i contenuti della politica, consulta. AWSResilienceHubResilienceTestingPolicy
Ruolo IAM per la valutazione e i test di resilienza
Per eseguire una valutazione o un test di resilienza, la prossima generazione di Resilience Hub deve assumere un ruolo IAM con le autorizzazioni richieste. Questo ruolo rileva e legge la configurazione delle tue AWS risorse e, quando il test di resilienza è abilitato, avvia e gestisce AWS FIS gli esperimenti per tuo conto.
Esistono due modi per creare o configurare questo ruolo:
-
Crea un nuovo ruolo di servizio (consigliato): quando crei o modifichi un servizio nella console Resilience Hub di nuova generazione, puoi scegliere Crea nuovo ruolo nel modello di autorizzazione. La console crea automaticamente un ruolo IAM con la policy di fiducia corretta e allega la policy
AWSResilienceHubV2AssessmentExecutionPolicygestita. -
Usa un ruolo di servizio esistente: se hai già un ruolo configurato o se preferisci creare ruoli all'esterno della console, scegli Usa un ruolo di servizio esistente. Quindi scegli il ruolo dall'elenco e assicurati che il ruolo disponga della politica di fiducia e delle autorizzazioni richieste descritte di seguito.
Creazione manuale del ruolo
Per creare il ruolo manualmente, apri la console 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, allega la politica AWSResilienceHubV2AssessmentExecutionPolicy gestita. Se utilizzi i test di resilienza, allega anche la policy AWSResilienceHubResilienceTestingPolicy gestita.
Ruolo IAM Service-Linked
Resilience Hub di nuova generazione crea automaticamente un Service-Linked ruolo con la policy AWSResilienceHubServiceRolePolicy gestita.
Autorizzazioni di accesso ai file di stato 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 politica 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 3 fasi per fornire le autorizzazioni 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 di Kubernetes (RBAC).
Fase 1: Applica quanto segue al tuo cluster Amazon EKS
Ciò garantisce al Resilience Hub di nuova generazione l'accesso in sola lettura alle risorse Kubernetes di cui ha bisogno in 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: Associa il ruolo IAM al gruppo Kubernetes
Associa il ruolo IAM che hai creato al 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 (consigliata)
Le voci di accesso EKS sono il metodo preferito per gestire l'autenticazione del cluster. Il cluster deve utilizzare la API nostra modalità di API_AND_CONFIG_MAP autenticazione.
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 CONFIG_MAP la nostra modalità di API_AND_CONFIG_MAP autenticazione, 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
Conferma che le risorse RBAC esistono 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"