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à.
Concedere AWS Resilience Hub l'accesso alle risorse del tuo cluster Amazon EKS
AWS Resilience Hub ti consente di accedere alle risorse situate nei EKS cluster Amazon a condizione che tu abbia configurato le autorizzazioni richieste.
Per concedere le autorizzazioni necessarie AWS Resilience Hub per la scoperta e la valutazione delle risorse all'interno del cluster Amazon EKS
-
Configura un IAM ruolo per accedere al EKS cluster Amazon.
Se hai configurato l'applicazione utilizzando l'accesso basato sui ruoli, puoi saltare questo passaggio e procedere al passaggio 2 e utilizzare il ruolo che avevi usato per creare l'applicazione. Per ulteriori informazioni sull' AWS Resilience Hub utilizzo dei IAM ruoli, consulta. Come funziona AWS Resilience Hub con IAM
Se hai configurato la tua applicazione utilizzando le autorizzazioni IAM utente correnti, devi creare
AwsResilienceHubAssessmentEKSAccessRole
IAM un ruolo nello stesso account del EKS cluster Amazon. Questo IAM ruolo verrà quindi utilizzato durante l'accesso al tuo EKS cluster Amazon.Durante l'importazione e la valutazione della tua applicazione, AWS Resilience Hub utilizza un IAM ruolo per accedere alle risorse nel tuo cluster AmazonEKS. Questo ruolo deve essere creato nello stesso account del tuo EKS cluster Amazon e verrà mappato con un gruppo Kubernetes che include le autorizzazioni richieste per AWS Resilience Hub valutare il tuo cluster Amazon. EKS
Se il tuo EKS cluster Amazon si trova nello stesso account dell'account AWS Resilience Hub chiamante, il ruolo deve essere creato utilizzando la seguente politica di IAM fiducia. In questa politica di IAM fiducia,
caller_IAM_role
viene utilizzato nell'account corrente APIs per chiamare il AWS Resilience Hub.Nota
caller_IAM_role
Questo è il ruolo associato al tuo account AWS utente.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::eks_cluster_account_id:role/caller_IAM_role" }, "Action": "sts:AssumeRole" } ] }
Se il tuo EKS cluster Amazon si trova in un account incrociato (un account diverso dall'account di AWS Resilience Hub chiamata), devi creare il
AwsResilienceHubAssessmentEKSAccessRole
IAM ruolo utilizzando la seguente politica di IAM fiducia:Nota
Come prerequisito, per accedere al EKS cluster Amazon distribuito in un account diverso da quello dell' AWS Resilience Hub utente, devi configurare l'accesso multiaccount. Per ulteriori informazioni, consulta la pagina
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::eks_cluster_account_id:role/AwsResilienceHubExecutorRole" }, "Action": "sts:AssumeRole" } ] }
-
Crea
ClusterRole
eClusterRoleBinding
(oRoleBinding
) ruoli per l'applicazione. AWS Resilience HubCreando
ClusterRole
eClusterRoleBinding
concederai le autorizzazioni di sola lettura necessarie AWS Resilience Hub per analizzare e valutare le risorse che fanno parte di determinati namespace nel tuo cluster Amazon. EKSAWS Resilience Hub ti consente di limitarne l'accesso ai tuoi namespace per generare valutazioni di resilienza completando una delle seguenti operazioni:
-
Concedi all'applicazione l'accesso in lettura su tutti i namespace. AWS Resilience Hub
AWS Resilience Hub Per valutare la resilienza delle risorse in tutti i namespace all'interno di un EKS cluster Amazon, devi creare quanto segue e.
ClusterRole
ClusterRoleBinding
-
resilience-hub-eks-access-cluster-role
(ClusterRole
) — Definisce le autorizzazioni richieste AWS Resilience Hub per valutare il tuo EKS cluster Amazon. -
resilience-hub-eks-access-cluster-role-binding
(ClusterRoleBinding
) — Definisce un gruppo denominatoresilience-hub-eks-access-group
nel tuo EKS cluster Amazon che concede ai suoi utenti le autorizzazioni necessarie per eseguire valutazioni della resilienza. AWS Resilience Hub
Il modello per concedere l'accesso in lettura su tutti i namespace all'applicazione è il seguente: AWS 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 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
-
-
Concessione AWS Resilience Hub dell'accesso alla lettura di namespace specifici.
È possibile limitare AWS Resilience Hub l'accesso alle risorse all'interno di un set specifico di namespace utilizzando.
RoleBinding
A tal fine, è necessario creare i seguenti ruoli:-
ClusterRole
— Per accedere AWS Resilience Hub alle risorse in namespace specifici all'interno di un EKS cluster Amazon e valutarne la resilienza, devi creare i seguenti ruoli.ClusterRole
-
resilience-hub-eks-access-cluster-role
— Speciifica le autorizzazioni necessarie per valutare le risorse all'interno di namespace specifici. -
resilience-hub-eks-access-global-cluster-role
: specifica le autorizzazioni necessarie per valutare le risorse con ambito cluster, che non sono associate a uno spazio dei nomi specifico, all'interno dei cluster Amazon. EKS AWS Resilience Hub richiede le autorizzazioni per accedere a risorse con ambito cluster (come i nodi) sul tuo EKS cluster Amazon per valutare la resilienza della tua applicazione.
Il modello per creare il ruolo è il seguente
ClusterRole
: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 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 --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRole metadata: name: resilience-hub-eks-access-global-cluster-role rules: - apiGroups: - "" resources: - nodes verbs: - get - list - apiGroups: - karpenter.sh resources: - provisioners - nodepools verbs: - get - list - apiGroups: - karpenter.k8s.aws resources: - awsnodetemplates - ec2nodeclasses verbs: - get - list --- EOF
-
-
RoleBinding
ruolo: questo ruolo concede le autorizzazioni necessarie per accedere alle risorse all'interno AWS Resilience Hub di namespace specifici. Cioè, è necessario creare unRoleBinding
ruolo in ogni spazio dei nomi per consentire AWS Resilience Hub l'accesso alle risorse all'interno dello spazio dei nomi specificato.Nota
Se si utilizza
ClusterAutoscaler
la scalabilità automatica, è necessario creare anche in.RoleBinding
kube-system
Questo è necessario per valutare il tuoClusterAutoscaler
, che fa parte del namespace.kube-system
In questo modo, concederai AWS Resilience Hub le autorizzazioni necessarie per valutare le risorse all'interno del
kube-system
namespace durante la valutazione del tuo cluster Amazon. EKSIl modello per creare il
RoleBinding
ruolo è il seguente:cat << EOF | kubectl apply -f - apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: resilience-hub-eks-access-cluster-role-binding namespace: <namespace> 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
-
ClusterRoleBinding
ruolo: questo ruolo concede le autorizzazioni necessarie per accedere AWS Resilience Hub alle risorse con ambito cluster.Il modello per creare il ruolo è il seguente
ClusterRoleBinding
:cat << EOF | kubectl apply -f - --- apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: resilience-hub-eks-access-global-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-global-cluster-role apiGroup: rbac.authorization.k8s.io --- EOF
-
-
-
Aggiorna il
aws-auth ConfigMap
per mappare il IAM ruolo utilizzato per accedere al EKS cluster Amazon.resilience-hub-eks-access-group
Questo passaggio crea una mappatura tra il IAM ruolo utilizzato nella fase 1 e il gruppo Kubernetes creato nella fase 2. Questa mappatura concede le autorizzazioni ai IAM ruoli per l'accesso alle risorse all'interno del cluster Amazon. EKS
Nota
-
ROLE-NAME
si riferisce al IAM ruolo utilizzato per accedere al EKS cluster Amazon.-
Se l'applicazione è configurata per utilizzare l'accesso basato sui ruoli, il ruolo deve essere il ruolo di invoker o il ruolo di account secondario a cui viene passato AWS Resilience Hub durante la creazione dell'applicazione.
-
Se l'applicazione è configurata per utilizzare l'IAMutente corrente per accedere alle risorse, deve essere il.
AwsResilienceHubAssessmentEKSAccessRole
-
-
ACCOUNT-ID
deve essere l'ID dell' AWS account del EKS cluster Amazon.
Puoi crearlo
aws-auth
ConfigMap
utilizzando uno dei seguenti modi:-
Uso di
eksctl
Utilizzate il seguente comando per aggiornare
aws-auth
ConfigMap
:eksctl create iamidentitymapping \ --cluster <cluster-name> \ --region=<region-code> \ --arn arn:aws:iam::<ACCOUNT-ID>:role/<ROLE-NAME>\ --group resilience-hub-eks-access-group \ --username AwsResilienceHubAssessmentEKSAccessRole
-
È possibile modificare manualmente
aws-auth
ConfigMap
aggiungendo i dettagli del IAM ruolo allamapRoles
sezione dei datiConfigMap
sottostanti. Utilizzate il seguente comando per modificare ilaws-auth
ConfigMap
.kubectl edit -n kube-system configmap/aws-auth
mapRoles
la sezione è composta dai seguenti parametri:-
rolearn
— L'Amazon Resource Name (ARN) del IAM ruolo da aggiungere.-
ARNSintassi —
arn:aws:iam::<ACCOUNT-ID>:role/<ROLE-NAME>
.
-
-
username
— Il nome utente all'interno di Kubernetes da mappare al ruolo (). IAMAwsResilienceHubAssessmentEKSAccessRole
-
groups
— I nomi dei gruppi devono corrispondere ai nomi dei gruppi creati nel passaggio 2 ().resilience-hub-eks-access-group
Nota
Se la
mapRoles
sezione non esiste, è necessario aggiungerla manualmente.Utilizza il seguente modello per aggiungere i dettagli del IAM ruolo alla
mapRoles
ConfigMap
sezione dei dati sottostanti.- groups: - resilience-hub-eks-access-group rolearn: arn:aws:iam::<ACCOUNT-ID>:role/<ROLE-NAME> username: AwsResilienceHubAssessmentEKSAccessRole
-
-