

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

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

 AWS Systems Manager L'automatisation fournit des runbooks prédéfinis pour Gestion des identités et des accès AWS. Pour plus d’informations sur les runbooks, consultez [Travailler avec des runbooks](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-documents.html). Pour plus d'informations sur l'affichage du contenu du runbook, consultez[Afficher le contenu du runbook](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>

 **Description** 

 **Le** manuel AWSSupport-TroubleshootIAMAccessDeniedEvents d'automatisation permet de résoudre les problèmes de refus d'accès Gestion des identités et des accès AWS (IAM). Le runbook interroge CloudTrail les récents événements de refus d'accès liés à l'entité IAM et à la source d'événement de AWS service spécifiées. Il analyse les événements dans un intervalle de temps configurable allant jusqu'à 24 heures et traite jusqu'à 10 événements par exécution. Chaque événement de refus d'accès identifié est examiné pour aider à comprendre le contexte du refus et des actions tentées. L'automatisation analyse à la fois les politiques IAM basées sur l'identité et les ressources. Pour les politiques basées sur l'identité, il examine les politiques intégrées et gérées associées à l'entité IAM. Pour les politiques basées sur les ressources, il évalue les politiques de plusieurs services, AWS notamment 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 Service (Amazon Simple Queue Service), Amazon Service, Signer, et AWS Cloud9. OpenSearch AWS AWS Serverless Application Repository AWS Secrets Manager

 Le runbook utilise les fonctionnalités de simulation des politiques IAM pour évaluer ces politiques par rapport aux actions refusées détectées lors des événements. CloudTrail Le runbook tire parti des capacités de simulation des politiques d'IAM à la fois [SimulatePrincipalPolicy](https://docs.aws.amazon.com/IAM/latest/APIReference/API_SimulatePrincipalPolicy.html)pour les utilisateurs IAM et [SimulateCustomPolicy](https://docs.aws.amazon.com/IAM/latest/APIReference/API_SimulateCustomPolicy.html)pour les rôles IAM afin d'évaluer ces politiques par rapport aux actions refusées détectées lors des événements. CloudTrail L'automatisation produit un rapport qui permet d'identifier les actions spécifiques qui ont été refusées, de faire la différence entre les refus implicites et explicites, de répertorier les politiques responsables des refus d'accès et de fournir des explications pour chaque refus. Le rapport suggère également des solutions potentielles, telles que l'identification des déclarations d'autorisation manquantes ou des déclarations de refus contradictoires 

 **Fonctionnement** 

 Le runbook exécute les étapes suivantes : 
+ Décrit et valide `RequesterARN` (rôle ou utilisateur) pour obtenir des informations telles que le type d'entité IAM et l'identifiant IAM.
+ Récupère les CloudTrail événements associés à `RequesterARN``EventSource`, et `ResourceARN` s'ils sont fournis.
+ Analyse les CloudTrail événements pour déterminer l'action exécutée lorsque l'erreur Accès refusé a été renvoyée, puis examine toutes les politiques IAM, telles que les politiques intégrées et gérées associées à l'entité IAM, ainsi que les politiques basées sur les ressources. Il simule ensuite ces politiques par rapport aux actions détectées dans les erreurs d'accès refusé issues des CloudTrail événements en question afin de déterminer la cause de l'erreur.
+ Produit un rapport qui détermine le type d'erreur d'accès refusé, les politiques responsables de ces erreurs et propose des solutions potentielles à l'erreur.

 [Exécuter cette automatisation (console)](https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-TroubleshootIAMAccessDeniedEvents) 

**Type de document**

 Automatisation

**Propriétaire**

Amazon

**Plateformes**

/

**Autorisations IAM requises**

Le `AutomationAssumeRole` paramètre nécessite les actions suivantes pour utiliser correctement le runbook.
+ `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`

Exemple de politique : 

------
#### [ 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"
                }
            ]
        }
```

------

 **Instructions** 

Pour configurer l'automatisation, procédez comme suit :

1. Accédez [https://console.aws.amazon.com/systems-manager/documents/AWSSupport-TroubleshootIAMAccessDeniedEvents/description](https://console.aws.amazon.com/systems-manager/documents/AWSSupport-TroubleshootIAMAccessDeniedEvents/description)à Systems Manager sous Documents.

1. Sélectionnez **Execute automation** (Exécuter l'automatisation).

1. Pour les paramètres d'entrée, entrez ce qui suit :
   + **AutomationAssumeRole (Facultatif) :**
     + Description : (Facultatif) Le nom de ressource Amazon (ARN) du rôle Gestion des identités et des accès AWS (IAM) qui permet à SSM Automation d'effectuer les actions en votre nom. Le rôle doit être ajouté à votre entrée d'accès au cluster Amazon EKS ou à votre autorisation RBAC pour autoriser les appels d'API Kubernetes.
     + Type : `AWS::IAM::Role::Arn`
   + **RequesterArn (obligatoire) :**
     + Description : (Obligatoire) L'ARN de l'utilisateur ou du rôle IAM pour lequel vous souhaitez étudier les autorisations d'accès sur une AWS ressource spécifique.
     + Type : `String`
     + Autoriser le modèle : `^arn:(aws|aws-cn|aws-us-gov|aws-iso(-[a-z])?):iam::[0-9]{12}:(role|user)\\/[\\w+\\/=,.@-]+$`
   + **ResourceArn (facultatif) :**
     + Description : (Facultatif) L'ARN de AWS la ressource pour laquelle l'accès a été refusé est évalué. La ressource AWS cible doit se trouver dans la même région que celle où le runbook d'automatisation est exécuté.
     + Type : `String`
     + Autoriser le modèle : `^$|^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 (Obligatoire) :**
     + Description : (Obligatoire) Le point de terminaison de l'API Amazon d'où provient l' CloudTrailévénement. Par exemple : `s3.amazonaws.com`.
     + Type : `String`
     + Autoriser le modèle : `^([a-zA-Z0-9.-]+)\\.amazonaws\\.com$`
   + **EventName (Facultatif) :**
     + Description : (Facultatif) Le nom de l'action de l'API Amazon associée à l' CloudTrail événement. Par exemple : `s3:CreateBucket`.
     + Type : `String`
     + Autoriser le modèle : `^$|^[a-z0-9]+:[A-Za-z0-9]+$`
   + **LookBackHours (Facultatif) :**
     + Description : (Facultatif) Le nombre d'heures nécessaires pour consulter les CloudTrail événements lors de la recherche d'`Access Denied`événements. Plage valide : `1` jusqu'à 8 `24` heures.
     + Type : Integer
     + Autoriser le modèle : `^([1-9]|1[0-9]|2[0-4])$`
     + Par défaut : 12
   + **MaxEvents (Facultatif) :**
     + Description : (Facultatif) Le nombre maximum d' CloudTrail `Access Denied`événements renvoyés lors de la recherche d'événements. Plage valide : `1` jusqu'aux `5` événements.
     + Type : Integer
     + Autoriser le modèle : `^([1-9]|1[0-9]|2[0-4])$`
     + Valeur par défaut : 3
   + **UseContextEntries (Facultatif) :**
     + Description : (Facultatif) Si vous le spécifiez`true`, l'automatisation extrait de l' CloudTrail événement les détails relatifs au contexte de la demande d'API et les inclut pour la simulation de politique IAM.
     + Type : Boolean
     + Autoriser le modèle : `^([1-9]|1[0-9]|2[0-4])$`
     + Valeur par défaut : 3

1. Sélectionnez **Exécuter**.

1. L'automatisation démarre.

1. Le document exécute les étapes suivantes :
   + **ValidateRequesterArn**

     Valide et déconstruit l'`RequesterArn`ARN, en récupérant des informations sur l'utilisateur ou le rôle IAM cible.
   + **GetCloudTrailEvents****WithAccessDeniedError**

     Interroge les CloudTrail événements pour connaître les `Access Denied` événements récents liés à l'entité et au AWS service `EventSource` IAM spécifiés.
   + **Évaluer IAMRequester les politiques**

     Évalue les autorisations IAM de l'entité IAM demandeuse par rapport aux actions résultant des événements. CloudTrail Cette évaluation inclut l'analyse des politiques basées sur l'identité et les ressources associées au demandeur. L'automatisation utilise les capacités de simulation des politiques d'IAM pour évaluer ces politiques dans le contexte des actions refusées identifiées lors des CloudTrail événements.

1. Une fois terminé, consultez la section **Sorties** pour obtenir les résultats détaillés de l'exécution :
   + **PermissionEvaluationResults**

     Produit un rapport qui aide à identifier les actions spécifiques qui ont été refusées, en distinguant les refus implicites des refus explicites. Il répertorie également les politiques responsables des refus d'accès et fournit des explications pour chaque refus. Le rapport suggère également des solutions potentielles, telles que l'identification des déclarations d'autorisation manquantes ou des déclarations de refus contradictoires

 **Références** 

Systems Manager Automation
+ [Exécuter cette automatisation (console)](https://console.aws.amazon.com/systems-manager/documents/TroubleshootIAMAccessDeniedEvents/description)
+ [Exécuter une automatisation](https://docs.aws.amazon.com//systems-manager/latest/userguide/automation-working-executing.html)
+ [Configuration d'une automatisation](https://docs.aws.amazon.com//systems-manager/latest/userguide/automation-setup.html)
+ [Page d'accueil de Support Automation Workflows](https://aws.amazon.com/premiumsupport/technology/saw/)

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

 **Description** 

Attachez un rôle Gestion des identités et des accès AWS (IAM) à une instance gérée.

 [Exécuter cette automatisation (console)](https://console.aws.amazon.com/systems-manager/automation/execute/AWS-AttachIAMToInstance) 

**Type de document**

 Automatisation

**Propriétaire**

Amazon

**Plateformes**

LinuxmacOS, Windows

**Paramètres**
+ AutomationAssumeRole

  Type : Chaîne

  Description : (Facultatif) Le nom de ressource Amazon (ARN) du rôle Gestion des identités et des accès AWS (IAM) qui permet à Systems Manager Automation d'effectuer les actions en votre nom. Si aucun rôle n'est spécifié, Systems Manager Automation utilise les autorisations de l'utilisateur qui lance ce runbook.
+ ForceReplace

  Type : Boolean

  Description : (Facultatif) Indicateur pour indiquer si le profil IAM existant doit être remplacé ou non.

  Valeur par défaut : true
+ InstanceId

  Type : Chaîne

  Description : (Obligatoire) L'ID de l'instance à laquelle vous souhaitez attribuer un rôle IAM.
+ RoleName

  Type : Chaîne

  Description : (Obligatoire) Le nom du rôle IAM à ajouter à l'instance gérée.

 **Étapes de document** 

1.  `aws:executeAwsApi`- DescribeInstanceProfile - Trouvez le profil d'instance IAM attaché à l'instance EC2. 

1.  `aws:branch`- CheckInstanceProfileAssociations - Vérifiez le profil d'instance IAM attaché à l'instance EC2. 

   1.  Si un profil d'instance IAM est attaché et `ForceReplace` est défini sur : `true` 

      1.  `aws:executeAwsApi`- DisassociateIamInstanceProfile - Dissociez le profil d'instance IAM de l'instance EC2. 

   1.  `aws:executeAwsApi`- ListInstanceProfilesForRole - Répertoriez les profils d'instance pour le rôle IAM fourni. 

   1.  `aws:branch`- CheckInstanceProfileCreated - Vérifiez si un profil d'instance est associé au rôle IAM fourni. 

      1. Si un profil d'instance est associé au rôle IAM :

         1.  `aws:executeAwsApi`- AttachIam ProfileToInstance - Attachez le rôle de profil d'instance IAM à l'instance EC2. 

      1. Si aucun profil d'instance n'est associé au rôle IAM :

         1.  `aws:executeAwsApi`- CreateInstanceProfileForRole - Créez un rôle de profil d'instance pour le rôle IAM spécifié. 

         1.  `aws:executeAwsApi`- AddRoleToInstanceProfile - Attachez le rôle de profil d'instance au rôle IAM spécifié. 

         1.  `aws:executeAwsApi`- GetInstanceProfile - Obtenez les données du profil d'instance pour le rôle IAM spécifié. 

         1.  `aws:executeAwsApi`- AttachIam ProfileToInstanceWithRetry - Attachez le rôle de profil d'instance IAM à l'instance EC2. 

 **Sorties** 

Joindre IAMProfileToInstanceWithRetry. AssociationId

GetInstanceProfile.InstanceProfileName

GetInstanceProfile.InstanceProfileArn

Joindre IAMProfileToInstance. AssociationId

ListInstanceProfilesForRole.InstanceProfileName

ListInstanceProfilesForRole.InstanceProfileArn

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

**Description**

Le `AWS-DeleteIAMInlinePolicy` runbook supprime toutes les politiques intégrées Gestion des identités et des accès AWS (IAM) associées aux identités IAM que vous spécifiez.

[Exécuter cette automatisation (console)](https://console.aws.amazon.com/systems-manager/automation/execute/AWS-DeleteIAMInlinePolicy)

**Type de document**

 Automatisation

**Propriétaire**

Amazon

**Plateformes**

LinuxmacOS, Windows

**Paramètres**
+ AutomationAssumeRole

  Type : Chaîne

  Description : (Facultatif) Le nom de ressource Amazon (ARN) du rôle Gestion des identités et des accès AWS (IAM) qui permet à Systems Manager Automation d'effectuer les actions en votre nom. Si aucun rôle n'est spécifié, Systems Manager Automation utilise les autorisations de l'utilisateur qui lance ce runbook.
+ IamArns

  Type : Chaîne

  Description : (Obligatoire) Liste séparée par des ARNs virgules des identités IAM dont vous souhaitez supprimer les politiques intégrées. Cette liste peut inclure des utilisateurs, des groupes ou des rôles IAM.

**Autorisations IAM requises**

Le `AutomationAssumeRole` paramètre nécessite les actions suivantes pour utiliser correctement le runbook.
+ `iam:DeleteGroupPolicy`
+ `iam:DeleteRolePolicy`
+ `iam:DeleteUserPolicy`
+ `iam:ListGroupPolicies`
+ `iam:ListRolePolicies`
+ `iam:ListUserPolicies`

**Étapes de document**
+ `aws:executeScript`- Supprime les politiques en ligne IAM associées aux identités IAM ciblées.

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

 **Description** 

 Le `AWSConfigRemediation-DeleteIAMRole` runbook supprime le rôle Gestion des identités et des accès AWS (IAM) que vous spécifiez. Cette automatisation ne supprime pas les profils d'instance associés au rôle IAM, ni les rôles liés à un service. 

 [Exécuter cette automatisation (console)](https://console.aws.amazon.com/systems-manager/automation/execute/AWSConfigRemediation-DeleteIAMRole) 

**Type de document**

 Automatisation

**Propriétaire**

Amazon

**Plateformes**

LinuxmacOS, Windows

**Paramètres**
+ AutomationAssumeRole

  Type : Chaîne

  Description : (Obligatoire) Le nom de ressource Amazon (ARN) du rôle Gestion des identités et des accès AWS (IAM) qui permet à Systems Manager Automation d'effectuer les actions en votre nom.
+ IAMRoleID

  Type : Chaîne

  Description : (Obligatoire) L'ID du rôle IAM que vous souhaitez supprimer.

**Autorisations IAM requises**

Le `AutomationAssumeRole` paramètre nécessite les actions suivantes pour utiliser correctement le runbook.
+  `ssm:StartAutomationExecution` 
+  `ssm:GetAutomationExecution` 
+  `iam:DeleteRole` 
+  `iam:DeleteRolePolicy` 
+  `iam:GetRole` 
+  `iam:ListAttachedRolePolicies` 
+  `iam:ListInstanceProfilesForRole` 
+  `iam:ListRolePolicies` 
+  `iam:ListRoles` 
+  `iam:RemoveRoleFromInstanceProfile` 

 **Étapes de document** 
+  `aws:executeScript`- Rassemble le nom du rôle IAM que vous spécifiez dans le `IAMRoleID` paramètre. 
+  `aws:executeScript`- Rassemble les politiques et les profils d'instance associés au rôle IAM. 
+  `aws:executeScript`- Supprime les politiques jointes. 
+  `aws:executeScript`- Supprime le rôle IAM et vérifie qu'il a été supprimé. 

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

 **Description** 

 Le `AWSConfigRemediation-DeleteIAMUser` runbook supprime l'utilisateur Gestion des identités et des accès AWS (IAM) que vous spécifiez. Cette automatisation supprime ou détache les ressources suivantes associées à l'utilisateur IAM : 
+ Clés d'accès
+ Politiques gérées associées
+ Informations d'identification Git
+ Adhésions au groupe IAM
+ Mot de passe utilisateur IAM
+ Politiques en ligne
+ Dispositifs d'authentification multifactorielle (MFA)
+ Certificats de signature
+ Clés publiques SSH

 [Exécuter cette automatisation (console)](https://console.aws.amazon.com/systems-manager/automation/execute/AWSConfigRemediation-DeleteIAMUser) 

**Type de document**

 Automatisation

**Propriétaire**

Amazon

**Plateformes**

LinuxmacOS, Windows

**Paramètres**
+ AutomationAssumeRole

  Type : Chaîne

  Description : (Obligatoire) Le nom de ressource Amazon (ARN) du rôle Gestion des identités et des accès AWS (IAM) qui permet à Systems Manager Automation d'effectuer les actions en votre nom.
+ IAMUserID

  Type : Chaîne

  Description : (Obligatoire) L'ID de l'utilisateur IAM que vous souhaitez supprimer.

**Autorisations IAM requises**

Le `AutomationAssumeRole` paramètre nécessite les actions suivantes pour utiliser correctement le runbook.
+  `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` 

 **Étapes de document** 
+  `aws:executeScript`- Rassemble le nom d'utilisateur de l'utilisateur IAM que vous spécifiez dans le `IAMUserId` paramètre. 
+  `aws:executeScript`- Rassemble les clés d'accès, les certificats, les informations d'identification, les périphériques MFA et les clés SSH associés à l'utilisateur IAM. 
+  `aws:executeScript`- Rassemble les appartenances aux groupes et les politiques de l'utilisateur IAM. 
+  `aws:executeScript`- Supprime les clés d'accès, les certificats, les informations d'identification, les périphériques MFA et les clés SSH associés à l'utilisateur IAM. 
+  `aws:executeScript`- Supprime les appartenances aux groupes et les politiques de l'utilisateur IAM. 
+  `aws:executeScript`- Supprime l'utilisateur IAM et vérifie qu'il a été supprimé. 

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

 **Description** 

 Le `AWSConfigRemediation-DeleteUnusedIAMGroup` runbook supprime un groupe IAM qui ne contient aucun utilisateur. 

 Le `AWSConfigRemediation-DeleteUnusedIAMGroup` runbook supprime un groupe IAM qui ne contient aucun utilisateur. 

 [Exécuter cette automatisation (console)](https://console.aws.amazon.com/systems-manager/automation/execute/AWSConfigRemediation-DeleteUnusedIAMGroup) 

**Type de document**

 Automatisation

**Propriétaire**

Amazon

**Plateformes**

LinuxmacOS, Windows

**Paramètres**
+ AutomationAssumeRole

  Type : Chaîne

  Description : (Obligatoire) Le nom de ressource Amazon (ARN) du rôle Gestion des identités et des accès AWS (IAM) qui permet à Systems Manager Automation d'effectuer les actions en votre nom.
+ GroupName

  Type : Chaîne

  Description : (Obligatoire) Nom du groupe IAM que vous souhaitez supprimer.

**Autorisations IAM requises**

Le `AutomationAssumeRole` paramètre nécessite les actions suivantes pour utiliser correctement le runbook.
+  `ssm:StartAutomationExecution` 
+  `ssm:GetAutomationExecution` 
+  `iam:DeleteGroup` 
+  `iam:DeleteGroupPolicy` 
+  `iam:DetachGroupPolicy` 

 **Étapes de document** 
+  `aws:executeScript`- Supprime les politiques IAM gérées et intégrées associées au groupe IAM cible, puis supprime le groupe IAM. 

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

 **Description** 

 Le `AWSConfigRemediation-DeleteUnusedIAMPolicy` runbook supprime une politique Gestion des identités et des accès AWS (IAM) qui n'est attachée à aucun utilisateur, groupe ou rôle. 

 [Exécuter cette automatisation (console)](https://console.aws.amazon.com/systems-manager/automation/execute/AWSConfigRemediation-DeleteUnusedIAMPolicy) 

**Type de document**

 Automatisation

**Propriétaire**

Amazon

**Plateformes**

LinuxmacOS, Windows

**Paramètres**
+ AutomationAssumeRole

  Type : Chaîne

  Description : (Obligatoire) Le nom de ressource Amazon (ARN) du rôle Gestion des identités et des accès AWS (IAM) qui permet à Systems Manager Automation d'effectuer les actions en votre nom.
+ IAMResourceID

  Type : Chaîne

  Description : (Obligatoire) L'identifiant de ressource de la politique IAM que vous souhaitez supprimer.

**Autorisations IAM requises**

Le `AutomationAssumeRole` paramètre nécessite les actions suivantes pour utiliser correctement le runbook.
+  `ssm:StartAutomationExecution` 
+  `ssm:GetAutomationExecution` 
+  `config:GetResourceConfigHistory` 
+  `config:ListDiscoveredResources` 
+  `iam:DeletePolicy` 
+  `iam:DeletePolicyVersion` 
+  `iam:GetPolicy` 
+  `iam:ListEntitiesForPolicy` 
+  `iam:ListPolicyVersions` 

 **Étapes de document** 
+  `aws:executeScript`- Supprime la politique que vous spécifiez dans le `IAMResourceId` paramètre et vérifie qu'elle a été supprimée. 

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

 **Description** 

 Le `AWSConfigRemediation-DetachIAMPolicy` runbook détache la politique Gestion des identités et des accès AWS (IAM) que vous spécifiez. 

 [Exécuter cette automatisation (console)](https://console.aws.amazon.com/systems-manager/automation/execute/AWSConfigRemediation-DetachIAMPolicy) 

**Type de document**

 Automatisation

**Propriétaire**

Amazon

**Plateformes**

LinuxmacOS, Windows

**Paramètres**
+ AutomationAssumeRole

  Type : Chaîne

  Description : (Obligatoire) Le nom de ressource Amazon (ARN) du rôle Gestion des identités et des accès AWS (IAM) qui permet à Systems Manager Automation d'effectuer les actions en votre nom.
+ IAMResourceID

  Type : Chaîne

  Description : (Obligatoire) L'ID de la politique IAM que vous souhaitez détacher.

**Autorisations IAM requises**

Le `AutomationAssumeRole` paramètre nécessite les actions suivantes pour utiliser correctement le runbook.
+  `ssm:StartAutomationExecution` 
+  `ssm:GetAutomationExecution` 
+  `config:GetResourceConfigHistory` 
+  `config:ListDiscoveredResources` 
+  `iam:DetachGroupPolicy` 
+  `iam:DetachRolePolicy` 
+  `iam:DetachUserPolicy` 
+  `iam:GetPolicy` 
+  `iam:ListEntitiesForPolicy` 

 **Étapes de document** 
+  `aws:executeScript`- Détache la politique IAM de toutes les ressources. 

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

 **Description** 

 Le `AWSConfigRemediation-EnableAccountAccessAnalyzer` runbook crée un analyseur d'accès Gestion des identités et des accès AWS (IAM) dans votre. Compte AWS Pour plus d'informations sur Access Analyzer, consultez la section [Utilisation d' AWS IAM Access Analyzer](https://docs.aws.amazon.com/IAM/latest/UserGuide/what-is-access-analyzer.html) dans le guide de l'utilisateur d'*IAM*. 

 [Exécuter cette automatisation (console)](https://console.aws.amazon.com/systems-manager/automation/execute/AWSConfigRemediation-EnableAccountAccessAnalyzer) 

**Type de document**

 Automatisation

**Propriétaire**

Amazon

**Plateformes**

LinuxmacOS, Windows

**Paramètres**
+ AnalyzerName

  Type : Chaîne

  Description : (Obligatoire) Nom de l'analyseur à créer.
+ AutomationAssumeRole

  Type : Chaîne

  Description : (Obligatoire) Le nom de ressource Amazon (ARN) du rôle Gestion des identités et des accès AWS (IAM) qui permet à Systems Manager Automation d'effectuer les actions en votre nom.

**Autorisations IAM requises**

Le `AutomationAssumeRole` paramètre nécessite les actions suivantes pour utiliser correctement le runbook.
+  `ssm:StartAutomationExecution` 
+  `ssm:GetAutomationExecution` 
+  `access-analyzer:CreateAnalyzer` 
+  `access-analyzer:GetAnalyzer` 

 **Étapes de document** 
+  `aws:executeAwsApi`- Crée un analyseur d'accès pour votre compte. 
+  `aws:waitForAwsResourceProperty`- Attend que l'état de l'analyseur d'accès soit atteint. `ACTIVE` 
+  `aws:assertAwsResourceProperty`- Confirme que l'état de l'analyseur d'accès est`ACTIVE`. 

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

 **Description** 

 Ce runbook accorde les autorisations spécifiées à un groupe IAM (nouveau ou existant) et y ajoute l'utilisateur IAM existant. Stratégies que vous pouvez choisir : [Billing](https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/job-function/Billing$serviceLevelSummary) ou [Support](https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/AWSSupportAccess$serviceLevelSummary). Pour activer l'accès à la facturation pour IAM, n'oubliez pas d'activer également l'[accès des utilisateurs IAM et fédérés aux pages Billing and Cost Management](https://docs.aws.amazon.com/console/iam/billing-enable). 

**Important**  
Si vous fournissez un groupe IAM, tous les utilisateurs IAM du groupe reçoivent les nouvelles autorisations.

 [Exécuter cette automatisation (console)](https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-GrantPermissionsToIAMUser) 

**Type de document**

 Automatisation

**Propriétaire**

Amazon

**Plateformes**

LinuxmacOS, Windows

**Paramètres**
+ AutomationAssumeRole

  Type : Chaîne

  Description : (Facultatif) Le nom de ressource Amazon (ARN) du rôle Gestion des identités et des accès AWS (IAM) qui permet à Systems Manager Automation d'effectuer les actions en votre nom. Si aucun rôle n'est spécifié, Systems Manager Automation utilise les autorisations de l'utilisateur qui lance ce runbook.
+ IAMGroupNom

  Type : Chaîne

  Par défaut : ExampleSupportAndBillingGroup

   Description : (Obligatoire) il peut d'agir d'un groupe nouveau ou existant. Doit se conformer aux [Limites des noms d'entité IAM](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-limits.html#reference_iam-limits-names). 
+ IAMUserNom

  Type : Chaîne

  Par défaut : ExampleUser

  Description : (Obligatoire) il doit s'agir d'un utilisateur existant.
+ LambdaAssumeRole

  Type : Chaîne

  Description : (Facultatif) ARN du rôle assumé par la fonction Lambda.
+ Permissions

  Type : Chaîne

  Valeurs valides : SupportFullAccess \$1 BillingFullAccess \$1 SupportAndBillingFullAccess

  Par défaut : SupportAndBillingFullAccess

   Description : (Obligatoire) Choisissez l'une des options suivantes : `SupportFullAccess` accorde un accès complet au centre de support. `BillingFullAccess`accorde un accès complet au tableau de bord de facturation. `SupportAndBillingFullAccess`accorde un accès complet au centre de Support et au tableau de bord de facturation. Plus d'informations sur les stratégies sous Détails du document. 

**Autorisations IAM requises**

Le `AutomationAssumeRole` paramètre nécessite les actions suivantes pour utiliser correctement le runbook.

 Les autorisations requises dépendent du mode `AWSSupport-GrantPermissionsToIAMUser` d'exécution. 

 **Exécuter en tant qu'utilisateur ou rôle actuellement connecté** 

 Il est recommandé de joindre la politique gérée par `AmazonSSMAutomationRole` Amazon et les autorisations supplémentaires suivantes pour pouvoir créer la fonction Lambda et le rôle IAM à transmettre à 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": "*"
        }
    ]
}
```

------

 **Utilisation AutomationAssumeRole et LambdaAssumeRole** 

 L'utilisateur doit disposer des StartAutomationExecution autorisations **ssm :** sur le runbook et **iam : PassRole sur les rôles IAM** transmis sous forme et. **AutomationAssumeRole**LambdaAssumeRole**** Voici les autorisations dont chaque rôle IAM a besoin : 

```
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" : "*"
                        }
                    ]
                }
```

 **Étapes de document** 

1.  `aws:createStack`- Exécutez CloudFormation Template pour créer une fonction Lambda. 

1.  `aws:invokeLambdaFunction`- Exécutez Lambda pour définir les autorisations IAM. 

1.  `aws:deleteStack`- Supprimer le CloudFormation modèle. 

 **Sorties** 

configureIAM.Payload

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

 **Description** 

 Le `AWSConfigRemediation-RemoveUserPolicies` runbook supprime les politiques intégrées Gestion des identités et des accès AWS (IAM) et détache toutes les politiques gérées associées à l'utilisateur que vous spécifiez. 

 [Exécuter cette automatisation (console)](https://console.aws.amazon.com/systems-manager/automation/execute/AWSConfigRemediation-RemoveUserPolicies) 

**Type de document**

 Automatisation

**Propriétaire**

Amazon

**Plateformes**

LinuxmacOS, Windows

**Paramètres**
+ AutomationAssumeRole

  Type : Chaîne

  Description : (Obligatoire) Le nom de ressource Amazon (ARN) du rôle Gestion des identités et des accès AWS (IAM) qui permet à Systems Manager Automation d'effectuer les actions en votre nom.
+ IAMUserID

  Type : Chaîne

  Description : (Obligatoire) L'ID de l'utilisateur dont vous souhaitez supprimer les politiques.
+ PolicyType

  Type : Chaîne

  Valeurs valides : Toutes \$1 Inline \$1 Géré

  Par défaut : Tous

  Description : (Obligatoire) Type de politiques IAM que vous souhaitez supprimer pour l'utilisateur.

**Autorisations IAM requises**

Le `AutomationAssumeRole` paramètre nécessite les actions suivantes pour utiliser correctement le runbook.
+  `ssm:StartAutomationExecution` 
+  `ssm:GetAutomationExecution` 
+  `iam:DeleteUserPolicy` 
+  `iam:DetachUserPolicy` 
+  `iam:ListAttachedUserPolicies` 
+  `iam:ListUserPolicies` 
+  `iam:ListUsers` 

 **Étapes de document** 
+  `aws:executeScript`- Supprime et détache les politiques IAM de l'utilisateur que vous spécifiez dans le paramètre. `IAMUserID` 

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

 **Description** 

 Le `AWSConfigRemediation-ReplaceIAMInlinePolicy` runbook remplace une politique en ligne Gestion des identités et des accès AWS (IAM) par une stratégie IAM gérée répliquée. Pour une politique intégrée attachée à un utilisateur, un groupe ou un rôle, les autorisations de politique en ligne sont clonées dans une stratégie IAM gérée. La stratégie IAM gérée est ajoutée à la ressource et la stratégie intégrée est supprimée. AWS Config doit être activé dans l' Région AWS endroit où vous exécutez cette automatisation. 

 [Exécuter cette automatisation (console)](https://console.aws.amazon.com/systems-manager/automation/execute/AWSConfigRemediation-ReplaceIAMInlinePolicy) 

**Type de document**

 Automatisation

**Propriétaire**

Amazon

**Plateformes**

LinuxmacOS, Windows

**Paramètres**
+ AutomationAssumeRole

  Type : Chaîne

  Description : (Obligatoire) Le nom de ressource Amazon (ARN) du rôle Gestion des identités et des accès AWS (IAM) qui permet à Systems Manager Automation d'effectuer les actions en votre nom.
+ InlinePolicyName

  Type : StringList

  Description : (Obligatoire) La politique IAM intégrée que vous souhaitez remplacer.
+ ResourceId

  Type : Chaîne

  Description : (Obligatoire) L'ID de l'utilisateur, du groupe ou du rôle IAM dont vous souhaitez remplacer la politique en ligne.

**Autorisations IAM requises**

Le `AutomationAssumeRole` paramètre nécessite les actions suivantes pour utiliser correctement le runbook.
+  `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` 

 **Étapes de document** 
+  `aws:executeScript`- Remplacez la stratégie IAM intégrée par une stratégie AWS répliquée sur la ressource que vous spécifiez. 

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

 **Description** 

 Le `AWSConfigRemediation-RevokeUnusedIAMUserCredentials` runbook révoque les mots de passe Gestion des identités et des accès AWS (IAM) non utilisés et les clés d'accès actives. Ce runbook désactive également les clés d'accès expirées et supprime les profils de connexion expirés. AWS Config doit être activé dans l' Région AWS endroit où vous exécutez cette automatisation. 

 [Exécuter cette automatisation (console)](https://console.aws.amazon.com/systems-manager/automation/execute/AWSConfigRemediation-RevokeUnusedIAMUserCredentials) 

**Type de document**

 Automatisation

**Propriétaire**

Amazon

**Plateformes**

LinuxmacOS, Windows

**Paramètres**
+ AutomationAssumeRole

  Type : Chaîne

  Description : (Obligatoire) Le nom de ressource Amazon (ARN) du rôle Gestion des identités et des accès AWS (IAM) qui permet à Systems Manager Automation d'effectuer les actions en votre nom.
+ IAMResourceID

  Type : Chaîne

  Description : (Obligatoire) L'ID de la ressource IAM dont vous souhaitez révoquer les informations d'identification non utilisées.
+ MaxCredentialUsageAge

  Type : Chaîne

  Valeur par défaut : 90

  Description : (Obligatoire) Le nombre de jours pendant lesquels l'identifiant doit avoir été utilisé.

**Autorisations IAM requises**

Le `AutomationAssumeRole` paramètre nécessite les actions suivantes pour utiliser correctement le runbook.
+  `ssm:StartAutomationExecution` 
+  `ssm:GetAutomationExecution` 
+  `config:ListDiscoveredResources` 
+  `iam:DeleteAccessKey` 
+  `iam:DeleteLoginProfile` 
+  `iam:GetAccessKeyLastUsed` 
+  `iam:GetLoginProfile` 
+  `iam:GetUser` 
+  `iam:ListAccessKeys` 
+  `iam:UpdateAccessKey` 

 **Étapes de document** 
+  `aws:executeScript`- Révoque les informations d'identification IAM de l'utilisateur spécifié dans le `IAMResourceId` paramètre. Les clés d'accès expirées sont désactivées et les profils de connexion expirés sont supprimés. 

**Note**  
Assurez-vous de configurer le `MaxCredentialUsageAge` paramètre de cette action de correction pour qu'il corresponde au `maxAccessKeyAge` paramètre de la AWS Config règle que vous utilisez pour déclencher cette action : [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>

 **Description** 

 Le `AWSConfigRemediation-SetIAMPasswordPolicy` runbook définit la politique de mot de passe utilisateur Gestion des identités et des accès AWS (IAM) pour votre. Compte AWS

 [Exécuter cette automatisation (console)](https://console.aws.amazon.com/systems-manager/automation/execute/AWSConfigRemediation-SetIAMPasswordPolicy) 

**Type de document**

 Automatisation

**Propriétaire**

Amazon

**Plateformes**

LinuxmacOS, Windows

**Paramètres**
+ AutomationAssumeRole

  Type : Chaîne

  Description : (Obligatoire) Le nom de ressource Amazon (ARN) du rôle Gestion des identités et des accès AWS (IAM) qui permet à Systems Manager Automation d'effectuer les actions en votre nom.
+ AllowUsersToChangePassword

  Type : Boolean

  Valeur par défaut : false

   Description : (Facultatif) Si ce paramètre est défini sur`true`, tous les utilisateurs IAM de votre site Compte AWS peuvent l'utiliser AWS Management Console pour modifier leur mot de passe. 
+ HardExpiry

  Type : Boolean

  Valeur par défaut : false

   Description : (Facultatif) Si ce paramètre est défini sur`true`, les utilisateurs IAM ne peuvent pas réinitialiser leur mot de passe une fois celui-ci expiré. 
+ MaxPasswordAge

  Type : Integer

  Par défaut : 0

  Description : (Facultatif) Le nombre de jours pendant lesquels le mot de passe d'un utilisateur IAM est valide.
+ MinimumPasswordLength

  Type : Integer

  Par défaut : 6

  Description : (Facultatif) Le nombre minimal de caractères que peut contenir le mot de passe d'un utilisateur IAM.
+ PasswordReusePrevention

  Type : Integer

  Par défaut : 0

  Description : (Facultatif) Nombre de mots de passe précédents qu'un utilisateur IAM n'a pas pu réutiliser.
+ RequireLowercaseCharacters

  Type : Boolean

  Valeur par défaut : false

   Description : (Facultatif) S'il est défini sur`true`, le mot de passe d'un utilisateur IAM doit contenir un caractère minuscule issu de l'alphabet latin de base ISO (a à z). 
+ RequireNumbers

  Type : Boolean

  Valeur par défaut : false

   Description : (Facultatif) S'il est défini sur`true`, le mot de passe d'un utilisateur IAM doit contenir un caractère numérique (0-9). 
+ RequireSymbols

  Type : Boolean

  Valeur par défaut : false

   Description : (Facultatif) S'il est défini sur`true`, le mot de passe d'un utilisateur IAM doit contenir un caractère non alphanumérique (\$1 @ \$1 \$1 % ^ \$1 () \$1 \$1 - = [] \$1\$1 \$1 '). 
+ RequireUppercaseCharacters

  Type : Boolean

  Valeur par défaut : false

   Description : (Facultatif) S'il est défini sur`true`, le mot de passe d'un utilisateur IAM doit contenir un caractère majuscule issu de l'alphabet latin de base ISO (A à Z). 

**Autorisations IAM requises**

Le `AutomationAssumeRole` paramètre nécessite les actions suivantes pour utiliser correctement le runbook.
+  `ssm:StartAutomationExecution` 
+  `ssm:GetAutomationExecution` 
+  `iam:GetAccountPasswordPolicy` 
+  `iam:UpdateAccountPasswordPolicy` 

 **Étapes de document** 
+  `aws:executeScript`- Définit la politique de mot de passe utilisateur IAM en fonction des valeurs que vous spécifiez pour les paramètres du runbook de votre. Compte AWS

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

 **Description** 

En cas d'incident de sécurité ou de suspicion de compromission d'un utilisateur/rôle Gestion des identités et des accès AWS (IAM) ou d'un utilisateur du AWS Identity Center (IDC), il est essentiel d'isoler rapidement l'identité affectée tout en préservant sa configuration pour les besoins de l'enquête. Le `AWSSupport-ContainIAMPrincipal` runbook propose une approche structurée et réversible pour contenir les identités IAM ou IDC compromises, en bloquant efficacement leur accès aux AWS ressources et en empêchant la propagation potentielle de la compromission.

Ce processus automatisé permet une enquête sans modification permanente de la configuration de l'identité, ce qui permet de rétablir un accès normal lorsque cela est jugé approprié. Le processus de confinement préserve l'utilisateur ou le rôle au sein d'IAM ou l'utilisateur au sein d'IDC, tout en l'isolant efficacement de toutes les activités du réseau. Cette isolation empêche la ressource d'identité contenue de communiquer avec les ressources de votre Amazon Virtual Private Cloud ou d'accéder aux ressources Internet. Le confinement est conçu pour être réversible, ce qui permet de rétablir un accès normal lorsque cela est jugé approprié.

 **Fonctionnement** 

Le `AWSSupport-ContainIAMPrincipal` runbook met en œuvre un processus de confinement complet pour les utilisateurs, les rôles et les utilisateurs d'Identity Center IAM. Lorsqu'il est exécuté en `Contain` mode, il valide d'abord tous les paramètres d'entrée et effectue des contrôles de sécurité sur le compartiment Amazon S3 spécifié. Il recueille ensuite des informations détaillées sur le principal IAM cible et applique les mesures de confinement appropriées en fonction du type principal. Pour les utilisateurs IAM, il désactive les clés d'accès, supprime l'accès à la console et associe une politique de refus. Pour les rôles IAM, il associe une politique de refus qui révoque les autorisations pour les sessions créées avant le confinement. Pour les utilisateurs d'Identity Center, il supprime les ensembles d'autorisations, les appartenances à des groupes et applique une politique de refus. Tout au long du processus, le runbook sauvegarde la configuration d'origine dans un compartiment Amazon S3 en vue d'une éventuelle restauration. Lorsqu'il est exécuté en `Restore` mode, il tente de rétablir le principal dans son état d'avant le confinement à l'aide de la configuration sauvegardée. Le runbook inclut une `DryRun` option permettant de prévisualiser les modifications sans les appliquer, et fournit des rapports complets sur les opérations réussies et les scénarios d'échec.

**Important**  
**Utilisation de privilèges élevés :** ce document SSM effectue diverses opérations nécessitant des privilèges élevés, telles que la modification des politiques d'identité IAM et IDC et l'application de configurations de quarantaine. Ces actions peuvent potentiellement entraîner une augmentation des privilèges ou avoir un impact sur d'autres charges de travail qui dépendent des identités ciblées. Vous devez vérifier les autorisations accordées au rôle spécifié par le `AutomationAssumeRole` paramètre et vous assurer qu'elles sont adaptées au cas d'utilisation prévu. Vous pouvez consulter la AWS documentation suivante pour plus d'informations sur les autorisations IAM :   
[Autorisations de gestion des identités et des accès (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_permissions.html)
[AWS Autorisations d'automatisation de Systems Manager](https://docs.aws.amazon.com/systems-manager/latest/userguide/automation-permissions.html)
**Risques d'indisponibilité de la charge de travail :** ce document Systems Manager effectue des actions d'isolation susceptibles d'entraîner une indisponibilité ou une interruption de vos charges de travail. Lorsqu'il est exécuté lors d'un événement de sécurité, il restreint l'accès à la ressource affectée en révoquant les autorisations d' AWS API associées aux identités IAM et IDC spécifiées, les empêchant ainsi d'effectuer des appels ou des actions d' AWS API. Cela peut avoir un impact sur les applications ou les services qui dépendent de ces identités.
**Création de ressources supplémentaires :** le document d'automatisation peut créer de manière conditionnelle des ressources supplémentaires, telles qu'un bucket Amazon Simple Storage Service (Amazon S3) et des objets Amazon S3 qui y sont stockés, en fonction des paramètres d'exécution. Ces ressources entraîneront des frais supplémentaires en fonction de votre AWS utilisation.
**Risques liés à la restauration :** si le paramètre *Action* est défini sur`Restore`, ce document SSM tente de restaurer la configuration d'identité IAM ou IDC à son état d'origine. Cependant, le processus de restauration risque d'échouer, laissant l'identité IAM ou IDC dans un état incohérent. Le document fournit des instructions pour la restauration manuelle en cas de telles défaillances, mais vous devez être prêt à gérer les problèmes potentiels pendant le processus de restauration.
Il est recommandé de lire attentivement le runbook, de comprendre ses impacts potentiels et de le tester dans un environnement hors production avant de l'exécuter dans votre environnement de production.

 [Exécuter cette automatisation (console)](https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-ContainIAMPrincipal) 

**Type de document**

 Automatisation

**Propriétaire**

Amazon

**Plateformes**

/

 **Autorisations IAM requises** 

Le `AutomationAssumeRole` paramètre nécessite les autorisations suivantes pour utiliser correctement le runbook :
+ s3 : GetBucketLocation
+ s3 : GetBucket
+ s3 : ListBucket
+ s3 : GetBucketPublicAccessBlocks
+ s3 : GetAccountPublicAccessBlocks
+ s3 : GetBucketPolicyStatus
+ s3 : GetBucketAcl
+ s3 : GetObject
+ s3 : CreateBucket
+ s3 : PutObject
+ iam : GetUser
+ iam : GetUserPolicy
+ iam : GetRole
+ iam : ListUserPolicies
+ iam : ListAttachedUserPolicies
+ iam : ListAccessKeys
+ iam : ListMfaDevices
+ iam : ListVirtual MFADevices
+ 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 : Désactiver MFADevice
+ iam : AttachRolePolicy
+ iam : AttachUserPolicy
+ iam : DeleteRolePolicy
+ IAM : TAG MFADevice
+ iam : PutRolePolicy
+ iam : TagPolicy
+ iam : TagRole
+ iam : TagUser
+ iam : UntagUser
+ iam : UntagRole
+ organisations : ListAccounts
+ SSO : ListPermissionSetsProvisionedToAccount
+ SSO : GetInlinePolicyForPermissionSet
+ SSO : ListInstances
+ répertoire SSO : SearchUsers
+ SSO : ListPermissionSets
+ SSO : ListAccountAssignments
+ répertoire SSO : DescribeUser
+ boutique d'identité : ListUsers
+ boutique d'identité : ListGroups
+ boutique d'identité : IsMemberInGroups
+ boutique d'identité : ListGroupMemberships
+ responsable des secrets : CreateSecret
+ responsable des secrets : DeleteSecret
+ SSO : DeleteAccountAssignment
+ SSO : PutInlinePolicyToPermissionSet
+ SSO : CreateAccountAssignment
+ SSO : DeleteInlinePolicyFromPermissionSet
+ SSO : TagResource
+ SSO : UntagResource
+ boutique d'identité : DeleteGroupMembership
+ boutique d'identité : CreateGroupMembership

 Voici un exemple de politique IAM qui accorde les autorisations nécessaires pour : `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": "*"
        }
    ]
}
```

------

 **Instructions** 

Pour configurer l'automatisation, procédez comme suit :

1. Accédez au [AWSSupport-ContainIAMPrincipal](https://console.aws.amazon.com/systems-manager/documents/AWSSupport-ContainIAMPrincipal/description)dans la console AWS Systems Manager.

1. Sélectionnez **Execute automation** (Exécuter l'automatisation).

1. Pour les paramètres d'entrée, entrez ce qui suit :
   + **AutomationAssumeRole (Facultatif) :**
     + Description : (Facultatif) Le nom de ressource Amazon (ARN) du rôle AWS Identity and Access Management (IAM) qui permet à Systems Manager Automation d'effectuer les actions en votre nom. Si aucun rôle n'est spécifié, Systems Manager Automation utilise les autorisations de l'utilisateur qui lance ce runbook.
     + Type : `AWS::IAM::Role::Arn`
   + **PrincipalType (Obligatoire) :**
     + Description : (Obligatoire) Type principal AWS IAM : utilisateur IAM, rôle IAM ou utilisateur du centre d'identité.
     + Type : Chaîne
     + Valeurs autorisées : `IAM user|IAM role|Identity Center user`
   + **PrincipalName (Obligatoire) :**
     + Description : (Obligatoire) Le nom du principal IAM. Pour les utilisateurs d'Identity Center, indiquez le nom d'utilisateur.
     + Type : Chaîne
     + Modèle autorisé : `^[a-zA-Z0-9\\.\\-_\\\\!*'()/+=,@]{1,1024}$`
   + **Action (obligatoire) :**
     + Description : (Obligatoire) Sélectionnez `Contain` cette option pour isoler le principal IAM cible ou `Restore` pour essayer de restaurer la configuration d'origine du principal IAM depuis une sauvegarde précédente.
     + Type : Chaîne
     + Valeurs autorisées : `Contain|Restore`
   + **DryRun (Facultatif) :**
     + Description : (Facultatif) Lorsqu'elle est définie sur`true`, l'automatisation n'apporte aucune modification au principal IAM cible, mais indique ce qu'elle aurait tenté de modifier, en détaillant chaque étape. Valeur par défaut : `true`.
     + Type : Boolean
     + Valeurs autorisées : `true|false`
   + **ActivateDisabledKeys(Conditionnel) :**
     + Description : (Conditionnel) Si le paramètre d'entrée Action est défini sur `Restore` et PrincipalType est défini sur utilisateur IAM, cette option détermine si cette automatisation doit essayer d'activer les clés d'accès associées si elle est désactivée. Veuillez noter que l'intégrité d'une clé d'accès compromise ne peut pas être vérifiée. AWS recommande vivement de ne pas réactiver une clé compromise. Il est préférable de générer de nouvelles clés. Valeur par défaut : `false`.
     + Type : Boolean
     + Valeurs autorisées : `true|false`
   + **BackupS3 BucketName (conditionnel) :**
     + Description : (Conditionnel) Le compartiment Amazon Amazon S3 pour sauvegarder la configuration principale IAM lorsque l'action est définie sur `Contain` ou pour restaurer la configuration à partir du moment où l'action est `Restore` définie. Notez que si l'action spécifiée est `Contain` et que le runbook n'est pas en mesure d'accéder au bucket ou si aucune valeur n'est fournie, un nouveau bucket est créé dans votre compte avec ce nom`awssupport-containiamprincipal-<random-string>`. S'il DryRun est défini sur `true` ce paramètre, il est obligatoire.
     + Type : `AWS::S3::Bucket::Name`
   + **BackupS3 KeyName (conditionnel) :**
     + Description : (Conditionnel) Si Action est défini sur`Restore`, cela indique la clé Amazon S3 que l'automatisation utilisera pour tenter de restaurer la configuration principale de l'IAM. La clé Amazon Amazon S3 suit généralement ce format :`{year}/{month}/{day}/{hour}/{minute}/{automation_execution_id}.json`. La clé peut être obtenue à partir de la sortie d'une précédente exécution d'automatisation du confinement.
     + Type : Chaîne
     + Modèle autorisé : `^[a-zA-Z0-9\\.\\-_\\\\!*'()/]{0,1024}$`
   + **BackupS3 BucketAccess (conditionnel) :**
     + Description : (Conditionnel) L'ARN des utilisateurs ou des rôles IAM qui seront autorisés à accéder au compartiment Amazon Amazon S3 de sauvegarde après avoir exécuté les actions de confinement. Ce paramètre est obligatoire lorsque Action est activé`Contain`. L'utilisateur ou AutomationAssumeRole, en son absence, l'utilisateur dans le contexte duquel l'automatisation est exécutée est automatiquement ajouté à la liste.
     + Type : StringList
     + Modèle autorisé : `^$|^arn:(aws|aws-cn|aws-us-gov|aws-iso(-[a-z])?):iam::[0-9]{12}:(role|user)\\/[\\w+\\/=,.@-]+$`
   + **TagIdentifier (Facultatif) :**
     + Description : (Facultatif) Marquez le principal IAM avec un tag de votre choix en utilisant le format suivant :`Key=<EXAMPLE_KEY>,Value=<EXAMPLE_VALUE>`. Cette option vous permet de suivre les principes IAM ciblés par ce runbook. **Remarque :** les clés et les valeurs des balises distinguent les majuscules et minuscules.
     + Type : Chaîne
     + Modèle autorisé : `^$|^[Kk][Ee][Yy]=[\\+\\-\\=\\.\\_\\:\\/@a-zA-Z0-9]{1,128},[Vv][Aa][Ll][Uu][Ee]=[\\+\\-\\=\\.\\_\\:\\/@a-zA-Z0-9]{0,128}$`

1. Sélectionnez Exécuter.

1. L'automatisation démarre.

1. Le document exécute les étapes suivantes :
   + **ValidateRequiredInputs**

     Valide les paramètres d'entrée d'automatisation requis en fonction des paramètres `Action` spécifiés.
   + **CheckBackupS3BucketName**

     Vérifie si le compartiment Amazon S3 cible accorde potentiellement un accès `write` public `read` ou accorde un accès public à ses objets. Dans le cas d'un flux de travail de confinement, un nouveau compartiment Amazon Amazon S3 est créé s'il n'existe pas. `BackupS3BucketName`
   + **BranchOnAction**

     Branche l'automatisation en fonction de la valeur spécifiée`Action`.
   + **BranchOnPrincipalTypeAndDryRun**

     Branche l'automatisation en fonction du type de principal IAM (utilisateur IAM, rôle IAM ou utilisateur du centre d'identité) et s'il est exécuté en mode. `DryRun`
   + **BranchOnPrincipalTypeForContain**

     Branche l'automatisation pour le type principal IAM basé sur l'`Contain`action (utilisateur IAM, rôle IAM ou utilisateur du centre d'identité) spécifiés dans l'entrée.
   + **Obtenez IAMUser**

     Obtient l'heure de création et le nom d'utilisateur de l'utilisateur IAM cible.
   + **Obtenir des IAMUser détails**

     Obtient et stocke la configuration de l'utilisateur IAM cible, y compris les politiques intégrées, les politiques gérées, les clés d'accès, les appareils MFA et le profil de connexion.
   + **Mises à jour 3 KeyForUser**

     Met à jour la variable d'automatisation « S3Key » à partir de la sortie de l'étape. `GetIAMUserDetails`
   + **Obtenez IAMRole**

     Obtient l'heure de création, le nom du rôle et le chemin du rôle IAM cible.
   + **Obtenir des IAMRole détails**

     Obtient et stocke la configuration du rôle IAM cible, y compris les politiques intégrées et les politiques gérées associées au rôle.
   + **Mises à jour 3 KeyForRole**

     Met à jour la variable d'automatisation « S3Key » à partir de la sortie de l'étape. `GetIAMRoleDetails`
   + **GetIdentityStoreId**

     Obtient l'ID de l'instance AWS IAM Identity Center associée au AWS compte.
   + **Obtenez IDCUser**

     Obtient l'ID utilisateur de l'utilisateur cible de l'Identity Center à l'aide de l'identifiant Identity Store.
   + **Rassemblez IDCUser les détails**

     Obtient et stocke la configuration de l'utilisateur cible d'Identity Center, y compris les attributions de comptes, les ensembles d'autorisations associés et les politiques intégrées.
   + **Mises à jour 3 KeyFor IDCUser**

     Met à jour la variable d'automatisation « S3Key » à partir de la sortie de l'étape. `GatherIDCUserDetails`
   + **BranchOnIdentityContain**

     Branche l'automatisation en fonction de la valeur `DryRun` et du type principal IAM de l'`Contain`action.
   + **BranchOnDisableAccessKeys**

     Branche l'automatisation en fonction du fait que l'utilisateur IAM possède ou non des clés d'accès devant être désactivées.
   + **DisableAccessKeys**

     Désactive les clés d'accès utilisateur IAM actives.
   + **BranchOnDisableConsoleAccess**

     Branches selon que l'utilisateur IAM a activé ou non l'accès à la console de AWS gestion.
   + **DisableConsoleAccess**

     Supprime l'accès par mot de passe de l'utilisateur IAM à la console de gestion. AWS 
   + **AttachInlineDenyPolicyToUser**

     Attache une politique de refus à l'utilisateur IAM afin de révoquer les autorisations pour les anciens jetons de session.
   + **AttachInlineDenyPolicyToRole**

     Attache une politique de refus au rôle IAM afin de révoquer les autorisations pour les anciens jetons de session.
   + **RemovePermissionSets**

     Supprime les ensembles d'autorisations associés à l'utilisateur Identity Center.
   + **Supprimer IDCUser de IDCGroups**

     Supprime l'utilisateur Identity Center des groupes Identity Center.
   + **AttachInlineDenyPolicyToPermissionSet**

     Attache une politique de refus aux ensembles d'autorisations associés à l'utilisateur d'Identity Center.
   + **BranchOnReactivateKeys**

     Branche l'automatisation en fonction du `ActivateDisabledKeys` paramètre pendant le processus de restauration.
   + **DetachInlineDenyPolicy**

     Supprime la politique de refus attachée au rôle IAM pendant le processus de confinement.
   + **DetachInlineDenyPolicyFromPermissionSet**

     Supprime la politique de refus attachée aux ensembles d'autorisations pendant le processus de confinement.
   + **ReportContain**

     Affiche des informations détaillées sur les actions de confinement qui seraient effectuées lorsque ce paramètre `DryRun` est défini sur. `True`
   + **ReportRestore**

     Affiche des informations détaillées sur les actions de restauration qui seraient effectuées lorsque ce `DryRun` paramètre est défini sur`True`.
   + **ReportContainFailure**

     Fournit des instructions complètes pour restaurer manuellement la configuration d'origine du principal IAM lors d'un scénario d'échec du flux de travail de confinement.
   + **ReportRestoreFailure**

     Fournit des instructions détaillées pour terminer manuellement la restauration de la configuration d'origine du principal IAM lors d'un scénario d'échec du flux de restauration.

1. Une fois l'exécution terminée, consultez la section Sorties pour obtenir les résultats détaillés de l'exécution :
   + **Contenir IAMPrincipal .Output**

     Fournit des informations détaillées sur les actions de confinement effectuées lorsque Action est définie sur Contenir et DryRun False. Inclut des informations sur l'emplacement de sauvegarde, les politiques de refus appliquées et les configurations modifiées.
   + **Restaurer IAMPrincipal .Output**

     Fournit des informations détaillées sur les actions de restauration effectuées lorsque Action est définie sur Restaurer et DryRun est définie sur False. Inclut des informations sur les configurations restaurées et les éventuels problèmes rencontrés lors de la restauration.
   + **ReportContain.Sortie**

     Affiche des informations détaillées sur les actions de confinement qui seraient effectuées lorsque Action est définie sur Contain et DryRun définie sur True. Inclut une comparaison des configurations actuelles et post-confinement.
   + **ReportRestore.Sortie**

     Affiche des informations détaillées sur les actions de restauration qui seraient effectuées lorsque Action est définie sur Restore et DryRun est définie sur True. Affiche la configuration actuelle et la configuration d'origine qui serait restaurée.
   + **ReportContainFailure.Sortie**

     Fournit des instructions complètes pour restaurer manuellement la configuration d'origine du principal IAM lors d'un scénario d'échec du flux de travail de confinement.
   + **ReportRestoreFailure.Sortie**

     Fournit des instructions détaillées pour terminer manuellement la restauration de la configuration d'origine du principal IAM lors d'un scénario d'échec du flux de restauration.

 **Sorties** 

Une fois l'exécution terminée, consultez la section Sorties pour obtenir les résultats détaillés :
+ **Contenir IAMPrincipal .Output**

  Fournit des informations détaillées sur les actions de confinement effectuées lorsque Action est définie sur Contenir et DryRun False. Inclut des informations sur l'emplacement de sauvegarde, les politiques de refus appliquées et les configurations modifiées.
+ **Restaurer IAMPrincipal .Output**

  Fournit des informations détaillées sur les actions de restauration effectuées lorsque Action est définie sur Restaurer et DryRun est définie sur False. Inclut des informations sur les configurations restaurées et les éventuels problèmes rencontrés lors de la restauration.
+ **ReportContain.Sortie**

  Affiche des informations détaillées sur les actions de confinement qui seraient effectuées lorsque Action est définie sur Contain et DryRun définie sur True. Inclut une comparaison des configurations actuelles et post-confinement.
+ **ReportRestore.Sortie**

  Affiche des informations détaillées sur les actions de restauration qui seraient effectuées lorsque Action est définie sur Restore et DryRun est définie sur True. Affiche la configuration actuelle et la configuration d'origine qui serait restaurée.
+ **ReportContainFailure.Sortie**

  Fournit des instructions complètes pour restaurer manuellement la configuration d'origine du principal IAM lors d'un scénario d'échec du flux de travail de confinement.
+ **ReportRestoreFailure.Sortie**

  Fournit des instructions détaillées pour terminer manuellement la restauration de la configuration d'origine du principal IAM lors d'un scénario d'échec du flux de restauration.

 **Références** 

Systems Manager Automation
+ [Exécuter cette automatisation (console)](https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-ContainIAMPrincipal)
+ [Exécution d'une automatisation simple](https://docs.aws.amazon.com//systems-manager/latest/userguide/automation-working-executing.html)
+ [Configuration de l'automatisation](https://docs.aws.amazon.com//systems-manager/latest/userguide/automation-setup.html)
+ [Support des flux de travail automatisés](https://aws.amazon.com/premiumsupport/technology/saw/)

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

 **Description** 

 Le manuel **AWSSupport-TroubleshootSAMLIssues **d'automatisation permet de diagnostiquer les problèmes liés au langage SAML (Security Assertion Markup Language) en analysant les fichiers de réponses SAML stockés dans Amazon Simple Storage Service (Amazon S3). Il effectue une validation complète, y compris la vérification du schéma, la validation des signatures, la vérification des restrictions d'audience et la vérification du délai d'expiration. Le runbook décode et extrait les principaux éléments SAML, notamment l'émetteur, les assertions, le sujet, les conditions, les signatures et les attributs, de la réponse SAML. Pour les environnements dans lesquels le protocole SAML est utilisé pour accéder à AWS des ressources (comme Amazon Connect ou Amazon WorkSpaces Applications) par le biais d'un fournisseur d'identité IAM, il vérifie si les certificats contenus dans les signatures de réponse SAML correspondent aux certificats configurés dans le fournisseur d'identité IAM. 

 **Fonctionnement** 

 Le runbook exécute les étapes suivantes : 
+ Valide le format de réponse SAML et les éléments requis.
+ Décode et extrait les composants de la réponse SAML (émetteur, assertions, sujet, conditions, signatures, attributs).
+ Vérifie les signatures numériques par rapport aux certificats du fournisseur d'identité IAM lorsqu'ils sont fournis.
+ Vérifie les restrictions d'audience et la validité temporelle.
+ Fournit des informations de diagnostic détaillées montrant la structure SAML analysée et les résultats de validation.

 [Exécuter cette automatisation (console)](https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-TroubleshootSAMLIssues) 

**Type de document**

 Automatisation

**Propriétaire**

Amazon

**Plateformes**

/

**Autorisations IAM requises**

Le `AutomationAssumeRole` paramètre nécessite les actions suivantes pour utiliser correctement le runbook.
+ `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`

Exemple de politique : 

------
#### [ 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"
                }
            ]
        }
```

------

 **Instructions** 

Pour configurer l'automatisation, procédez comme suit :

1. Avant d'utiliser ce runbook, vous devez capturer et stocker une réponse SAML codée en Base64 (fichier txt) dans un compartiment S3. Les instructions pour capturer les réponses SAML se trouvent dans [ce document](https://docs.aws.amazon.com//IAM/latest/UserGuide/troubleshoot_saml_view-saml-response.html)

1. Accédez [https://console.aws.amazon.com/systems-manager/documents/AWSSupport-TroubleshootSAMLIssues/description](https://console.aws.amazon.com/systems-manager/documents/AWSSupport-TroubleshootSAMLIssues/description)à Systems Manager sous Documents.

1. Sélectionnez **Execute automation** (Exécuter l'automatisation).

1. Pour les paramètres d'entrée, entrez ce qui suit :
   + **AutomationAssumeRole (Facultatif) :**
     + Description : (Facultatif) Le nom de ressource Amazon (ARN) du rôle Gestion des identités et des accès AWS (IAM) qui permet à SSM Automation d'effectuer les actions en votre nom. Si aucun rôle n'est spécifié, Systems Manager Automation utilise les autorisations de l'utilisateur qui lance ce runbook.
     + Type : `AWS::IAM::Role::Arn`
   + **InputFileS3URI (obligatoire) :**
     + Description : (obligatoire) Amazon Simple Storage Service (Amazon S3) URI du fichier txt de réponse SAML (par exemple, s3://bucket name/path/to/file - .txt).
     + Type : Chaîne
     + Autoriser le modèle : `^s3://[a-z0-9][a-z0-9.-][a-z0-9](/.)?$`
   + **S3 OutputPrefix (facultatif) :**
     + <executionID of the runbook>Description : (Facultatif) Les fichiers de sortie d'analyse sont stockés dans le compartiment d'entrée sous le nom « saml\$1analysis\$1 .json ». Vous pouvez utiliser ce paramètre si vous souhaitez générer un fichier avec un préfixe spécifique. <executionID of the runbook>La valeur par défaut est « output/ », auquel cas l'URI du fichier qui affiche le résultat sera 's3://bucket - name/output/saml \$1analysis\$1 .json'.
     + Type : Chaîne
     + Autoriser le modèle : `^[a-zA-Z0-9+=,.@\\-_/]*/$`
   + **ExpectedAudience (Facultatif) :**
     + Description : (Facultatif) Valeur d'audience attendue dans la réponse SAML. Si ce n'est pas spécifié, nous utilisons`urn:amazon:webservices`. Si vous avez configuré une valeur d'audience spécifique dans votre configuration IdP et SP, veuillez fournir le format exact (par exemple,`urn:amazon:webservices`,`https://signin.aws.amazon.com/saml`).
     + Type : Chaîne
     + Par défaut : urn:amazon:webservices
   + **IamIdProviderArn (Facultatif) :**
     + Description : (Facultatif) Si vous utilisez une entité de fournisseur d'ID IAM pour lier directement votre IdP AWS à IAM, veuillez fournir son ARN (par exemple,). `arn:aws:iam::<account-id>:saml-provider/<provider-name>`
     + Type : Chaîne
     + Autoriser le modèle : `^$|^arn:aws:iam::[0-9]{12}:saml-provider/[a-zA-Z0-9_-]+$`
   + **SAMLAuthenticationHeure (facultatif) :**
     + Description : (Facultatif) Date et heure auxquelles l'authentification SAML a été effectuée. Le fuseau horaire doit être UTC. Doit être au YYYY-MM-DDThh format:mm:ss (par exemple, 2025-02-01T 10:00:00). Si ce paramètre n'est pas fourni, les vérifications d'expiration seront effectuées par rapport à l'horodatage actuel.
     + Type : Chaîne
     + Autoriser le modèle : `^$|^\\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 (facultatif) :**
     + Description : ARN du rôle IAM (facultatif) pour accéder aux compartiments Amazon S3. L'ARN du rôle IAM autorisé à obtenir les paramètres d'accès public au compartiment et au compte Amazon S3, à bloquer le compte, à configurer le chiffrement du compartiment, à connaître ACLs le statut de la politique du compartiment et à télécharger des objets dans le compartiment. Si ce paramètre n'est pas spécifié, le runbook utilise le fichier `AutomationAssumeRole` (si spécifié) ou l'utilisateur qui démarre ce runbook (si `AutomationAssumeRole` n'est pas spécifié).
     + Type : `AWS::IAM::Role::Arn`

1. Sélectionnez **Exécuter**.

1. L'automatisation démarre.

1. Le document exécute les étapes suivantes :
   + **Valider IAMIDProvider**

     Valide l'ARN du fournisseur d'ID IAM fourni en vérifiant s'il existe et s'il est accessible. Si aucun ARN n'est fourni, la validation est ignorée et l'étape se termine correctement.
   + **Chèques 3 BucketPublicStatus**

     Vérifie si le compartiment Amazon S3 autorise les autorisations d'accès anonymes ou publiques en lecture ou en écriture. Si le bucket autorise ces autorisations, l'automatisation s'arrête à cette étape.
   + **Chèques 3 ObjectExistence**

     Valide l'accès aux compartiments Amazon S3. Vérifie si le bucket et l'objet existent et si l'automatisation dispose des autorisations nécessaires pour lire depuis la source et écrire vers la destination.
   + **Analyser SAMLResponse**

     Analyse le fichier de réponses SAML en effectuant les vérifications (validation du schéma, vérification des signatures, validation de l'audience, vérification de l'expiration). Génère un rapport JSON détaillé et l'enregistre à l'emplacement Amazon S3 spécifié.

1. Une fois terminé, consultez la section **Sorties** pour obtenir les résultats détaillés de l'exécution :
   + La section **Outputs** contient des informations sur l'objet Amazon S3 dans lequel les résultats de l'analyse sont décrits.

1. L'objet Amazon S3 figurant dans les résultats de l'analyse est un fichier Json contenant les informations suivantes :
   + **validation\$1result** : contient les résultats de validation de base de la réponse SAML.
     + **saml\$1info : informations** SAML clés, notamment l'émetteur, les signatures et les assertions.
     + **schema\$1validation** : résultats de la validation du schéma SAML.
   + **verification\$1result** : fournit des résultats de diagnostic plus détaillés.
     + **signature** : résultats de la vérification de signature.
     + **audience** : résultats de la validation des restrictions d'audience.
     + **expiration** : résultats de la vérification de l'heure d'expiration.

 **Références** 

Systems Manager Automation
+ [Exécuter cette automatisation (console)](https://console.aws.amazon.com/systems-manager/automation/execute/AWSSupport-TroubleshootSAMLIssues)
+ [Exécuter une automatisation](https://docs.aws.amazon.com//systems-manager/latest/userguide/automation-working-executing.html)
+ [Configuration d'une automatisation](https://docs.aws.amazon.com//systems-manager/latest/userguide/automation-setup.html)
+ [Page d'accueil de Support Automation Workflows](https://aws.amazon.com/premiumsupport/technology/saw/)