Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Octroi de l' AWS Resilience Hub accès aux ressources de votre cluster Amazon EKS
AWS Resilience Hub vous permet d'accéder aux ressources situées sur les clusters Amazon EKS à condition que vous ayez configuré les autorisations requises.
Pour accorder les autorisations nécessaires à la découverte et AWS Resilience Hub à l'évaluation des ressources au sein du cluster Amazon EKS
-
Configurez un rôle IAM pour accéder au cluster Amazon EKS.
Si vous avez configuré votre application à l'aide d'un accès basé sur les rôles, vous pouvez ignorer cette étape et passer à l'étape 2 et utiliser le rôle que vous avez utilisé pour créer l'application. Pour plus d'informations sur l' AWS Resilience Hub utilisation des rôles IAM, consultezComment AWS Resilience Hub fonctionne avec IAM.
Si vous avez configuré votre application à l'aide des autorisations utilisateur IAM actuelles, vous devez créer le rôle
AwsResilienceHubAssessmentEKSAccessRole
IAM dans le même compte que celui du cluster Amazon EKS. Ce rôle IAM sera ensuite utilisé lors de l'accès à votre cluster Amazon EKS.Lors de l'importation et de l'évaluation de votre application, AWS Resilience Hub utilise un rôle IAM pour accéder aux ressources de votre cluster Amazon EKS. Ce rôle doit être créé dans le même compte que votre cluster Amazon EKS et il sera mappé à un groupe Kubernetes incluant les autorisations requises pour AWS Resilience Hub évaluer votre cluster Amazon EKS.
Si votre cluster Amazon EKS se trouve sur le même compte que le compte d' AWS Resilience Hub appel, le rôle doit être créé selon la politique de confiance IAM suivante. Dans cette politique de confiance IAM,
caller_IAM_role
il est utilisé dans le compte courant pour AWS Resilience Hub appeler les API.Note
caller_IAM_role
Il s'agit du rôle associé à votre compte AWS utilisateur.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::eks_cluster_account_id:role/caller_IAM_role" }, "Action": "sts:AssumeRole" } ] }
Si votre cluster Amazon EKS se trouve sur un compte croisé (un compte différent du compte d' AWS Resilience Hub appel), vous devez créer le rôle
AwsResilienceHubAssessmentEKSAccessRole
IAM en appliquant la politique de confiance IAM suivante :Note
Comme condition préalable, pour accéder au cluster Amazon EKS déployé dans un compte différent de celui de l' AWS Resilience Hub utilisateur, vous devez configurer l'accès multicompte. Pour plus d'informations, veuillez consulter la rubrique
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::eks_cluster_account_id:role/AwsResilienceHubExecutorRole" }, "Action": "sts:AssumeRole" } ] }
-
Créez
ClusterRole
et/ou desClusterRoleBinding
rôles pour AWS Resilience Hub l'application.RoleBinding
Création
ClusterRole
etClusterRoleBinding
octroi des autorisations de lecture seule requises AWS Resilience Hub pour analyser et évaluer les ressources faisant partie de certains espaces de noms de votre cluster Amazon EKS.AWS Resilience Hub vous permet de limiter son accès à vos espaces de noms pour générer des évaluations de résilience en effectuant l'une des opérations suivantes :
-
Accordez un accès en lecture à tous les espaces de noms à AWS Resilience Hub l'application.
AWS Resilience Hub Pour évaluer la résilience des ressources dans tous les espaces de noms d'un cluster Amazon EKS, vous devez créer les éléments suivants
ClusterRole
et.ClusterRoleBinding
-
resilience-hub-eks-access-cluster-role
(ClusterRole
) — Définit les autorisations requises AWS Resilience Hub pour évaluer votre cluster Amazon EKS. -
resilience-hub-eks-access-cluster-role-binding
(ClusterRoleBinding
) — Définit un groupe nomméresilience-hub-eks-access-group
dans votre cluster Amazon EKS qui accorde à ses utilisateurs les autorisations requises pour effectuer des évaluations de résilience. AWS Resilience Hub
Le modèle permettant d'accorder un accès en lecture à tous les espaces de noms à AWS Resilience Hub l'application est le suivant :
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 verbs: - get - list - apiGroups: - karpenter.k8s.aws resources: - awsnodetemplates 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
-
-
Accorder AWS Resilience Hub l'accès à la lecture d'espaces de noms spécifiques.
Vous pouvez limiter AWS Resilience Hub l'accès aux ressources au sein d'un ensemble spécifique d'espaces de noms en utilisant
RoleBinding
. Pour ce faire, vous devez créer les rôles suivants :-
ClusterRole
— Pour accéder AWS Resilience Hub aux ressources dans des espaces de noms spécifiques au sein d'un cluster Amazon EKS et évaluer sa résilience, vous devez créer les rôles suivantsClusterRole
.-
resilience-hub-eks-access-cluster-role
— Spécifie les autorisations nécessaires pour évaluer les ressources au sein d'espaces de noms spécifiques. -
resilience-hub-eks-access-global-cluster-role
— Spécifie les autorisations nécessaires pour évaluer les ressources délimitées au cluster, qui ne sont pas associées à un espace de noms spécifique, au sein de vos clusters Amazon EKS. AWS Resilience Hub nécessite des autorisations pour accéder aux ressources du cluster (telles que les nœuds) de votre cluster Amazon EKS afin d'évaluer la résilience de votre application.
Le modèle pour créer un
ClusterRole
rôle est le suivant :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 verbs: - get - list - apiGroups: - karpenter.k8s.aws resources: - awsnodetemplates verbs: - get - list --- EOF
-
-
RoleBinding
rôle — Ce rôle accorde les autorisations requises pour accéder AWS Resilience Hub aux ressources dans des espaces de noms spécifiques. En d'autres termes, vous devez créer unRoleBinding
rôle dans chaque espace de noms pour permettre d'accéder AWS Resilience Hub aux ressources de l'espace de noms donné.Note
Si vous utilisez
ClusterAutoscaler
pour la mise à l'échelle automatique, vous devez également créerRoleBinding
dans lekube-system
. Cela est nécessaire pour évaluer votreClusterAutoscaler
, qui fait partie de l'espace dekube-system
noms.Ce faisant, vous accorderez AWS Resilience Hub les autorisations requises pour évaluer les ressources au sein de l'espace de
kube-system
noms lors de l'évaluation de votre cluster Amazon EKS.Le modèle pour créer un
RoleBinding
rôle est le suivant :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
rôle — Ce rôle accorde les autorisations requises pour accéder AWS Resilience Hub aux ressources délimitées au cluster.Le modèle pour créer un
ClusterRoleBinding
rôle est le suivant :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
-
-
-
Mettez à jour le
aws-auth ConfigMap
pour le mapperresilience-hub-eks-access-group
avec le rôle IAM utilisé pour accéder au cluster Amazon EKS.Cette étape crée un mappage entre le rôle IAM utilisé à l'étape 1 et le groupe Kubernetes créé à l'étape 2. Ce mappage accorde des autorisations aux rôles IAM pour accéder aux ressources du cluster Amazon EKS.
Note
-
ROLE-NAME
fait référence au rôle IAM utilisé pour accéder au cluster Amazon EKS.-
Si votre application est configurée pour utiliser l'accès basé sur les rôles, le rôle doit être soit le rôle d'invocateur, soit le rôle de compte secondaire transmis AWS Resilience Hub lors de la création de l'application.
-
Si votre application est configurée pour utiliser l'utilisateur IAM actuel pour accéder aux ressources, il doit s'agir du
AwsResilienceHubAssessmentEKSAccessRole
.
-
-
ACCOUNT-ID
doit être l'ID de AWS compte du cluster Amazon EKS.
Vous pouvez créer le
aws-auth
ConfigMap
en utilisant l'une des méthodes suivantes :-
Utiliser
eksctl
Utilisez la commande suivante pour mettre à jour
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
-
Vous pouvez les modifier manuellement
aws-auth
ConfigMap
en ajoutant les détails du rôle IAM dans lamapRoles
ConfigMap
section des données sous-jacentes. Utilisez la commande suivante pour modifier leaws-auth
ConfigMap
.kubectl edit -n kube-system configmap/aws-auth
mapRoles
cette section comprend les paramètres suivants :-
rolearn
— Le nom de ressource Amazon (ARN) du rôle IAM à ajouter.-
Syntaxe ARN —
arn:aws:iam::<ACCOUNT-ID>:role/<ROLE-NAME>
.
-
-
username
— Le nom d'utilisateur dans Kubernetes à associer au rôle IAM ().AwsResilienceHubAssessmentEKSAccessRole
-
groups
— Les noms des groupes doivent correspondre aux noms des groupes créés à l'étape 2 (resilience-hub-eks-access-group
).
Note
Si
mapRoles
la section n'existe pas, vous devez l'ajouter manuellement.Utilisez le modèle suivant pour ajouter les détails du rôle IAM à la
mapRoles
ConfigMap
section des données sous-jacentes.- groups: - resilience-hub-eks-access-group rolearn: arn:aws:iam::<ACCOUNT-ID>:role/<ROLE-NAME> username: AwsResilienceHubAssessmentEKSAccessRole
-
-