Roles 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.

Roles de IAM para los experimentos de AWS FIS

AWS Identity and Access Management (IAM) es un servicio de AWS que ayuda al administrador a controlar de forma segura el acceso a los recursos de AWS. Para utilizar AWS FIS, debe crear un rol de IAM que conceda a AWS FIS los permisos necesarios para que 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 ARN o etiquetas de recursos específicos en sus políticas.

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

Requisitos previos

Antes de comenzar, instale la AWS CLI y cree la política de confianza requerida.

Instalar la AWS CLI

Antes de comenzar, instale y configure la AWS CLI. Cuando configure la AWS CLI, se le solicitarán credenciales de AWS. 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 de experimento y asociar una política administrada por AWS

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

Para crear un rol de experimento y asociar una política administrada por AWS
  1. Compruebe que haya una política administrada para las acciones de 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 AWS fallos.

  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-arnestá 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/*" } ] }
    • Acciones de Amazon EC2: comience por la AWSFaultInjectionSimulatorEC2Accesspolítica.

    • 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