Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.
Permisos y funciones de IAM necesarios
AWS política administrada
Puede adjuntar la AWSResilienceHubV2AssessmentExecutionPolicy a las identidades de IAM. Al ejecutar una evaluación, esta política otorga permisos de acceso de solo lectura a otros AWS servicios para el descubrimiento, la evaluación y la administración de la resiliencia. Para obtener más detalles acerca de los permisos incluidos en esta política, consulte AWSResilienceHubV2AssessmentExecutionPolicy.
nota
AWSResilienceHubV2AssessmentExecutionPolicySustituye al anterior AWSResilienceHubAsssessmentExecutionPolicy para su uso por el de la próxima generación de Resilience Hub.
Si utilizas pruebas de resiliencia, adjunta también la política AWSResilienceHubResilienceTestingPolicy gestionada. Esta política otorga a Resilience Hub los AWS Fault Injection Service (AWS FIS) permisos necesarios para iniciar y gestionar experimentos en tu nombre. Para obtener más detalles acerca de los permisos incluidos en esta política, consulte AWSResilienceHubResilienceTestingPolicy.
nota
Si la política gestionada no está disponible en tu cuenta, crea una política integrada con los mismos permisos. Para ver el contenido de la política, consulteAWSResilienceHubResilienceTestingPolicy.
El papel de la IAM en la evaluación y las pruebas de resiliencia
Para realizar una evaluación o una prueba de resiliencia, la próxima generación de Resilience Hub debe asumir una función de IAM con los permisos necesarios. Este rol descubre y lee la configuración de sus AWS recursos y, cuando las pruebas de resiliencia están habilitadas, inicia y administra AWS FIS los experimentos en su nombre.
Hay dos maneras de crear o configurar este rol:
-
Crear un nuevo rol de servicio (recomendado): al crear o editar un servicio en la consola de próxima generación de Resilience Hub, puede elegir Crear nuevo rol en el modelo de permisos. La consola crea automáticamente un rol de IAM con la política de confianza correcta y adjunta la política
AWSResilienceHubV2AssessmentExecutionPolicyadministrada. -
Use un rol de servicio existente: si ya tiene un rol configurado o si prefiere crear roles fuera de la consola, elija Usar un rol de servicio existente. A continuación, elija el rol de la lista y asegúrese de que tenga la política de confianza y los permisos necesarios que se describen a continuación.
Crear el rol manualmente
Para crear el rol manualmente, abra la consola de IAM. Elija una política de confianza personalizada y utilice una política de confianza como la siguiente:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "resiliencehub.amazonaws.com" }, "Action": "sts:AssumeRole", "Condition": {} } ] }
Para los permisos, adjunte la política AWSResilienceHubV2AssessmentExecutionPolicy gestionada. Si utilizas pruebas de resiliencia, adjunta también la política AWSResilienceHubResilienceTestingPolicy gestionada.
Función de IAM Service-Linked
La próxima generación de Resilience Hub crea automáticamente un Service-Linked rol con la política AWSResilienceHubServiceRolePolicy administrada.
Permisos de acceso a los archivos estatales de Terraform
Si va a incluir los archivos de estado de Terraform en su servicio Resilience Hub de próxima generación, conceda permisos para leer los archivos de Terraform desde su bucket de Amazon S3 con una política como la siguiente:
{ "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" } ] }
Permisos de Amazon EKS
Si va a incluir clústeres de Amazon EKS en su servicio de Resilience Hub de próxima generación, siga el siguiente proceso de 3 pasos para conceder permisos a Resilience Hub de próxima generación para leer los datos de configuración de sus clústeres de Amazon EKS mediante el control de acceso basado en roles (RBAC) de Kubernetes.
Paso 1: aplique lo siguiente a su clúster de Amazon EKS
Esto otorga a Resilience Hub de última generación acceso de solo lectura a los recursos de Kubernetes que necesita en todos los espacios de nombres:
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
Paso 2: Asigne la función de IAM al grupo de Kubernetes
Asigne el rol de IAM que creó al grupo de Kubernetes. resilience-hub-eks-access-group Puede utilizar las entradas de acceso de Amazon EKS (recomendado) o las. aws-auth ConfigMap
Opción A: usar las entradas de acceso de EKS (recomendado)
Las entradas de acceso EKS son el método preferido para administrar la autenticación de clústeres. El clúster debe utilizar el modo de API_AND_CONFIG_MAP autenticación 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"]'
Opción B: usar aws-auth ConfigMap
Si su clúster usa el modo de API_AND_CONFIG_MAP autenticación CONFIG_MAP o, puede editar el aws-auth en su lugar: ConfigMap
Con eksctl:
eksctl create iamidentitymapping \ --clustercluster-name\ --regionregion\ --arn arn:aws:iam::ACCOUNT-ID:role/ResilienceHubRole \ --group resilience-hub-eks-access-group \ --username AwsResilienceHubAssessmentEKSAccessRole
O edite manualmente: ConfigMap
kubectl edit -n kube-system configmap/aws-auth
Añada esto mapRoles en la sección de datos:
- groups: - resilience-hub-eks-access-group rolearn: arn:aws:iam::ACCOUNT-ID:role/ResilienceHubRole username: AwsResilienceHubAssessmentEKSAccessRole
Paso 3: Verificar
Confirme que los recursos de RBAC existen y que la asignación de funciones está establecida:
kubectl get clusterrole resilience-hub-eks-access-cluster-role kubectl describe clusterrolebinding resilience-hub-eks-access-cluster-role-binding
Si utiliza entradas de acceso (opción A):
aws eks describe-access-entry \ --cluster-namecluster-name\ --principal-arn arn:aws:iam::ACCOUNT-ID:role/ResilienceHubRole
Si usa aws-auth ConfigMap (opción B):
kubectl get configmap aws-auth -n kube-system -o yaml | grep -A 3 "ResilienceHubRole"