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.
Contenido
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
yaws: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
-
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.
-
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
-
Utilice el siguiente attach-role-policycomando para adjuntar la política AWS gestionada.
aws iam attach-role-policy --role-name
my-fis-role
--policy-arnfis-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
-
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
-
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.
-
-
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-namemy-fis-policy
--policy-document file://fis-role-permissions-policy.json