

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.

# IAM
<a name="automation-ref-iam"></a>

 AWS Systems Manager La automatización proporciona manuales de ejecución predefinidos para. AWS Identity and Access Management Para obtener información acerca de los manuales de procedimientos, consulte [Trabajar con manuales de procedimientos](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-documents.html). Para obtener información acerca de cómo ver el contenido del manual de procedimientos, consulte [Cómo ver contenido del manual de procedimientos](automation-runbook-reference.md#view-automation-json). 

**Topics**
+ [`AWSSupport-TroubleshootIAMAccessDeniedEvents`](awssupport-troubleshootiamaccessdeniedevents.md)
+ [`AWS-AttachIAMToInstance`](automation-aws-attachiamtoinstance.md)
+ [`AWS-DeleteIAMInlinePolicy`](delete-iam-inline-policy.md)
+ [`AWSConfigRemediation-DeleteIAMRole`](automation-aws-delete-iam-role.md)
+ [`AWSConfigRemediation-DeleteIAMUser`](automation-aws-delete-iam-user.md)
+ [`AWSConfigRemediation-DeleteUnusedIAMGroup`](automation-aws-delete-iam-group.md)
+ [`AWSConfigRemediation-DeleteUnusedIAMPolicy`](automation-aws-delete-iam-policy.md)
+ [`AWSConfigRemediation-DetachIAMPolicy`](automation-aws-detach-iam-policy.md)
+ [`AWSConfigRemediation-EnableAccountAccessAnalyzer`](automation-aws-enable-account-access-analyzer.md)
+ [`AWSSupport-GrantPermissionsToIAMUser`](automation-awssupport-grantpermissionstoiamuser.md)
+ [`AWSConfigRemediation-RemoveUserPolicies`](automation-aws-remove-user-policies.md)
+ [`AWSConfigRemediation-ReplaceIAMInlinePolicy`](automation-aws-replace-iam-policy.md)
+ [`AWSConfigRemediation-RevokeUnusedIAMUserCredentials`](automation-aws-revoke-iam-user.md)
+ [`AWSConfigRemediation-SetIAMPasswordPolicy`](automation-aws-set-iam-policy.md)
+ [`AWSSupport-ContainIAMPrincipal`](awssupport-contain-iam-principal.md)
+ [`AWSSupport-TroubleshootSAMLIssues`](awssupport-troubleshootsamlissues.md)

# `AWSSupport-TroubleshootIAMAccessDeniedEvents`
<a name="awssupport-troubleshootiamaccessdeniedevents"></a>

 **Descripción** 

 **El manual de AWSSupport-TroubleshootIAMAccessDeniedEvents ** automatización ayuda a solucionar problemas de acceso AWS Identity and Access Management denegado (IAM). El manual consulta CloudTrail eventos de acceso denegado recientes relacionados con la entidad de IAM y AWS la fuente de eventos de servicio especificadas. Analiza los eventos en un intervalo de tiempo configurable de hasta 24 horas y procesa hasta 10 eventos por ejecución. Cada evento de acceso denegado identificado se examina para ayudar a comprender el contexto de la denegación y las acciones intentadas. La automatización analiza las políticas de IAM basadas en la identidad y en los recursos. En el caso de las políticas basadas en la identidad, examina las políticas integradas y gestionadas asociadas a la entidad de IAM. En el caso de las políticas basadas en recursos, evalúa las políticas de varios servicios, AWS incluidos Amazon Simple Storage Service (Amazon S3), AWS Key Management Service (AWS KMS), AWS Lambda Amazon Simple Notification Service (Amazon SNS), Amazon Elastic Container Registry (Amazon ECR), Amazon API Gateway, Amazon Elastic CodeArtifact File System (Amazon EFS), Amazon Simple Queue Servicio (Amazon Queue SQS), Amazon Service, Signer y. AWS Cloud9 OpenSearch AWS AWS Serverless Application Repository AWS Secrets Manager

 El manual utiliza las capacidades de simulación de políticas de IAM para evaluar estas políticas frente a las acciones denegadas que se encuentran en los CloudTrail eventos. El manual aprovecha las capacidades de simulación de políticas de la IAM, tanto [SimulatePrincipalPolicy](https://docs.aws.amazon.com/IAM/latest/APIReference/API_SimulatePrincipalPolicy.html)para los usuarios como para las funciones de la IAM, a fin de evaluar estas políticas comparándolas con las acciones denegadas detectadas en los eventos. [SimulateCustomPolicy](https://docs.aws.amazon.com/IAM/latest/APIReference/API_SimulateCustomPolicy.html) CloudTrail La automatización genera un informe que ayuda a identificar las acciones específicas que se denegaron, diferenciando entre denegaciones implícitas y explícitas, enumerando las políticas responsables de las denegaciones de acceso y proporcionando explicaciones para cada denegación. El informe también sugiere posibles soluciones, como identificar las declaraciones de autorización que faltan o las declaraciones de denegación contradictorias 

 **¿Cómo funciona?** 

 El manual lleva a cabo los siguientes pasos: 
+ Describe y valida `RequesterARN` (rol o usuario) para obtener información como el tipo de entidad de IAM y el ID de IAM.
+ Obtiene los CloudTrail eventos asociados a`RequesterARN`, y si se proporcionan`EventSource`. `ResourceARN`
+ Analiza los CloudTrail eventos para obtener la acción que se llevó a cabo cuando se devolvió el error de acceso denegado y, a continuación, examina todas las políticas de IAM, como las políticas integradas y gestionadas asociadas a la entidad de IAM, así como las políticas basadas en los recursos. A continuación, simula estas políticas comparándolas con las acciones detectadas en los errores de acceso denegado de los CloudTrail eventos en cuestión para determinar la causa del error.
+ Genera un informe en el que se determina el tipo de error de acceso denegado, las políticas responsables de los errores y se ofrecen sugerencias para una posible solución al error.

 [Ejecuta esta automatización (consola)](https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-TroubleshootIAMAccessDeniedEvents) 

**Tipo de documento**

Automatización

**Propietario**

Amazon

**Plataformas**

/

**Permisos de IAM necesarios**

El parámetro `AutomationAssumeRole` requiere las siguientes acciones para utilizar el manual de procedimientos correctamente.
+ `apigateway:GetRestApis`
+ `cloudtrail:LookupEvents`
+ `cloud9:GetEnvironment`
+ `codeartifact:GetRepositoryPermissionsPolicy`
+ `ecr:GetRepositoryPolicy`
+ `elasticfilesystem:GetFileSystemPolicy`
+ `es:DescribeDomain`
+ `iam:GetPolicy`
+ `iam:GetPolicyVersion`
+ `iam:GetRole`
+ `iam:GetRolePolicy`
+ `iam:GetUser`
+ `iam:GetUserPolicy`
+ `iam:ListAttachedRolePolicies`
+ `iam:ListAttachedUserPolicies`
+ `iam:ListRolePolicies`
+ `iam:ListUserPolicies`
+ `iam:SimulatePrincipalPolicy`
+ `iam:SimulateCustomPolicy`
+ `kms:GetKeyPolicy`
+ `lambda:GetPolicy`
+ `secretsmanager:GetResourcePolicy`
+ `serverlessrepo:GetApplication`
+ `signer:GetSigningProfile`
+ `sns:GetTopicAttributes`
+ `ssm:StartAutomationExecution`
+ `ssm:StopAutomationExecution`
+ `sqs:GetQueueAttributes`
+ `s3:GetBucketPolicy`

Ejemplo de política: 

------
#### [ JSON ]

****  

```
        {
            "Version":"2012-10-17",		 	 	 
            "Statement": [
                {
                    "Action": [
                        "iam:GetUser",
                        "iam:GetRole",
                        "iam:SimulatePrincipalPolicy",
                        "iam:ListUserPolicies",
                        "iam:ListRolePolicies",
                        "iam:GetRolePolicy",
                        "iam:ListAttachedRolePolicies",
                        "iam:GetPolicy",
                        "iam:GetUserPolicy",
                        "iam:GetPolicyVersion",
                        "iam:ListAttachedUserPolicies",
                        "ssm:StartAutomationExecution",
                        "ssm:StopAutomationExecution",
                        "cloudtrail:LookupEvents",
                        "iam:SimulateCustomPolicy"
                    ],
                    "Resource": "*",
                    "Effect": "Allow"
                },
                {
                    "Action": [
                        "s3:GetBucketPolicy",
                        "kms:GetKeyPolicy",
                        "lambda:GetPolicy",
                        "sns:GetTopicAttributes",
                        "ecr:GetRepositoryPolicy",
                        "apigateway:GET",
                        "codeartifact:GetRepositoryPermissionsPolicy",
                        "elasticfilesystem:DescribeFileSystemPolicy",
                        "sqs:GetQueueAttributes",
                        "cloud9:DescribeEnvironmentStatus",
                        "es:DescribeDomain",
                        "signer:GetSigningProfile",
                        "serverlessrepo:GetApplication",
                        "secretsmanager:GetResourcePolicy"
                    ],
                    "Resource": "*",
                    "Effect": "Allow"
                }
            ]
        }
```

------

 **Instrucciones** 

Siga estos pasos para configurar la automatización:

1. Navegue hasta [https://console.aws.amazon.com/systems-manager/documents/AWSSupport-TroubleshootIAMAccessDeniedEvents/description](https://console.aws.amazon.com/systems-manager/documents/AWSSupport-TroubleshootIAMAccessDeniedEvents/description)Systems Manager, en Documentos.

1. Elija **Execute automation** (Ejecutar automatización).

1. Para los parámetros de entrada, introduzca lo siguiente:
   + **AutomationAssumeRole (Opcional):**
     + Descripción: (opcional) El nombre del recurso de Amazon (ARN) del rol AWS Identity and Access Management (IAM) que permite a SSM Automation realizar las acciones en su nombre. El rol debe añadirse a la entrada de acceso al clúster de Amazon EKS o al permiso RBAC para permitir las llamadas a la API de Kubernetes.
     + Tipo: `AWS::IAM::Role::Arn`
   + **ARN de solicitud (obligatorio):**
     + Descripción: (obligatorio) El ARN del usuario o rol de IAM para el que desea investigar los permisos de acceso a un recurso específico. AWS 
     + Tipo: `String`
     + Patrón de permisos: `^arn:(aws|aws-cn|aws-us-gov|aws-iso(-[a-z])?):iam::[0-9]{12}:(role|user)\\/[\\w+\\/=,.@-]+$`
   + **ResourceArn (opcional):**
     + Descripción: (opcional) Se evalúa el ARN del recurso para AWS el que se ha denegado el acceso. El recurso de AWS destino debe estar en la misma región en la que se ejecuta el manual de automatización.
     + Tipo: `String`
     + Permitir patrón: `^$|^arn:(aws|aws-cn|aws-us-gov|aws-iso(-[a-z])?):([a-zA-Z0-9\\-]{1,63}):([a-z0-9\\-]{0,63})?:(\\d{12})?:([a-zA-Z0-9\\-_/:.]{1,1024})$`
   + **EventSource (Obligatorio):**
     + Descripción: (obligatorio) El punto de enlace de la API de Amazon en el que se originó el CloudTrail evento. Por ejemplo: `s3.amazonaws.com`.
     + Tipo: `String`
     + Patrón de permisos: `^([a-zA-Z0-9.-]+)\\.amazonaws\\.com$`
   + **EventName (Opcional):**
     + Descripción: (opcional) El nombre de la acción de la API de Amazon asociado al CloudTrail evento. Por ejemplo: `s3:CreateBucket`.
     + Tipo: `String`
     + Patrón de permisos: `^$|^[a-z0-9]+:[A-Za-z0-9]+$`
   + **LookBackHours (Opcional):**
     + Descripción: (opcional) El número de horas para revisar los CloudTrail eventos al `Access Denied` buscarlos. Intervalo válido: de `1` 2 a `24` 8 horas.
     + Tipo: entero
     + Patrón de permiso: `^([1-9]|1[0-9]|2[0-4])$`
     + Predeterminado: 12
   + **MaxEvents (Opcional):**
     + Descripción: (opcional) El número máximo de CloudTrail `Access Denied` eventos que se devuelve al buscar eventos. Rango válido: `1` hasta `5` eventos.
     + Tipo: entero
     + Patrón de permiso: `^([1-9]|1[0-9]|2[0-4])$`
     + Predeterminado: 3
   + **UseContextEntries (Opcional):**
     + Descripción: (opcional) Si lo especificas`true`, la automatización extrae los detalles sobre el contexto de la solicitud de API del CloudTrail evento y los incluye en la simulación de políticas de IAM.
     + Tipo: Booleano
     + Patrón de permisos: `^([1-9]|1[0-9]|2[0-4])$`
     + Predeterminado: 3

1. Seleccione **Ejecutar**.

1. Se inicia la automatización.

1. Este documento realiza los siguientes pasos:
   + **ValidateRequesterArn**

     Valida y deconstruye el `RequesterArn` ARN, recuperando información sobre el usuario o rol de IAM objetivo.
   + **GetCloudTrailEvents****WithAccessDeniedError**

     Consulta los CloudTrail eventos en busca de `Access Denied` eventos recientes relacionados con la entidad y el servicio de IAM especificados. AWS `EventSource`
   + **Evalúe las políticas IAMRequester**

     Evalúa los permisos de IAM de la entidad de IAM solicitante comparándolos con las acciones de los eventos. CloudTrail Esta evaluación incluye el análisis de las políticas basadas en la identidad y en los recursos asociadas al solicitante. La automatización utiliza las capacidades de simulación de políticas de IAM para evaluar estas políticas en el contexto de las acciones denegadas identificadas en los eventos. CloudTrail

1. Una vez finalizada, revise la sección de **resultados** para ver los resultados detallados de la ejecución:
   + **PermissionEvaluationResults**

     Genera un informe que ayuda a identificar las acciones específicas que se denegaron, diferenciando entre denegaciones implícitas y explícitas. También enumera las políticas responsables de las denegaciones de acceso y proporciona explicaciones para cada denegación. El informe también sugiere posibles soluciones, como identificar las declaraciones de autorización que faltan o las declaraciones de denegación contradictorias

 **Referencias** 

Automatización de Systems Manager
+ [Ejecuta esta automatización (consola)](https://console.aws.amazon.com/systems-manager/documents/TroubleshootIAMAccessDeniedEvents/description)
+ [Ejecución de una automatización](https://docs.aws.amazon.com//systems-manager/latest/userguide/automation-working-executing.html)
+ [Configuración de Automatización](https://docs.aws.amazon.com//systems-manager/latest/userguide/automation-setup.html)
+ [Página de inicio de Support Automation Workflows](https://aws.amazon.com/premiumsupport/technology/saw/)

# `AWS-AttachIAMToInstance`
<a name="automation-aws-attachiamtoinstance"></a>

 **Descripción** 

Adjunta un rol AWS Identity and Access Management (de IAM) a una instancia gestionada.

 [Ejecuta esta automatización (consola)](https://console.aws.amazon.com/systems-manager/automation/execute/AWS-AttachIAMToInstance) 

**Tipo de documento**

Automatización

**Propietario**

Amazon

**Plataformas**

Linux, macOS, Windows

**Parámetros**
+ AutomationAssumeRole

  Tipo: cadena

  Descripción: (opcional) el Nombre de recurso de Amazon (ARN) del rol de AWS Identity and Access Management (IAM) que permite a Systems Manager Automation realizar las acciones en su nombre. Si no se especifica ningún rol, Systems Manager Automation utiliza los permisos del usuario que comienza este manual de procedimientos.
+ ForceReplace

  Tipo: Booleano

  Descripción: (opcional) marcar para especificar si reemplazar el perfil de existente o no.

  Predeterminado: true
+ InstanceId

  Tipo: cadena

  Descripción: (obligatorio) ID de la instancia en la que desea asignar un rol de IAM.
+ RoleName

  Tipo: cadena

  Descripción: (obligatorio) el nombre del rol de IAM que se va a añadir a la instancia administrada.

 **Pasos de documentos** 

1.  `aws:executeAwsApi`- DescribeInstanceProfile - Busque el perfil de instancia de IAM adjunto a la instancia EC2. 

1.  `aws:branch`- CheckInstanceProfileAssociations - Compruebe el perfil de la instancia de IAM adjunto a la instancia EC2. 

   1.  Si un perfil de instancia de IAM se encuentra adjunto y `ForceReplace` está establecido en `true`: 

      1.  `aws:executeAwsApi`- DisassociateIamInstanceProfile - Desasocie el perfil de instancia de IAM de la instancia EC2. 

   1.  `aws:executeAwsApi`- ListInstanceProfilesForRole - Enumere los perfiles de instancia para la función de IAM proporcionada. 

   1.  `aws:branch`- CheckInstanceProfileCreated - Compruebe si el rol de IAM proporcionado tiene un perfil de instancia asociado. 

      1. Si el rol de IAM tiene un perfil de instancia asociado:

         1.  `aws:executeAwsApi`- attachiAMProfileToInstance : asocie el rol de perfil de instancia de IAM a la instancia EC2. 

      1. Si el rol de IAM no tiene un perfil de instancia asociado:

         1.  `aws:executeAwsApi`- CreateInstanceProfileForRole - Cree un rol de perfil de instancia para el rol de IAM especificado. 

         1.  `aws:executeAwsApi`- AddRoleToInstanceProfile - Adjunte el rol del perfil de instancia al rol de IAM especificado. 

         1.  `aws:executeAwsApi`- GetInstanceProfile - Obtenga los datos del perfil de la instancia para el rol de IAM especificado. 

         1.  `aws:executeAwsApi`- attachiAMProfileToInstanceWithRetry : asocie el rol de perfil de instancia de IAM a la instancia EC2. 

 **Salidas** 

Adjuntar. IAMProfile ToInstanceWithRetry AssociationId

GetInstanceProfile.InstanceProfileName

GetInstanceProfile.InstanceProfileArn

Adjuntar IAMProfileToInstance. AssociationId

ListInstanceProfilesForRole.InstanceProfileName

ListInstanceProfilesForRole.InstanceProfileArn

# `AWS-DeleteIAMInlinePolicy`
<a name="delete-iam-inline-policy"></a>

**Descripción**

El `AWS-DeleteIAMInlinePolicy` manual elimina todas las políticas integradas AWS Identity and Access Management (IAM) asociadas a las identidades de IAM que especifique.

[Ejecuta esta automatización (consola)](https://console.aws.amazon.com/systems-manager/automation/execute/AWS-DeleteIAMInlinePolicy)

**Tipo de documento**

Automatización

**Propietario**

Amazon

**Plataformas**

Linux, macOS, Windows

**Parámetros**
+ AutomationAssumeRole

  Tipo: cadena

  Descripción: (opcional) el Nombre de recurso de Amazon (ARN) del rol de AWS Identity and Access Management (IAM) que permite a Systems Manager Automation realizar las acciones en su nombre. Si no se especifica ningún rol, Systems Manager Automation utiliza los permisos del usuario que comienza este manual de procedimientos.
+ IamArns

  Tipo: cadena

  Descripción: (Obligatorio) Una lista separada por comas de las identidades de IAM ARNs de las que desea eliminar las políticas integradas. Esta lista puede incluir usuarios, grupos o roles de IAM.

**Permisos de IAM necesarios**

El parámetro `AutomationAssumeRole` requiere las siguientes acciones para utilizar el manual de procedimientos correctamente.
+ `iam:DeleteGroupPolicy`
+ `iam:DeleteRolePolicy`
+ `iam:DeleteUserPolicy`
+ `iam:ListGroupPolicies`
+ `iam:ListRolePolicies`
+ `iam:ListUserPolicies`

**Pasos de documentos**
+ `aws:executeScript`- Elimina las políticas integradas de IAM asociadas a las identidades de IAM de destino.

# `AWSConfigRemediation-DeleteIAMRole`
<a name="automation-aws-delete-iam-role"></a>

 **Descripción** 

 El manual de procedimientos `AWSConfigRemediation-DeleteIAMRole` elimina el rol de AWS Identity and Access Management (IAM) que especifique. Esta automatización no elimina los perfiles de instancia asociados al rol de IAM ni los roles vinculados al servicio. 

 [Ejecuta esta automatización (consola)](https://console.aws.amazon.com/systems-manager/automation/execute/AWSConfigRemediation-DeleteIAMRole) 

**Tipo de documento**

Automatización

**Propietario**

Amazon

**Plataformas**

Linux, macOS, Windows

**Parámetros**
+ AutomationAssumeRole

  Tipo: cadena

  Descripción: (obligatorio) el Nombre de recurso de Amazon (ARN) del rol de AWS Identity and Access Management (IAM) que permite a Systems Manager Automation realizar las acciones en su nombre.
+ IAMRoleID

  Tipo: cadena

  Descripción: (obligatorio) el ID del rol de IAM que desea eliminar.

**Permisos de IAM necesarios**

El parámetro `AutomationAssumeRole` requiere las siguientes acciones para utilizar el manual de procedimientos correctamente.
+  `ssm:StartAutomationExecution` 
+  `ssm:GetAutomationExecution` 
+  `iam:DeleteRole` 
+  `iam:DeleteRolePolicy` 
+  `iam:GetRole` 
+  `iam:ListAttachedRolePolicies` 
+  `iam:ListInstanceProfilesForRole` 
+  `iam:ListRolePolicies` 
+  `iam:ListRoles` 
+  `iam:RemoveRoleFromInstanceProfile` 

 **Pasos de documentos** 
+  `aws:executeScript`: recopila el nombre del rol de IAM que especifique en el parámetro `IAMRoleID`. 
+  `aws:executeScript`: recopila las políticas y los perfiles de instancia asociados al rol de IAM. 
+  `aws:executeScript`: elimina las políticas adjuntas. 
+  `aws:executeScript`: elimina el rol de IAM y verifica que el rol se haya eliminado. 

# `AWSConfigRemediation-DeleteIAMUser`
<a name="automation-aws-delete-iam-user"></a>

 **Descripción** 

 El manual de procedimientos `AWSConfigRemediation-DeleteIAMUser` elimina el usuario de AWS Identity and Access Management (IAM) que especifique. Esta automatización elimina o separa los siguientes recursos asociados al usuario de IAM: 
+ Claves de acceso
+ Políticas administradas asociadas
+ Credenciales de Git
+ Membresías a grupos de IAM
+ Contraseña de usuario de IAM
+ Políticas insertadas
+ Uso de dispositivos de autenticación multifactor (MFA)
+ Firma de certificados
+ Clave SSH pública

 [Ejecuta esta automatización (consola)](https://console.aws.amazon.com/systems-manager/automation/execute/AWSConfigRemediation-DeleteIAMUser) 

**Tipo de documento**

Automatización

**Propietario**

Amazon

**Plataformas**

Linux, macOS, Windows

**Parámetros**
+ AutomationAssumeRole

  Tipo: cadena

  Descripción: (obligatorio) el Nombre de recurso de Amazon (ARN) del rol de AWS Identity and Access Management (IAM) que permite a Systems Manager Automation realizar las acciones en su nombre.
+ IAMUserID

  Tipo: cadena

  Descripción: (obligatorio) el ID del usuario de IAM que desea eliminar.

**Permisos de IAM necesarios**

El parámetro `AutomationAssumeRole` requiere las siguientes acciones para utilizar el manual de procedimientos correctamente.
+  `ssm:StartAutomationExecution` 
+  `ssm:GetAutomationExecution` 
+  `iam:DeactivateMFADevice` 
+  `iam:DeleteAccessKey` 
+  `iam:DeleteLoginProfile` 
+  `iam:DeleteServiceSpecificCredential` 
+  `iam:DeleteSigningCertificate` 
+  `iam:DeleteSSHPublicKey` 
+  `iam:DeleteVirtualMFADevice` 
+  `iam:DeleteUser` 
+  `iam:DeleteUserPolicy` 
+  `iam:DetachUserPolicy` 
+  `iam:GetUser` 
+  `iam:ListAttachedUserPolicies` 
+  `iam:ListAccessKeys` 
+  `iam:ListGroupsForUser` 
+  `iam:ListMFADevices` 
+  `iam:ListServiceSpecificCredentials` 
+  `iam:ListSigningCertificates` 
+  `iam:ListSSHPublicKeys` 
+  `iam:ListUserPolicies` 
+  `iam:ListUsers` 
+  `iam:RemoveUserFromGroup` 

 **Pasos de documentos** 
+  `aws:executeScript`: recopila el nombre de usuario del usuario de IAM que especifique en el parámetro `IAMUserId`. 
+  `aws:executeScript`: recopila las claves de acceso, los certificados, las credenciales, los dispositivos MFA y las claves SSH asociadas al usuario de IAM. 
+  `aws:executeScript`: recopila las membresías a grupos y las políticas del usuario de IAM. 
+  `aws:executeScript`: elimina las claves de acceso, los certificados, las credenciales, los dispositivos MFA y las claves SSH asociadas al usuario de IAM. 
+  `aws:executeScript`: elimina las membresías a grupos y las políticas del usuario de IAM. 
+  `aws:executeScript`: elimina el usuario de IAM y verifica que el usuario se haya eliminado. 

# `AWSConfigRemediation-DeleteUnusedIAMGroup`
<a name="automation-aws-delete-iam-group"></a>

 **Descripción** 

 El manual de procedimientos `AWSConfigRemediation-DeleteUnusedIAMGroup` elimina un grupo de IAM que no contenga ningún usuario. 

 El manual de procedimientos `AWSConfigRemediation-DeleteUnusedIAMGroup` elimina un grupo de IAM que no contenga ningún usuario. 

 [Ejecuta esta automatización (consola)](https://console.aws.amazon.com/systems-manager/automation/execute/AWSConfigRemediation-DeleteUnusedIAMGroup) 

**Tipo de documento**

Automatización

**Propietario**

Amazon

**Plataformas**

Linux, macOS, Windows

**Parámetros**
+ AutomationAssumeRole

  Tipo: cadena

  Descripción: (obligatorio) el Nombre de recurso de Amazon (ARN) del rol de AWS Identity and Access Management (IAM) que permite a Systems Manager Automation realizar las acciones en su nombre.
+ GroupName

  Tipo: cadena

  Descripción: (obligatorio) el nombre del grupo de IAM que desea eliminar.

**Permisos de IAM necesarios**

El parámetro `AutomationAssumeRole` requiere las siguientes acciones para utilizar el manual de procedimientos correctamente.
+  `ssm:StartAutomationExecution` 
+  `ssm:GetAutomationExecution` 
+  `iam:DeleteGroup` 
+  `iam:DeleteGroupPolicy` 
+  `iam:DetachGroupPolicy` 

 **Pasos de documentos** 
+  `aws:executeScript`: elimina las políticas de IAM gestionadas e insertadas asociadas al grupo de IAM de destino y, a continuación, elimina el grupo de IAM. 

# `AWSConfigRemediation-DeleteUnusedIAMPolicy`
<a name="automation-aws-delete-iam-policy"></a>

 **Descripción** 

 El manual de procedimientos `AWSConfigRemediation-DeleteUnusedIAMPolicy` elimina una política (de IAM) AWS Identity and Access Management que no está asociada a ningún usuario, grupo o función. 

 [Ejecuta esta automatización (consola)](https://console.aws.amazon.com/systems-manager/automation/execute/AWSConfigRemediation-DeleteUnusedIAMPolicy) 

**Tipo de documento**

Automatización

**Propietario**

Amazon

**Plataformas**

Linux, macOS, Windows

**Parámetros**
+ AutomationAssumeRole

  Tipo: cadena

  Descripción: (obligatorio) el Nombre de recurso de Amazon (ARN) del rol de AWS Identity and Access Management (IAM) que permite a Systems Manager Automation realizar las acciones en su nombre.
+ IAMResourceId

  Tipo: cadena

  Descripción: (obligatorio) el identificador de recurso de la política de IAM que desea eliminar.

**Permisos de IAM necesarios**

El parámetro `AutomationAssumeRole` requiere las siguientes acciones para utilizar el manual de procedimientos correctamente.
+  `ssm:StartAutomationExecution` 
+  `ssm:GetAutomationExecution` 
+  `config:GetResourceConfigHistory` 
+  `config:ListDiscoveredResources` 
+  `iam:DeletePolicy` 
+  `iam:DeletePolicyVersion` 
+  `iam:GetPolicy` 
+  `iam:ListEntitiesForPolicy` 
+  `iam:ListPolicyVersions` 

 **Pasos de documentos** 
+  `aws:executeScript`: elimina la política que especifique en el parámetro `IAMResourceId` y verifica que se haya eliminado. 

# `AWSConfigRemediation-DetachIAMPolicy`
<a name="automation-aws-detach-iam-policy"></a>

 **Descripción** 

 El manual de procedimientos `AWSConfigRemediation-DetachIAMPolicy` desvincula la política (de IAM) AWS Identity and Access Management que especifique. 

 [Ejecuta esta automatización (consola)](https://console.aws.amazon.com/systems-manager/automation/execute/AWSConfigRemediation-DetachIAMPolicy) 

**Tipo de documento**

Automatización

**Propietario**

Amazon

**Plataformas**

Linux, macOS, Windows

**Parámetros**
+ AutomationAssumeRole

  Tipo: cadena

  Descripción: (obligatorio) el Nombre de recurso de Amazon (ARN) del rol de AWS Identity and Access Management (IAM) que permite a Systems Manager Automation realizar las acciones en su nombre.
+ IAMResourceID

  Tipo: cadena

  Descripción: (obligatorio) el ID de la política de IAM que desea separar.

**Permisos de IAM necesarios**

El parámetro `AutomationAssumeRole` requiere las siguientes acciones para utilizar el manual de procedimientos correctamente.
+  `ssm:StartAutomationExecution` 
+  `ssm:GetAutomationExecution` 
+  `config:GetResourceConfigHistory` 
+  `config:ListDiscoveredResources` 
+  `iam:DetachGroupPolicy` 
+  `iam:DetachRolePolicy` 
+  `iam:DetachUserPolicy` 
+  `iam:GetPolicy` 
+  `iam:ListEntitiesForPolicy` 

 **Pasos de documentos** 
+  `aws:executeScript`: separa la política de IAM de todos los recursos. 

# `AWSConfigRemediation-EnableAccountAccessAnalyzer`
<a name="automation-aws-enable-account-access-analyzer"></a>

 **Descripción** 

 El `AWSConfigRemediation-EnableAccountAccessAnalyzer` manual crea un analizador de acceso AWS Identity and Access Management (IAM) en su. Cuenta de AWS Para obtener información acerca de Access Analyzer, consulte [Cómo utilizar IAM Access Analyzer de AWS](https://docs.aws.amazon.com/IAM/latest/UserGuide/what-is-access-analyzer.html) en la *Guía del usuario de IAM*. 

 [Ejecuta esta automatización (consola)](https://console.aws.amazon.com/systems-manager/automation/execute/AWSConfigRemediation-EnableAccountAccessAnalyzer) 

**Tipo de documento**

Automatización

**Propietario**

Amazon

**Plataformas**

Linux, macOS, Windows

**Parámetros**
+ AnalyzerName

  Tipo: cadena

  Descripción: (obligatorio) nombre de la analizadora que se va a crear.
+ AutomationAssumeRole

  Tipo: cadena

  Descripción: (obligatorio) el Nombre de recurso de Amazon (ARN) del rol de AWS Identity and Access Management (IAM) que permite a Systems Manager Automation realizar las acciones en su nombre.

**Permisos de IAM necesarios**

El parámetro `AutomationAssumeRole` requiere las siguientes acciones para utilizar el manual de procedimientos correctamente.
+  `ssm:StartAutomationExecution` 
+  `ssm:GetAutomationExecution` 
+  `access-analyzer:CreateAnalyzer` 
+  `access-analyzer:GetAnalyzer` 

 **Pasos de documentos** 
+  `aws:executeAwsApi`: crea un analizador de acceso para su cuenta. 
+  `aws:waitForAwsResourceProperty`: espera a que el estado del analizador de acceso sea `ACTIVE`. 
+  `aws:assertAwsResourceProperty`: confirma que el estado del analizador de acceso sea `ACTIVE`. 

# `AWSSupport-GrantPermissionsToIAMUser`
<a name="automation-awssupport-grantpermissionstoiamuser"></a>

 **Descripción** 

 Este manual de procedimientos concede los permisos especificados a un grupo de IAM (nuevo o existente) y añade el usuario de IAM existente. Las políticas que puede elegir: [Billing](https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/job-function/Billing$serviceLevelSummary) o [Support](https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/AWSSupportAccess$serviceLevelSummary). Para habilitar el acceso de facturación para IAM, recuerde activar también el [acceso del usuario de IAM y del usuario federado a las páginas de facturación y administración de costos](https://docs.aws.amazon.com/console/iam/billing-enable). 

**importante**  
Si proporciona un grupo de IAM existente, todos los usuarios actuales de IAM en el grupo de reciben los nuevos permisos.

 [Ejecuta esta automatización (consola)](https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-GrantPermissionsToIAMUser) 

**Tipo de documento**

Automatización

**Propietario**

Amazon

**Plataformas**

Linux, macOS, Windows

**Parámetros**
+ AutomationAssumeRole

  Tipo: cadena

  Descripción: (opcional) el Nombre de recurso de Amazon (ARN) del rol de AWS Identity and Access Management (IAM) que permite a Systems Manager Automation realizar las acciones en su nombre. Si no se especifica ningún rol, Systems Manager Automation utiliza los permisos del usuario que comienza este manual de procedimientos.
+ IAMGroupNombre

  Tipo: cadena

  Predeterminado: ExampleSupportAndBillingGroup

   Descripción: (obligatorio) puede ser un grupo nuevo o existente. Debe cumplir con [Límites de nombres de entidades de IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-limits.html#reference_iam-limits-names). 
+ IAMUserNombre

  Tipo: cadena

  Predeterminado: ExampleUser

  Descripción: (obligatorio) debe ser un usuario existente.
+ LambdaAssumeRole

  Tipo: cadena

  Descripción: (opcional) el ARN del rol asumido por Lambda.
+ Permisos

  Tipo: cadena

  Valores válidos: SupportFullAccess \$1 BillingFullAccess \$1 SupportAndBillingFullAccess

  Predeterminado: SupportAndBillingFullAccess

   Descripción: (obligatorio) elija una de estas opciones: `SupportFullAccess` concede acceso completo al centro de soporte \$1 `BillingFullAccess` concede acceso completo al panel de facturación \$1 `SupportAndBillingFullAccess` concede acceso completo tanto al centro de soporte como al panel de facturación. Más información sobre las políticas en Detalles del documento. 

**Permisos de IAM necesarios**

El parámetro `AutomationAssumeRole` requiere las siguientes acciones para utilizar el manual de procedimientos correctamente.

 Los permisos necesarios dependen de cómo se ejecute `AWSSupport-GrantPermissionsToIAMUser`. 

 **En ejecución como usuario o rol que ha iniciado sesión actualmente** 

 Se recomienda tener asociada la política administrada `AmazonSSMAutomationRole` de Amazon y los siguientes permisos adicionales para poder crear la función de Lambda y el rol de IAM que pasar a Lambda: 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "lambda:InvokeFunction",
                "lambda:CreateFunction",
                "lambda:DeleteFunction",
                "lambda:GetFunction"
            ],
            "Resource": "arn:aws:lambda:*:111122223333:function:AWSSupport-*",
            "Effect": "Allow"
        },
        {
            "Effect": "Allow",
            "Action": [
                "iam:CreateGroup",
                "iam:AddUserToGroup",
                "iam:ListAttachedGroupPolicies",
                "iam:GetGroup",
                "iam:GetUser"
            ],
            "Resource": [
                "arn:aws:iam::*:user/*",
                "arn:aws:iam::*:group/*"
            ]
        },
        {
            "Effect": "Allow",
            "Action": [
                "iam:AttachGroupPolicy"
            ],
            "Resource": "*",
            "Condition": {
                "ArnEquals": {
                    "iam:PolicyArn": [
                        "arn:aws:iam::aws:policy/job-function/Billing",
                        "arn:aws:iam::aws:policy/AWSSupportAccess"
                    ]
                }
            }
        },
        {
            "Effect": "Allow",
            "Action": [
                "iam:ListAccountAliases",
                "iam:GetAccountSummary"
            ],
            "Resource": "*"
        }
    ]
}
```

------

 **Uso AutomationAssumeRole y LambdaAssumeRole** 

 El usuario debe tener los StartAutomationExecution permisos **ssm:** en el runbook e **iam: PassRole en las funciones de IAM** transferidas como y. **AutomationAssumeRole**LambdaAssumeRole**** A continuación se incluyen los permisos que necesita cada rol de IAM: 

```
AutomationAssumeRole

                    {
                        "Version": "2012-10-17",		 	 	 
                        "Statement": [
                            {
                                "Action": [
                                    "lambda:InvokeFunction",
                                    "lambda:CreateFunction",
                                    "lambda:DeleteFunction",
                                    "lambda:GetFunction"
                                ],
                                "Resource": "arn:aws:lambda:*:ACCOUNTID:function:AWSSupport-*",
                                "Effect": "Allow"
                            }
                        ]
                    }
```

```
LambdaAssumeRole

                {
                    "Version": "2012-10-17",		 	 	 
                    "Statement": [
                        {
                            "Effect" : "Allow",
                            "Action" : [
                                "iam:CreateGroup",
                                "iam:AddUserToGroup",
                                "iam:ListAttachedGroupPolicies",
                                "iam:GetGroup",
                                "iam:GetUser"
                            ],
                            "Resource" : [
                                "arn:aws:iam::*:user/*",
                                "arn:aws:iam::*:group/*"
                            ]
                        },
                        {
                            "Effect" : "Allow",
                            "Action" : [
                                "iam:AttachGroupPolicy"
                            ],
                            "Resource": "*",
                            "Condition": {
                                "ArnEquals": {
                                    "iam:PolicyArn": [
                                        "arn:aws:iam::aws:policy/job-function/Billing",
                                        "arn:aws:iam::aws:policy/AWSSupportAccess"
                                    ]
                                }
                            }
                        },
                        {
                            "Effect" : "Allow",
                            "Action" : [
                                "iam:ListAccountAliases",
                                "iam:GetAccountSummary"
                            ],
                            "Resource" : "*"
                        }
                    ]
                }
```

 **Pasos de documentos** 

1.  `aws:createStack`- Ejecute la CloudFormation plantilla para crear una función Lambda. 

1.  `aws:invokeLambdaFunction`: para configurar permisos de IAM para Lambda. 

1.  `aws:deleteStack`- Eliminar CloudFormation plantilla. 

 **Salidas** 

configureIAM.Payload

# `AWSConfigRemediation-RemoveUserPolicies`
<a name="automation-aws-remove-user-policies"></a>

 **Descripción** 

 El manual de procedimientos `AWSConfigRemediation-RemoveUserPolicies` elimina las políticas insertadas de AWS Identity and Access Management (IAM) y separa las políticas gestionadas asociadas al usuario que especifique. 

 [Ejecuta esta automatización (consola)](https://console.aws.amazon.com/systems-manager/automation/execute/AWSConfigRemediation-RemoveUserPolicies) 

**Tipo de documento**

Automatización

**Propietario**

Amazon

**Plataformas**

Linux, macOS, Windows

**Parámetros**
+ AutomationAssumeRole

  Tipo: cadena

  Descripción: (obligatorio) el Nombre de recurso de Amazon (ARN) del rol de AWS Identity and Access Management (IAM) que permite a Systems Manager Automation realizar las acciones en su nombre.
+ IAMUser- ID

  Tipo: cadena

  Descripción: (obligatorio) el ID del usuario del que desea eliminar políticas.
+ PolicyType

  Tipo: cadena

  Valores válidos: All \$1 Inline \$1 Managed

  Valor predeterminado: All

  Descripción: (obligatorio) el tipo de políticas de IAM que desea eliminar del usuario.

**Permisos de IAM necesarios**

El parámetro `AutomationAssumeRole` requiere las siguientes acciones para utilizar el manual de procedimientos correctamente.
+  `ssm:StartAutomationExecution` 
+  `ssm:GetAutomationExecution` 
+  `iam:DeleteUserPolicy` 
+  `iam:DetachUserPolicy` 
+  `iam:ListAttachedUserPolicies` 
+  `iam:ListUserPolicies` 
+  `iam:ListUsers` 

 **Pasos de documentos** 
+  `aws:executeScript`: elimina y separa las políticas de IAM del usuario que especifique en el parámetro `IAMUserID`. 

# `AWSConfigRemediation-ReplaceIAMInlinePolicy`
<a name="automation-aws-replace-iam-policy"></a>

 **Descripción** 

 El `AWSConfigRemediation-ReplaceIAMInlinePolicy` manual reemplaza una política en línea AWS Identity and Access Management (IAM) por una política de IAM gestionada replicada. En el caso de una política insertada asociada a un usuario, grupo o función, los permisos de la política insertada se clonan en una política de IAM gestionada. La política de IAM gestionada se añade al recurso y la política integrada se elimina. AWS Config debe estar habilitada en el Región de AWS lugar donde se ejecuta esta automatización. 

 [Ejecuta esta automatización (consola)](https://console.aws.amazon.com/systems-manager/automation/execute/AWSConfigRemediation-ReplaceIAMInlinePolicy) 

**Tipo de documento**

Automatización

**Propietario**

Amazon

**Plataformas**

Linux, macOS, Windows

**Parámetros**
+ AutomationAssumeRole

  Tipo: cadena

  Descripción: (obligatorio) el Nombre de recurso de Amazon (ARN) del rol de AWS Identity and Access Management (IAM) que permite a Systems Manager Automation realizar las acciones en su nombre.
+ InlinePolicyName

  Tipo: StringList

  Descripción: (obligatoria) la política de IAM insertada que desea reemplazar.
+ ResourceId

  Tipo: cadena

  Descripción: (obligatorio) el ID del usuario, grupo o rol de IAM cuya política insertada desea reemplazar.

**Permisos de IAM necesarios**

El parámetro `AutomationAssumeRole` requiere las siguientes acciones para utilizar el manual de procedimientos correctamente.
+  `ssm:StartAutomationExecution` 
+  `ssm:GetAutomationExecution` 
+  `iam:AttachGroupPolicy` 
+  `iam:AttachRolePolicy` 
+  `iam:AttachUserPolicy` 
+  `iam:CreatePolicy` 
+  `iam:CreatePolicyVersion` 
+  `iam:DeleteGroupPolicy` 
+  `iam:DeleteRolePolicy` 
+  `iam:DeleteUserPolicy` 
+  `iam:GetGroupPolicy` 
+  `iam:GetRolePolicy` 
+  `iam:GetUserPolicy` 
+  `iam:ListGroupPolicies` 
+  `iam:ListRolePolicies` 
+  `iam:ListUserPolicies` 

 **Pasos de documentos** 
+  `aws:executeScript`: sustituya la política de IAM insertada por una política AWS replicada en el recurso que especifique. 

# `AWSConfigRemediation-RevokeUnusedIAMUserCredentials`
<a name="automation-aws-revoke-iam-user"></a>

 **Descripción** 

 El `AWSConfigRemediation-RevokeUnusedIAMUserCredentials` manual revoca las contraseñas no utilizadas AWS Identity and Access Management (IAM) y las claves de acceso activas. Este manual también desactiva las claves de acceso caducadas y elimina los perfiles de inicio de sesión caducados. AWS Config debe estar habilitado en el Región de AWS lugar donde se ejecuta esta automatización. 

 [Ejecuta esta automatización (consola)](https://console.aws.amazon.com/systems-manager/automation/execute/AWSConfigRemediation-RevokeUnusedIAMUserCredentials) 

**Tipo de documento**

Automatización

**Propietario**

Amazon

**Plataformas**

Linux, macOS, Windows

**Parámetros**
+ AutomationAssumeRole

  Tipo: cadena

  Descripción: (obligatorio) el Nombre de recurso de Amazon (ARN) del rol de AWS Identity and Access Management (IAM) que permite a Systems Manager Automation realizar las acciones en su nombre.
+ IAMResourceID

  Tipo: cadena

  Descripción: (obligatorio) el ID del recurso de IAM del que desea revocar las credenciales no utilizadas.
+ MaxCredentialUsageAge

  Tipo: cadena

  Predeterminado: 90

  Descripción: (obligatorio) el número de días en los que se debe haber utilizado la credencial.

**Permisos de IAM necesarios**

El parámetro `AutomationAssumeRole` requiere las siguientes acciones para utilizar el manual de procedimientos correctamente.
+  `ssm:StartAutomationExecution` 
+  `ssm:GetAutomationExecution` 
+  `config:ListDiscoveredResources` 
+  `iam:DeleteAccessKey` 
+  `iam:DeleteLoginProfile` 
+  `iam:GetAccessKeyLastUsed` 
+  `iam:GetLoginProfile` 
+  `iam:GetUser` 
+  `iam:ListAccessKeys` 
+  `iam:UpdateAccessKey` 

 **Pasos de documentos** 
+  `aws:executeScript`: revoca las credenciales de IAM del usuario especificado en el parámetro `IAMResourceId`. Las claves de acceso caducadas se desactivan y los perfiles de inicio de sesión caducados se eliminan. 

**nota**  
Asegúrese de configurar el `MaxCredentialUsageAge` parámetro de esta acción correctiva para que coincida con el `maxAccessKeyAge` parámetro de la AWS Config regla que utiliza para activar esta acción: [access-keys-rotated](https://docs.aws.amazon.com/config/latest/developerguide/access-keys-rotated.html).

# `AWSConfigRemediation-SetIAMPasswordPolicy`
<a name="automation-aws-set-iam-policy"></a>

 **Descripción** 

 El manual de procedimientos `AWSConfigRemediation-SetIAMPasswordPolicy` establece la política de contraseñas de usuario de AWS Identity and Access Management (IAM) para su Cuenta de AWS. 

 [Ejecuta esta automatización (consola)](https://console.aws.amazon.com/systems-manager/automation/execute/AWSConfigRemediation-SetIAMPasswordPolicy) 

**Tipo de documento**

Automatización

**Propietario**

Amazon

**Plataformas**

Linux, macOS, Windows

**Parámetros**
+ AutomationAssumeRole

  Tipo: cadena

  Descripción: (obligatorio) el Nombre de recurso de Amazon (ARN) del rol de AWS Identity and Access Management (IAM) que permite a Systems Manager Automation realizar las acciones en su nombre.
+ AllowUsersToChangePassword

  Tipo: Booleano

  Predeterminado: false

   Descripción: (opcional) Si se establece en`true`, todos los usuarios de IAM de su cuenta Cuenta de AWS pueden utilizarla Consola de administración de AWS para cambiar sus contraseñas. 
+ HardExpiry

  Tipo: Booleano

  Predeterminado: false

   Descripción: (opcional) si se establece en `true`, los usuarios de IAM no pueden restablecer sus contraseñas una vez caducada la contraseña. 
+ MaxPasswordAge

  Tipo: entero

  Predeterminado: 0

  Descripción: (opcional) el número de días que la contraseña de un usuario de IAM es válida.
+ MinimumPasswordLength

  Tipo: entero

  Valor predeterminado: 6

  Descripción: (opcional) el número mínimo de caracteres que puede tener la contraseña de un usuario de IAM.
+ PasswordReusePrevention

  Tipo: entero

  Predeterminado: 0

  Descripción: (opcional) el número de contraseñas anteriores que un usuario de IAM no puede reutilizar.
+ RequireLowercaseCharacters

  Tipo: Booleano

  Predeterminado: false

   Descripción: (opcional) si se establece en `true`, la contraseña de un usuario de IAM debe contener una minúscula del alfabeto latino básico ISO (de la a a la z). 
+ RequireNumbers

  Tipo: Booleano

  Predeterminado: false

   Descripción: (opcional) si se establece en `true`, la contraseña de un usuario de IAM debe contener un carácter numérico (del 0 al 9). 
+ RequireSymbols

  Tipo: Booleano

  Predeterminado: false

   Descripción: (opcional) si se establece en `true`, la contraseña de un usuario de IAM debe contener un carácter que no sea alfanumérico (\$1 @ \$1 \$1 % ^ \$1 ( ) \$1 \$1 - = [ ] \$1 \$1 \$1 '). 
+ RequireUppercaseCharacters

  Tipo: Booleano

  Predeterminado: false

   Descripción: (opcional) si se establece en `true`, la contraseña de un usuario de IAM debe contener un carácter en mayúscula del alfabeto latino básico ISO (de la A a la Z). 

**Permisos de IAM necesarios**

El parámetro `AutomationAssumeRole` requiere las siguientes acciones para utilizar el manual de procedimientos correctamente.
+  `ssm:StartAutomationExecution` 
+  `ssm:GetAutomationExecution` 
+  `iam:GetAccountPasswordPolicy` 
+  `iam:UpdateAccountPasswordPolicy` 

 **Pasos de documentos** 
+  `aws:executeScript`: establece la política de contraseñas de usuario de IAM en función de los valores que especifique para los parámetros del manual de procedimientos de su Cuenta de AWS. 

# `AWSSupport-ContainIAMPrincipal`
<a name="awssupport-contain-iam-principal"></a>

 **Descripción** 

En caso de que se produzca un incidente de seguridad o se sospeche que un usuario o rol AWS Identity and Access Management (IAM) o un usuario del Centro de Identidad (IDC) están en peligro, es fundamental aislar rápidamente la AWS identidad afectada y, al mismo tiempo, preservar su configuración para su investigación. El `AWSSupport-ContainIAMPrincipal` manual proporciona un enfoque estructurado y reversible para contener las identidades de IAM o IDC comprometidas, lo que bloquea de manera efectiva su acceso a AWS los recursos y evita que la vulnerabilidad se propague.

Este proceso automatizado permite la investigación sin alterar permanentemente la configuración de la identidad, lo que permite restablecer el acceso normal cuando se considere apropiado. El proceso de contención mantiene al usuario o la función dentro de IAM o al usuario dentro de IDC, a la vez que lo aísla eficazmente de todas las actividades de la red. Este aislamiento impide que el recurso de identidad contenido se comunique con los recursos de su Amazon Virtual Private Cloud o acceda a los recursos de Internet. La contención está diseñada para ser reversible, lo que permite restablecer el acceso normal cuando se considere apropiado.

 **¿Cómo funciona?** 

El `AWSSupport-ContainIAMPrincipal` manual implementa un proceso de contención integral para los usuarios, las funciones y los usuarios del Centro de Identidad de IAM. Cuando se ejecuta en `Contain` modo, primero valida todos los parámetros de entrada y realiza comprobaciones de seguridad en el bucket de Amazon S3 especificado. A continuación, recopila información detallada sobre el principal de IAM objetivo y aplica las medidas de contención adecuadas en función del tipo principal. Para los usuarios de IAM, deshabilita las claves de acceso, elimina el acceso a la consola y adjunta una política de denegación. En el caso de las funciones de IAM, incluye una política de denegación que revoca los permisos de las sesiones creadas antes de la contención. Para los usuarios de Identity Center, elimina los conjuntos de permisos y las pertenencias a grupos y aplica una política de denegación. Durante todo el proceso, el runbook hace una copia de seguridad de la configuración original en un bucket de Amazon S3 para su posible restauración. Cuando se ejecuta en `Restore` modo, intenta revertir el principal a su estado previo a la contención mediante la configuración de la que se ha hecho una copia de seguridad. El manual incluye una `DryRun` opción para previsualizar los cambios sin necesidad de aplicarlos y proporciona informes exhaustivos sobre las operaciones exitosas y los escenarios de fallo.

**importante**  
**Uso de privilegios elevados:** este documento SSM realiza varias operaciones que requieren privilegios elevados, como la modificación de las políticas de identidad de IAM e IDC y la aplicación de configuraciones de cuarentena. Estas acciones podrían provocar una escalada de privilegios o afectar a otras cargas de trabajo que dependen de las identidades objetivo. Debe revisar los permisos otorgados al rol especificado por el `AutomationAssumeRole` parámetro y asegurarse de que son adecuados para el caso de uso previsto. Puede consultar la siguiente AWS documentación para obtener más información sobre los permisos de IAM:   
[Permisos de Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_permissions.html)
[AWS Permisos de automatización de Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-permissions.html)
**Riesgos de falta de disponibilidad de la carga de trabajo:** este documento de Systems Manager lleva a cabo acciones de aislamiento que podrían provocar la falta de disponibilidad o la interrupción de las cargas de trabajo. Cuando se ejecuta durante un evento de seguridad, restringe el acceso al recurso afectado al revocar los permisos de la AWS API de las identidades de IAM e IDC especificadas, lo que les impide realizar llamadas o realizar acciones a la API. AWS Esto podría afectar a cualquier aplicación o servicio que dependa de estas identidades.
**Creación de recursos adicionales:** el documento de automatización puede crear recursos adicionales de forma condicional, como un bucket de Amazon Simple Storage Service (Amazon S3) y objetos de Amazon S3 almacenados en él, en función de los parámetros de ejecución. Estos recursos incurrirán en cargos adicionales en función de su AWS uso.
**Riesgos de restauración:** si el parámetro *Action* está establecido en`Restore`, este documento SSM intenta restaurar la configuración de identidad de IAM o IDC a su estado original. Sin embargo, existe el riesgo de que el proceso de restauración falle y deje la identidad de IAM o IDC en un estado incoherente. El documento proporciona instrucciones para la restauración manual en caso de que se produzcan estos errores, pero debe estar preparado para gestionar posibles problemas durante el proceso de restauración.
Se recomienda revisar el manual detenidamente, comprender sus posibles impactos y probarlo en un entorno que no sea de producción antes de ejecutarlo en su entorno de producción.

 [Ejecuta esta automatización (consola)](https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-ContainIAMPrincipal) 

**Tipo de documento**

Automatización

**Propietario**

Amazon

**Plataformas**

/

 **Permisos de IAM necesarios** 

El `AutomationAssumeRole` parámetro requiere los siguientes permisos para utilizar correctamente el manual de ejecución:
+ s3: GetBucketLocation
+ s3: GetBucket
+ s3: ListBucket
+ s3: GetBucketPublicAccessBlocks
+ s3: GetAccountPublicAccessBlocks
+ s3: GetBucketPolicyStatus
+ s3: GetBucketAcl
+ s3: GetObject
+ s3: CreateBucket
+ s3: PutObject
+ objetivo: GetUser
+ objetivo: GetUserPolicy
+ objetivo: GetRole
+ objetivo: ListUserPolicies
+ objetivo: ListAttachedUserPolicies
+ objetivo: ListAccessKeys
+ objetivo: ListMfaDevices
+ objetivo: ListVirtual MFADevices
+ objetivo: GetLoginProfile
+ objetivo: GetPolicy
+ objetivo: GetRolePolicy
+ objetivo: ListPolicies
+ objetivo: ListAttachedRolePolicies
+ objetivo: ListRolePolicies
+ objetivo: UpdateAccessKey
+ objetivo: CreateAccessKey
+ objetivo: DeleteLoginProfile
+ objetivo: DeleteAccessKey
+ objetivo: PutUserPolicy
+ objetivo: DeleteUserPolicy
+ IAM: desactivar MFADevice
+ Soy: AttachRolePolicy
+ objetivo: AttachUserPolicy
+ objetivo: DeleteRolePolicy
+ Yo soy: Tag MFADevice
+ soy: PutRolePolicy
+ objetivo: TagPolicy
+ objetivo: TagRole
+ objetivo: TagUser
+ objetivo: UntagUser
+ objetivo: UntagRole
+ organizaciones: ListAccounts
+ así que: ListPermissionSetsProvisionedToAccount
+ sso: GetInlinePolicyForPermissionSet
+ sso: ListInstances
+ directorio sso: SearchUsers
+ sso: ListPermissionSets
+ sso: ListAccountAssignments
+ directorio sso: DescribeUser
+ almacén de identidades: ListUsers
+ almacén de identidades: ListGroups
+ almacén de identidades: IsMemberInGroups
+ almacén de identidades: ListGroupMemberships
+ administrador de secretos: CreateSecret
+ administrador de secretos: DeleteSecret
+ así que: DeleteAccountAssignment
+ sso: PutInlinePolicyToPermissionSet
+ sso: CreateAccountAssignment
+ sso: DeleteInlinePolicyFromPermissionSet
+ sso: TagResource
+ sso: UntagResource
+ almacén de identidad: DeleteGroupMembership
+ almacén de identidades: CreateGroupMembership

 A continuación, se muestra un ejemplo de una política de IAM que concede los permisos necesarios para: `AutomationAssumeRole` 

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Sid": "S3Permissions",
            "Effect": "Allow",
            "Action": [
                "s3:GetBucketLocation",
                "s3:ListBucket",
                "s3:GetBucketPublicAccessBlock",
                "s3:GetBucketPolicyStatus",
                "s3:GetBucketAcl",
                "s3:GetObject",
                "s3:CreateBucket",
                "s3:PutObject"
            ],
            "Resource": "*"
        },
        {
            "Sid": "IAMPermissions",
            "Effect": "Allow",
            "Action": [
                "iam:GetUser",
                "iam:GetUserPolicy",
                "iam:GetRole",
                "iam:ListUserPolicies",
                "iam:ListAttachedUserPolicies",
                "iam:ListAccessKeys",
                "iam:ListMfaDevices",
                "iam:ListVirtualMFADevices",
                "iam:GetLoginProfile",
                "iam:GetPolicy",
                "iam:GetRolePolicy",
                "iam:ListPolicies",
                "iam:ListAttachedRolePolicies",
                "iam:ListRolePolicies",
                "iam:UpdateAccessKey",
                "iam:CreateAccessKey",
                "iam:DeleteLoginProfile",
                "iam:DeleteAccessKey",
                "iam:PutUserPolicy",
                "iam:DeleteUserPolicy",
                "iam:DeactivateMFADevice",
                "iam:AttachRolePolicy",
                "iam:AttachUserPolicy",
                "iam:DeleteRolePolicy",
                "iam:TagMFADevice",
                "iam:PutRolePolicy",
                "iam:TagPolicy",
                "iam:TagRole",
                "iam:TagUser",
                "iam:UntagUser",
                "iam:UntagRole"
            ],
            "Resource": "*"
        },
        {
            "Sid": "OrganizationsPermissions",
            "Effect": "Allow",
            "Action": [
                "organizations:ListAccounts"
            ],
            "Resource": "*"
        },
        {
            "Sid": "SSOPermissions",
            "Effect": "Allow",
            "Action": [
                "sso:ListPermissionSetsProvisionedToAccount",
                "sso:GetInlinePolicyForPermissionSet",
                "sso:ListInstances",
                "sso-directory:SearchUsers",
                "sso:ListPermissionSets",
                "sso:ListAccountAssignments",
                "sso-directory:DescribeUser",
                "sso:DeleteAccountAssignment",
                "sso:PutInlinePolicyToPermissionSet",
                "sso:CreateAccountAssignment",
                "sso:DeleteInlinePolicyFromPermissionSet",
                "sso:TagResource",
                "sso:UntagResource"
            ],
            "Resource": "*"
        },
        {
            "Sid": "IdentityStorePermissions",
            "Effect": "Allow",
            "Action": [
                "identitystore:ListUsers",
                "identitystore:ListGroups",
                "identitystore:IsMemberInGroups",
                "identitystore:ListGroupMemberships",
                "identitystore:DeleteGroupMembership",
                "identitystore:CreateGroupMembership"
            ],
            "Resource": "*"
        },
        {
            "Sid": "SecretsManagerPermissions",
            "Effect": "Allow",
            "Action": [
                "secretsmanager:CreateSecret",
                "secretsmanager:DeleteSecret"
            ],
            "Resource": "*"
        }
    ]
}
```

------

 **Instrucciones** 

Siga estos pasos para configurar la automatización:

1. Navegue hasta [AWSSupport-ContainIAMPrincipal](https://console.aws.amazon.com/systems-manager/documents/AWSSupport-ContainIAMPrincipal/description)la consola AWS de Systems Manager.

1. Elija **Execute automation** (Ejecutar automatización).

1. Para los parámetros de entrada, introduzca lo siguiente:
   + **AutomationAssumeRole (Opcional):**
     + Descripción: (opcional) El nombre del recurso de Amazon (ARN) de la función AWS Identity and Access Management (IAM) (IAM) que permite a Systems Manager Automation realizar las acciones en su nombre. Si no se especifica ningún rol, Systems Manager Automation utiliza los permisos del usuario que inicia este runbook.
     + Tipo: `AWS::IAM::Role::Arn`
   + **PrincipalType (Obligatorio):**
     + Descripción: (obligatorio) El tipo principal de AWS IAM: usuario de IAM, rol de IAM o usuario de Identity Center.
     + Tipo: cadena
     + Valores permitidos: `IAM user|IAM role|Identity Center user`
   + **PrincipalName (Obligatorio):**
     + Descripción: (Obligatorio) El nombre del director de IAM. Para los usuarios de Identity Center, proporcione el nombre de usuario.
     + Tipo: cadena
     + Valor permitido: `^[a-zA-Z0-9\\.\\-_\\\\!*'()/+=,@]{1,1024}$`
   + **Acción (obligatoria):**
     + Descripción: (Obligatorio) Seleccione `Contain` esta opción para aislar el principal de IAM de destino o `Restore` intentar restaurar el principal de IAM a su configuración original a partir de una copia de seguridad anterior.
     + Tipo: cadena
     + Valores permitidos: `Contain|Restore`
   + **DryRun (Opcional):**
     + Descripción: (opcional) Si se configura en`true`, la automatización no realizará ningún cambio en el principal de IAM objetivo, sino que generará datos sobre lo que habría intentado cambiar, detallando cada paso. Valor predeterminado: `true`.
     + Tipo: Booleano
     + Valores permitidos: `true|false`
   + **ActivateDisabledKeys(Condicional):**
     + Descripción: (Condicional) Si el parámetro de entrada Action está establecido como `Restore` y PrincipalType está configurado como usuario de IAM, esta opción determina si esta automatización debe intentar activar las claves de acceso asociadas si está desactivada. Tenga en cuenta que no se puede verificar la integridad de una clave de acceso comprometida. AWS recomienda encarecidamente no reactivar una clave comprometida. En su lugar, es recomendable generar nuevas claves. Valor predeterminado: `false`.
     + Tipo: Booleano
     + Valores permitidos: `true|false`
   + **Copias de seguridad 3 BucketName (condicionales):**
     + Descripción: (Condicional) El bucket de Amazon S3 para hacer una copia de seguridad de la configuración principal de IAM cuando la acción está establecida en `Contain` o para restaurar la configuración desde que está `Restore` establecida la acción. Tenga en cuenta que si la acción especificada es `Contain` y el runbook no puede acceder al bucket o no se proporciona un valor, se crea un nuevo bucket en su cuenta con ese nombre. `awssupport-containiamprincipal-<random-string>` Si DryRun se establece en `true` este parámetro, es obligatorio.
     + Tipo: `AWS::S3::Bucket::Name`
   + **Copias de seguridad S3 KeyName (condicionales):**
     + Descripción: (Condicional) Si Action se establece en`Restore`, se especifica la clave de Amazon S3 que la automatización utilizará para intentar restaurar la configuración principal de IAM. La clave Amazon S3 normalmente sigue este formato:`{year}/{month}/{day}/{hour}/{minute}/{automation_execution_id}.json`. La clave se puede obtener del resultado de una ejecución anterior de automatización de contención.
     + Tipo: cadena
     + Valor permitido: `^[a-zA-Z0-9\\.\\-_\\\\!*'()/]{0,1024}$`
   + **Copias de seguridad S3 BucketAccess (condicionales):**
     + Descripción: (Condicional) El ARN de los usuarios o roles de IAM a los que se les permitirá acceder al bucket de respaldo de Amazon S3 después de ejecutar las acciones de contención. Este parámetro es obligatorio cuando Action es. `Contain` El usuario en cuyo contexto se ejecuta la automatización o AutomationAssumeRole, en su defecto, el usuario en cuyo contexto se ejecuta la automatización se añade automáticamente a la lista.
     + Tipo: StringList
     + Valor permitido: `^$|^arn:(aws|aws-cn|aws-us-gov|aws-iso(-[a-z])?):iam::[0-9]{12}:(role|user)\\/[\\w+\\/=,.@-]+$`
   + **TagIdentifier (Opcional):**
     + Descripción: (opcional) Etiquete el director de IAM con una etiqueta de su elección utilizando el siguiente formato:`Key=<EXAMPLE_KEY>,Value=<EXAMPLE_VALUE>`. Esta opción le permite realizar un seguimiento de los principios de IAM a los que se ha dirigido este manual. **Nota:** Las claves y los valores de las etiquetas distinguen entre mayúsculas y minúsculas.
     + Tipo: cadena
     + Valor permitido: `^$|^[Kk][Ee][Yy]=[\\+\\-\\=\\.\\_\\:\\/@a-zA-Z0-9]{1,128},[Vv][Aa][Ll][Uu][Ee]=[\\+\\-\\=\\.\\_\\:\\/@a-zA-Z0-9]{0,128}$`

1. Seleccione Ejecutar.

1. Se inicia la automatización.

1. Este documento realiza los siguientes pasos:
   + **ValidateRequiredInputs**

     Valida los parámetros de entrada de automatización necesarios en función de lo especificado. `Action`
   + **CheckBackupS3BucketName**

     Comprueba si el bucket Amazon S3 de Amazon S3 de destino puede conceder `read` acceso `write` público a sus objetos. En el caso de un flujo de trabajo de contención, se crea un nuevo bucket de Amazon S3 si el `BackupS3BucketName` bucket no existe.
   + **BranchOnAction**

     Ramifica la automatización en función del valor especificado`Action`.
   + **BranchOnPrincipalTypeAndDryRun**

     Ramifica la automatización en función del tipo de principal de IAM (usuario de IAM, rol de IAM o usuario de Identity Center) y si se está ejecutando en modo. `DryRun`
   + **BranchOnPrincipalTypeForContain**

     Ramifica la automatización según la `Contain` acción y el tipo principal de IAM (usuario de IAM, rol de IAM o usuario de Identity Center) especificado en la entrada.
   + **Obtenga IAMUser**

     Obtiene la hora de creación y el nombre de usuario del usuario de IAM objetivo.
   + **Obtenga los detalles IAMUser**

     Obtiene y almacena la configuración del usuario de IAM de destino, incluidas las políticas en línea, las políticas administradas, las claves de acceso, los dispositivos MFA y el perfil de inicio de sesión.
   + **Actualizaciones 3 KeyForUser**

     Actualiza la variable de automatización 'S3Key' a partir del resultado del paso. `GetIAMUserDetails`
   + **Obtenga IAMRole**

     Obtiene la hora de creación, el nombre del rol y la ruta del rol de IAM objetivo.
   + **Obtenga los detalles IAMRole**

     Obtiene y almacena la configuración de la función de IAM de destino, incluidas las políticas integradas y las políticas gestionadas asociadas a la función.
   + **Actualiza S3 KeyForRole**

     Actualiza la variable de automatización 'S3Key' a partir del resultado del paso. `GetIAMRoleDetails`
   + **GetIdentityStoreId**

     Obtiene el ID de la instancia del AWS IAM Identity Center asociada a la cuenta. AWS 
   + **Obtenga IDCUser**

     Obtiene el ID de usuario del Identity Center de destino mediante el ID del almacén de identidades.
   + **Recopile IDCUser los detalles**

     Obtiene y almacena la configuración del usuario de Identity Center de destino, incluidas las asignaciones de cuentas, los conjuntos de permisos asociados y las políticas integradas.
   + **Actualiza S3 KeyFor IDCUser**

     Actualiza la variable de automatización 'S3Key' a partir del resultado del paso. `GatherIDCUserDetails`
   + **BranchOnIdentityContain**

     Ramifica la automatización según el valor `DryRun` y el tipo principal de IAM de la acción. `Contain`
   + **BranchOnDisableAccessKeys**

     Ramifica la automatización en función de si el usuario de IAM tiene claves de acceso que deben deshabilitarse.
   + **DisableAccessKeys**

     Desactiva las claves de acceso de los usuarios de IAM activos.
   + **BranchOnDisableConsoleAccess**

     Se ramifica en función de si el usuario de IAM tiene habilitado o no el acceso a la consola de AWS administración.
   + **DisableConsoleAccess**

     Elimina el acceso mediante contraseña del usuario de IAM a la consola de administración. AWS 
   + **AttachInlineDenyPolicyToUser**

     Adjunta una política de denegación al usuario de IAM para revocar los permisos de los tokens de sesión anteriores.
   + **AttachInlineDenyPolicyToRole**

     Adjunta una política de denegación a la función de IAM para revocar los permisos de los tokens de sesión más antiguos.
   + **RemovePermissionSets**

     Elimina los conjuntos de permisos asociados al usuario de Identity Center.
   + **Eliminar IDCUser de IDCGroups**

     Elimina el usuario de Identity Center de los grupos de Identity Center.
   + **AttachInlineDenyPolicyToPermissionSet**

     Adjunta una política de denegación a los conjuntos de permisos asociados al usuario de Identity Center.
   + **BranchOnReactivateKeys**

     Durante el proceso de restauración, ramifica la automatización en función del `ActivateDisabledKeys` parámetro.
   + **DetachInlineDenyPolicy**

     Elimina la política de denegación asociada a la función de IAM durante el proceso de contención.
   + **DetachInlineDenyPolicyFromPermissionSet**

     Elimina la política de denegación adjunta a los conjuntos de permisos durante el proceso de contención.
   + **ReportContain**

     Muestra información detallada sobre las acciones de contención que se llevarían a cabo cuando `DryRun` se establezca en. `True`
   + **ReportRestore**

     Genera información detallada sobre las acciones de restauración que se realizarían cuando `DryRun` esté configurado en. `True`
   + **ReportContainFailure**

     Proporciona instrucciones completas para restaurar manualmente la configuración original del director de IAM durante un escenario de fallo en el flujo de trabajo de contención.
   + **ReportRestoreFailure**

     Proporciona instrucciones detalladas para completar manualmente la restauración de la configuración original del principal de IAM durante un escenario de fallo en el flujo de trabajo de restauración.

1. Una vez finalizada la ejecución, consulte la sección de resultados para ver los resultados detallados de la ejecución:
   + **Contiene IAMPrincipal .Output**

     Proporciona información detallada sobre las acciones de contención que se realizan cuando Action está establecida en Contener y DryRun False. Incluye información sobre la ubicación de la copia de seguridad, las políticas de denegación aplicadas y las configuraciones modificadas.
   + **RestaurarIAMPrincipal. Salida**

     Proporciona información detallada sobre las acciones de restauración que se realizan cuando Action está establecida en Restaurar y DryRun False. Incluye información sobre las configuraciones restauradas y cualquier problema que se haya producido durante la restauración.
   + **ReportContain.Salida**

     Genera información detallada sobre las acciones de contención que se realizarían cuando Action se establece en Contener y DryRun se establece en True. Incluye una comparación de las configuraciones actuales y posteriores a la contención.
   + **ReportRestore.Salida**

     Genera información detallada sobre las acciones de restauración que se realizarían cuando Action se establece en Restore y DryRun en True. Muestra la configuración actual y la configuración original que se restauraría.
   + **ReportContainFailure.Salida**

     Proporciona instrucciones completas para restaurar manualmente la configuración original del director de IAM durante un escenario de fallo en el flujo de trabajo de contención.
   + **ReportRestoreFailure4. Salida**

     Proporciona instrucciones detalladas para completar manualmente la restauración de la configuración original del principal de IAM durante un escenario de error en el flujo de trabajo de restauración.

 **Salidas** 

Una vez finalizada la ejecución, consulte la sección de resultados para ver los resultados detallados:
+ **Contiene... IAMPrincipal Salida**

  Proporciona información detallada sobre las acciones de contención que se realizan cuando Action está establecida en Contener y DryRun False. Incluye información sobre la ubicación de la copia de seguridad, las políticas de denegación aplicadas y las configuraciones modificadas.
+ **RestaurarIAMPrincipal. Salida**

  Proporciona información detallada sobre las acciones de restauración que se realizan cuando Action está establecida en Restaurar y DryRun False. Incluye información sobre las configuraciones restauradas y cualquier problema que se haya producido durante la restauración.
+ **ReportContain.Salida**

  Genera información detallada sobre las acciones de contención que se realizarían cuando Action se establece en Contener y DryRun se establece en True. Incluye una comparación de las configuraciones actuales y posteriores a la contención.
+ **ReportRestore.Salida**

  Genera información detallada sobre las acciones de restauración que se realizarían cuando Action se establece en Restore y DryRun en True. Muestra la configuración actual y la configuración original que se restauraría.
+ **ReportContainFailure.Salida**

  Proporciona instrucciones completas para restaurar manualmente la configuración original del director de IAM durante un escenario de fallo en el flujo de trabajo de contención.
+ **ReportRestoreFailure4. Salida**

  Proporciona instrucciones detalladas para completar manualmente la restauración de la configuración original del principal de IAM durante un escenario de error en el flujo de trabajo de restauración.

 **Referencias** 

Automatización de Systems Manager
+ [Ejecuta esta automatización (consola)](https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-ContainIAMPrincipal)
+ [Ejecución de una automatización sencilla](https://docs.aws.amazon.com//systems-manager/latest/userguide/automation-working-executing.html)
+ [Configuración de la automatización](https://docs.aws.amazon.com//systems-manager/latest/userguide/automation-setup.html)
+ [Flujos de trabajo de automatización de Support](https://aws.amazon.com/premiumsupport/technology/saw/)

# `AWSSupport-TroubleshootSAMLIssues`
<a name="awssupport-troubleshootsamlissues"></a>

 **Descripción** 

 El manual de **AWSSupport-TroubleshootSAMLIssues **automatización ayuda a diagnosticar problemas relacionados con el lenguaje de marcado de aserciones de seguridad (SAML) mediante el análisis de los archivos de respuesta de SAML almacenados en Amazon Simple Storage Service (Amazon S3). Realiza una validación exhaustiva que incluye la verificación del esquema, la validación de firmas, la verificación de las restricciones de audiencia y la verificación del tiempo de caducidad. El manual decodifica y extrae los elementos clave del SAML, como el emisor, las afirmaciones, el asunto, las condiciones, las firmas y los atributos, de la respuesta del SAML. En los entornos en los que se utiliza SAML para acceder a AWS los recursos (como Amazon Connect o Amazon WorkSpaces Applications) a través de un proveedor de identidad de IAM, verifica si los certificados de las firmas de respuesta de SAML coinciden con los certificados configurados en el proveedor de identidades de IAM. 

 **¿Cómo funciona?** 

 El manual de instrucciones lleva a cabo los siguientes pasos: 
+ Valida el formato de respuesta de SAML y los elementos necesarios.
+ Decodifica y extrae los componentes de la respuesta de SAML (emisor, afirmaciones, asunto, condiciones, firmas y atributos).
+ Verifica las firmas digitales con los certificados del proveedor de identidad de IAM cuando se proporcionan.
+ Comprueba las restricciones de audiencia y la validez temporal.
+ Proporciona información de diagnóstico detallada que muestra la estructura SAML analizada y los resultados de la validación.

 [Ejecuta esta automatización (consola)](https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-TroubleshootSAMLIssues) 

**Tipo de documento**

Automatización

**Propietario**

Amazon

**Plataformas**

/

**Permisos de IAM necesarios**

El parámetro `AutomationAssumeRole` requiere las siguientes acciones para utilizar el manual de procedimientos correctamente.
+ `s3:GetBucketLocation`
+ `s3:ListBucket`
+ `s3:GetBucketPublicAccessBlock`
+ `s3:GetAccountPublicAccessBlock`
+ `s3:GetObject`
+ `s3:GetBucketPolicyStatus`
+ `s3:GetEncryptionConfiguration`
+ `s3:GetBucketOwnershipControls`
+ `s3:GetBucketAcl`
+ `s3:GetBucketPolicy`
+ `s3:PutObject`
+ `iam:GetSAMLProvider`
+ `sts:AssumeRole`

Ejemplo de política: 

------
#### [ JSON ]

****  

```
        {
            "Version":"2012-10-17",		 	 	 
            "Statement": [
                {
                    "Action": [
                        "s3:GetBucketLocation",
                        "s3:ListBucket",
                        "s3:GetBucketPublicAccessBlock",
                        "s3:GetAccountPublicAccessBlock",
                        "s3:GetObject",
                        "s3:GetBucketPolicyStatus",
                        "s3:GetEncryptionConfiguration",
                        "s3:GetBucketOwnershipControls",
                        "s3:GetBucketAcl",
                        "s3:GetBucketPolicy",
                        "s3:PutObject",
                        "iam:GetSAMLProvider",
                        "sts:AssumeRole"
                    ],
                    "Resource": "*",
                    "Effect": "Allow"
                }
            ]
        }
```

------

 **Instrucciones** 

Siga estos pasos para configurar la automatización:

1. Antes de usar este manual, debe capturar y almacenar una respuesta SAML codificada en Base64 (archivo txt) en un bucket de S3. [Las instrucciones para capturar las respuestas de SAML se encuentran en este documento](https://docs.aws.amazon.com//IAM/latest/UserGuide/troubleshoot_saml_view-saml-response.html)

1. Navegue hasta [https://console.aws.amazon.com/systems-manager/documents/AWSSupport-TroubleshootSAMLIssues/description](https://console.aws.amazon.com/systems-manager/documents/AWSSupport-TroubleshootSAMLIssues/description)Systems Manager, en Documentos.

1. Elija **Execute automation** (Ejecutar automatización).

1. Para los parámetros de entrada, introduzca lo siguiente:
   + **AutomationAssumeRole (Opcional):**
     + Descripción: (opcional) El nombre del recurso de Amazon (ARN) del rol AWS Identity and Access Management (IAM) que permite a SSM Automation realizar las acciones en su nombre. Si no se especifica ningún rol, Systems Manager Automation utiliza los permisos del usuario que comienza este manual de procedimientos.
     + Tipo: `AWS::IAM::Role::Arn`
   + **InputFileS3URI (obligatorio):**
     + Descripción: URI (obligatorio) de Amazon Simple Storage Service (Amazon S3) del archivo txt de respuesta SAML (p. ej., s3://bucket name/path/to/file - .txt).
     + Tipo: cadena
     + Patrón de permisos: `^s3://[a-z0-9][a-z0-9.-][a-z0-9](/.)?$`
   + **S3 OutputPrefix (opcional):**
     + <executionID of the runbook>Descripción: (opcional) Los archivos de salida del análisis se almacenan en el depósito de entrada con el nombre «saml\$1analysis\$1 .json». Puede usar este parámetro si desea generar un archivo con un prefijo específico. <executionID of the runbook>El valor predeterminado es «output/», en cuyo caso el URI del archivo que generará el resultado será 's3://bucket - name/output/saml \$1analysis\$1 .json'.
     + Tipo: cadena
     + Permitir patrón: `^[a-zA-Z0-9+=,.@\\-_/]*/$`
   + **ExpectedAudience (Opcional):**
     + Descripción: (opcional) Valor de audiencia esperado en la respuesta de SAML. Si no se especifica, utilizamos`urn:amazon:webservices`. Si ha configurado un valor de audiencia específico en su configuración de IdP y SP, proporcione el formato exacto (por ejemplo,`urn:amazon:webservices`,`https://signin.aws.amazon.com/saml`).
     + Tipo: cadena
     + Predeterminado: urn:amazon:webservices
   + **IamIdProviderArn (Opcional):**
     + Descripción: (Opcional) Si utiliza una entidad proveedora de ID de IAM para vincular directamente su IdP AWS con IAM, indique su ARN (por ejemplo,). `arn:aws:iam::<account-id>:saml-provider/<provider-name>`
     + Tipo: cadena
     + Patrón de permisos: `^$|^arn:aws:iam::[0-9]{12}:saml-provider/[a-zA-Z0-9_-]+$`
   + **SAMLAuthenticationHora (opcional):**
     + Descripción: (opcional) Fecha y hora en que se realizó la autenticación SAML. La zona horaria debe ser UTC. Debe estar en YYYY-MM-DDThh formato:mm:ss (p. ej., 2025-02-01T 10:00:00). Si no se proporciona este parámetro, las comprobaciones de caducidad se realizarán comparándolas con la marca de tiempo actual.
     + Tipo: cadena
     + Patrón de permisos: `^$|^\\d{4}-(?:0[1-9]|1[0-2])-(?:0[1-9]|[12]\\d|3[01])T(?:[01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d$`
   + **S3 BucketOwnerRoleArn (opcional):**
     + Descripción: ARN de rol de IAM (opcional) para acceder a los buckets de Amazon S3. El ARN de la función de IAM con permisos para obtener la configuración de acceso público del bucket y el bloqueo de cuentas de Amazon S3, la configuración de cifrado del bucket, el bucket ACLs, el estado de la política del bucket y cargar objetos al bucket. Si no se especifica este parámetro, el runbook utiliza el `AutomationAssumeRole` (si se especifica) o el usuario que inicia este runbook (si `AutomationAssumeRole` no se especifica).
     + Tipo: `AWS::IAM::Role::Arn`

1. Seleccione **Ejecutar**.

1. Se inicia la automatización.

1. Este documento realiza los siguientes pasos:
   + **Validar IAMIDProvider**

     Valida el ARN del proveedor de ID de IAM proporcionado comprobando si existe y es accesible. Si no se proporciona ningún ARN, se omite la validación y el paso se completa correctamente.
   + **Compruebe S3 BucketPublicStatus**

     Comprueba si el bucket de Amazon S3 permite permisos de acceso de lectura o escritura públicos o anónimos. Si el bucket permite estos permisos, la automatización se detiene en este paso.
   + **Comprueba: 3. ObjectExistence**

     Valida el acceso a los buckets de Amazon S3. Comprueba si el depósito y el objeto existen y si la automatización tiene los permisos necesarios para leer desde el origen y escribir en el destino.
   + **Analiza SAMLResponse**

     Analiza el archivo de respuesta SAML realizando las comprobaciones (validación del esquema, verificación de firmas, validación de audiencia, comprobación de caducidad). Genera un informe JSON detallado y lo guarda en la ubicación de Amazon S3 especificada.

1. Una vez finalizada, revise la sección de **resultados** para ver los resultados detallados de la ejecución:
   + La sección de **resultados** contiene información sobre el objeto Amazon S3 donde se describen los resultados del análisis.

1. El objeto Amazon S3 de los resultados del análisis es un archivo Json que contiene la siguiente información:
   + **validation\$1result**: contiene los resultados de validación básicos de la respuesta de SAML.
     + **saml\$1info: información** clave sobre SAML, que incluye el emisor, las firmas y las afirmaciones.
     + **schema\$1validation**: resultados de la validación del esquema SAML.
   + **verification\$1result**: proporciona resultados de diagnóstico más detallados.
     + **firma**: resultados de la verificación de la firma.
     + **audiencia**: resultados de la validación de la restricción de audiencia.
     + **caducidad**: resultados de la verificación de la hora de caducidad.

 **Referencias** 

Automatización de Systems Manager
+ [Ejecuta esta automatización (consola)](https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-TroubleshootSAMLIssues)
+ [Ejecución de una automatización](https://docs.aws.amazon.com//systems-manager/latest/userguide/automation-working-executing.html)
+ [Configuración de Automatización](https://docs.aws.amazon.com//systems-manager/latest/userguide/automation-setup.html)
+ [Página de inicio de Support Automation Workflows](https://aws.amazon.com/premiumsupport/technology/saw/)