Funciones de IAM para los experimentos de AWS FIS - AWS Servicio de inyección de averías

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.

Funciones de IAM para los experimentos de AWS FIS

AWS Identity and Access Management (IAM) es un AWS servicio que ayuda al administrador a controlar de forma segura el acceso a los recursos. AWS Para utilizar el AWS FIS, debe crear un rol de IAM que conceda al AWS FIS los permisos necesarios para que el AWS FIS pueda realizar experimentos en su nombre. Este rol de experimento se especifica al crear una plantilla de experimento. En el caso de un experimento con una sola cuenta, la política de IAM del rol de experimento debe conceder permiso para modificar los recursos que especifique como destinos de la plantilla de experimento. En el caso de un experimento con varias cuentas, el rol del experimento debe conceder permiso al rol de orquestador para que asuma el rol de IAM para cada cuenta de destino. Para obtener más información, consulte Permisos para experimentos con varias cuentas.

Le recomendamos que siga la práctica de seguridad estándar para conceder privilegios mínimos. Puede hacerlo especificando un recurso ARNs o etiquetas específicos en sus políticas.

Para ayudarle a empezar a utilizar el AWS FIS rápidamente, le ofrecemos políticas AWS gestionadas que puede especificar al crear un rol experimental. Como alternativa, también puede utilizar estas políticas como modelo al crear sus propios documentos de políticas insertadas.

Requisitos previos

Antes de empezar, instale AWS CLI y cree la política de confianza necesaria.

Instale el AWS CLI

Antes de comenzar, instale y configure la AWS CLI. Al configurar el AWS CLI, se le solicitarán las AWS credenciales. En los ejemplos de este procedimiento se asume que configuró una región predeterminada. De lo contrario, agregue la opción --region para cada comando. Para obtener más información, consulte Installing or updating the AWS CLI and Configuring the AWS CLI (Instalación o actualización de la CLI y Configuración de la CLI).

Creación de una política de relación de confianza

Un rol de experimento debe tener una relación de confianza que permita al servicio AWS FIS asumir el rol. Cree un archivo de texto denominado fis-role-trust-policy.json y añada la siguiente política de relación de confianza.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "fis.amazonaws.com" ] }, "Action": "sts:AssumeRole" } ] }

Le recomendamos que utilice las claves de condición aws:SourceAccount y aws:SourceArn para protegerse contra el problema del suplente confuso. La cuenta de origen es la propietaria del experimento, y el ARN de origen es el ARN del experimento. Por ejemplo, debería agregar el siguiente bloque de condición a su política de confianza:

"Condition": { "StringEquals": { "aws:SourceAccount": "account_id" }, "ArnLike": { "aws:SourceArn": "arn:aws:fis:region:account_id:experiment/*" } }
Agregue permisos para asumir roles de cuentas de destino (solo en experimentos con varias cuentas)

En el caso de los experimentos con varias cuentas, se necesitan permisos que autoricen a la cuenta del orquestador a asumir roles de cuentas de destino. Puede modificar el siguiente ejemplo y agregarlo como documento de política integrado para asumir roles de cuentas de destino:

{ "Effect": "Allow", "Action": "sts:AssumeRole", "Resource":[ "arn:aws:iam::target_account_id:role/role_name" ] }

Opción 1: crear un rol experimental y adjuntar una política AWS gestionada

Utilice una de las políticas AWS gestionadas de AWS FIS para empezar rápidamente.

Para crear un rol experimental y adjuntar una política AWS gestionada
  1. Compruebe que haya una política gestionada para las acciones del AWS FIS en su experimento. De lo contrario, tendrá que crear su propio documento de política insertada. Para obtener más información, consulte AWS políticas gestionadas para el servicio de inyección de fallos AWS.

  2. Utilice el siguiente comando create-role para crear un rol y agregar la política de confianza que ha creado en los requisitos previos.

    aws iam create-role --role-name my-fis-role --assume-role-policy-document file://fis-role-trust-policy.json
  3. Utilice el siguiente attach-role-policycomando para adjuntar la política AWS gestionada.

    aws iam attach-role-policy --role-name my-fis-role --policy-arn fis-policy-arn

    Dónde fis-policy-arn está uno de los siguientes:

    • arn:aws:iam::aws:policy/service-role/AWSFaultInjectionSimulatorEC2Access

    • arn:aws:iam::aws:policy/service-role/AWSFaultInjectionSimulatorECSAccess

    • arn:aws:iam::aws:policy/service-role/AWSFaultInjectionSimulatorEKSAccess

    • arn:aws:iam::aws:policy/service-role/AWSFaultInjectionSimulatorNetworkAccess

    • arn:aws:iam::aws:policy/service-role/AWSFaultInjectionSimulatorRDSAccess

    • arn:aws:iam::aws:policy/service-role/AWSFaultInjectionSimulatorSSMAccess

Opción 2: Crear un rol de experimento y agregar un documento de política insertada

Use esta opción para las acciones que no tengan una política administrada o para incluir solo los permisos necesarios para su experimento específico.

Para crear un rol de experimento y agregar un documento de política insertada
  1. Utilice el siguiente comando create-role para crear un rol y agregar la política de confianza que ha creado en los requisitos previos.

    aws iam create-role --role-name my-fis-role --assume-role-policy-document file://fis-role-trust-policy.json
  2. Cree un archivo de texto denominado fis-role-permissions-policy.json y agregar una política de permisos. Como ejemplo que puede utilizar como punto de partida, consulte lo siguiente.

    • Acciones de inyección de errores: comience con la siguiente política.

      { "Version": "2012-10-17", "Statement": [ { "Sid": "AllowFISExperimentRoleFaultInjectionActions", "Effect": "Allow", "Action": [ "fis:InjectApiInternalError", "fis:InjectApiThrottleError", "fis:InjectApiUnavailableError" ], "Resource": "arn:*:fis:*:*:experiment/*" } ] }
    • Acciones de Amazon EBS: comience con la siguiente política.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:DescribeVolumes" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:PauseVolumeIO" ], "Resource": "arn:aws:ec2:*:*:volume/*" } ] }
    • EC2 Acciones de Amazon: comience desde la política de AWSFaultInjectionSimulatorEC2acceso.

    • Acciones de Amazon ECS: comience por la AWSFaultInjectionSimulatorECSAccesspolítica.

    • Acciones de Amazon EKS: comience por la AWSFaultInjectionSimulatorEKSAccesspolítica.

    • Acciones de red: comience desde la AWSFaultInjectionSimulatorNetworkAccesspolítica.

    • Acciones de Amazon RDS: comience por la AWSFaultInjectionSimulatorRDSAccesspolítica.

    • Acciones de Systems Manager: comience desde la AWSFaultInjectionSimulatorSSMAccesspolítica.

  3. Use el siguiente put-role-policycomando para agregar la política de permisos que creó en el paso anterior.

    aws iam put-role-policy --role-name my-fis-role --policy-name my-fis-policy --policy-document file://fis-role-permissions-policy.json