

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.

# `AWSSupport-TroubleshootS3AccessSameAccount`
<a name="automation-aws-troubleshoots3accesssameaccount"></a>

 **Description** 

Le `AWSSupport-TroubleshootS3AccessSameAccount` runbook permet de diagnostiquer les problèmes de refus d'accès à Amazon Simple Storage Service (Amazon S3) lors des opérations sur les compartiments ou les objets en évaluant le niveau d'accès accordé à l'identité (utilisateur ou rôle) du Gestion des identités et des accès AWS demandeur (IAM) sur votre ressource Amazon S3. Le runbook évalue toutes les politiques d'accès, les politiques utilisateur et les politiques basées sur les ressources (politique de compartiment, ACL de compartiment et ACL d'objet) associées à la ressource Amazon S3 et à l'utilisateur ou au rôle IAM spécifié dans les paramètres d'entrée.

**Important**  
Vous ne pouvez utiliser ce runbook que pour évaluer les problèmes de refus d'accès si le demandeur possède le même AWS compte que le bucket ou l'objet Amazon S3.  
Assurez-vous que votre utilisateur ou celui `AutomationAssumeRole` utilisé pour exécuter ce runbook dispose des autorisations nécessaires pour appliquer les politiques de ressources et get/list la configuration des bucket/key métadonnées pertinentes.  
S'il existe un `NotPrincipal` élément dans la politique de ressources, le runbook générera une erreur lors de l'étape`PolicyModifier`.

 **Fonctionnement** 

Le runbook effectue les évaluations suivantes :
+ Vérifie l'existence de l'utilisateur ou du rôle IAM et déconstruit l'ARN pour identifier ses composants clés.
+ Vérifie si la ressource Amazon S3 (compartiment ou objet) existe et renvoie le nom du compartiment et de la clé.
+ Vérifie que les user/role et bucket/object se trouvent dans le même AWS compte.
+ Récupère les configurations ACL du bucket et de l'objet, le cas échéant.
+ Récupère les politiques IAM associées à l'utilisateur ou au rôle.
+ Récupère les politiques relatives aux compartiments si elles existent.
+ Le cas échéant, extrait les politiques AWS KMS clés pour les objets chiffrés.
+ Le cas échéant, récupère les politiques des points de terminaison VPC.
+ Récupère AWS les politiques de contrôle des services (SCP) des organisations si elles sont fournies.
+ Évalue toutes les politiques ensemble afin de déterminer les autorisations effectives pour l'action spécifiée.

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

**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.
+ `ec2:DescribeVpcEndpoints`(si le point de terminaison VPC est spécifié)
+ `iam:GetGroupPolicy`
+ `iam:GetPolicy`
+ `iam:GetPolicyVersion`
+ `iam:GetRole`
+ `iam:GetRolePolicy`
+ `iam:GetUser`
+ `iam:GetUserPolicy`
+ `iam:ListAttachedRolePolicies`
+ `iam:ListAttachedUserPolicies`
+ `iam:ListGroupsForUser`
+ `iam:ListRolePolicies`
+ `iam:ListUserPolicies`
+ `iam:SimulatePrincipalPolicy`
+ `kms:GetKeyPolicy`(si le chiffrement KMS est utilisé)
+ `s3:GetBucketAcl`
+ `s3:GetBucketLocation`
+ `s3:GetBucketPolicy`
+ `s3:GetObjectAcl`
+ `s3:GetObjectVersion`
+ `s3:ListBucket`

Exemple de politique IAM :

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": [
                "ec2:DescribeVpcEndpoints",
                "iam:GetGroupPolicy",
                "iam:GetPolicy",
                "iam:GetPolicyVersion",
                "iam:GetRole",
                "iam:GetRolePolicy",
                "iam:GetUser",
                "iam:GetUserPolicy",
                "iam:ListAttachedRolePolicies",
                "iam:ListAttachedUserPolicies",
                "iam:ListGroupsForUser",
                "iam:ListRolePolicies",
                "iam:ListUserPolicies",
                "iam:SimulatePrincipalPolicy",
                "kms:GetKeyPolicy",
                "s3:GetBucketAcl",
                "s3:GetBucketLocation",
                "s3:GetBucketPolicy",
                "s3:GetObjectAcl",
                "s3:GetObjectVersion",
                "s3:ListBucket"
            ],
            "Resource": "*"
        }
    ]
}
```

 **Instructions** 

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

1. Accédez [https://console.aws.amazon.com/systems-manager/documents/AWSSupport-TroubleshootS3AccessSameAccount/description](https://console.aws.amazon.com/systems-manager/documents/AWSSupport-TroubleshootS3AccessSameAccount/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) :**

     L'Amazon Resource Name (ARN) du rôle 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 vos autorisations.
   + **S3ResourceArn (Obligatoire) :**

     L'ARN de votre ressource Amazon S3 (compartiment ou clé). Pour les opérations sur un objet telles que `PutObject` ou`GetObject`, fournissez l'ARN de l'objet. Exemple :`arn:aws:s3:::bucket_name`, ou`arn:aws:s3:::bucket_name/key_name`.
   + **Action S3 (obligatoire) :**

     L'action Amazon S3 pour laquelle vous souhaitez que le runbook évalue le contexte d'accès. Assurez-vous de fournir le type de ressource Amazon S3 correspondant (compartiment ou objet) pour l'action spécifique. Les exemples incluent : `GetObject``PutObject`,`DeleteObject`,`GetBucketAcl`,, etc.
   + **RequesterArn (Obligatoire) :**

     L'ARN principal (utilisateur ou rôle) IAM pour lequel vous souhaitez connaître le niveau d'accès à la ressource Amazon S3 spécifique. Par exemple, `arn:aws:iam::123456789012:user/user_name` ou `arn:aws:iam::123456789012:role/example-role`.
   + **RequesterRoleSessionName (Facultatif) :**

     Le nom de session du rôle assumé, au cas où l'ARN IAM est un rôle et que vous souhaitez fournir un nom de session spécifique.
   + **S3ObjectVersionId (Facultatif) :**

     Si l'objet possède plusieurs versions, ce paramètre vous permet de spécifier la version spécifique de l'objet dont vous souhaitez évaluer le contexte d'accès.
   + **KmsKeyArn (Facultatif) :**

     L'ARN de la AWS KMS clé s'il est pertinent pour l'action (exemple : `CompleteMultipartUpload``CopyObject`,`CreateMultipartUpload`,`PutObject`,, etc.). Remarque : Le runbook ne permet pas de spécifier une AWS KMS clé dans un autre AWS compte.
   + **VpcEndpointId (Facultatif) :**

     L'ID de point de terminaison du cloud privé virtuel (VPC) associé à l'évaluation de l'accès. Les politiques relatives aux compartiments Amazon S3 peuvent contrôler l'accès aux compartiments à partir de points de terminaison VPC spécifiques.
   + **ContextKeyList (Facultatif) :**

     Liste des clés de condition et valeurs correspondantes par rapport à l'évaluation de la politique. Par exemple : `[{"ContextKeyName":"aws:PrincipalArn","ContextKeyValues":["arn:aws:iam::123456789012:root"],"ContextKeyType":"string"}]`.
   + **Politique SCP (facultatif) :**

     La AWS Organizations Service Control Policy (SCP) au cas où vous souhaiteriez que le runbook évalue l'entrée par rapport à une politique SCP particulière. Cela n'est pas nécessaire et n'est pas pris en compte lorsque vous exécutez ce runbook à partir du compte de gestion de l'organisation.

1. Sélectionnez Exécuter.

1. L'automatisation démarre.

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

     Vérifie l'existence de l'utilisateur ou du rôle IAM et déconstruit l'ARN pour identifier ses composants clés.
   + **`ResourceTypeCheck`**:

     Vérifie si la ressource Amazon S3 (compartiment ou objet) existe et renvoie le nom du compartiment et de la clé.
   + **`UaBoOoAccountCheck`**:

     Vérifie que les user/role et bucket/object se trouvent dans le même AWS compte.
   + **`KeyDetailsChecker`**:

     Récupère des informations sur l'objet Amazon S3 si la ressource est un objet.
   + **`ACLBucketCheck`**:

     Récupère la configuration ACL du bucket.
   + **`ConditionSetter`**:

     Configure les clés de condition pour l'évaluation des politiques.
   + **`FetchIAMPolicy`**:

     Récupère les politiques IAM associées à l'utilisateur ou au rôle.
   + **`branchOnACLCheck`**:

     Détermine si l'ACL de l'objet doit être vérifiée.
   + **`FetchBucketPolicy`**:

     Récupère la politique du bucket si elle existe.
   + **`branchOnKMSCheck`**:

     Détermine si les politiques AWS KMS clés doivent être évaluées.
   + **`FetchKMSPolicy`**:

     Récupère la politique AWS KMS clé, le cas échéant.
   + **`branchOnVPCeCheck`**:

     Détermine si la politique de point de terminaison du VPC doit être évaluée.
   + **`FetchVPCePolicy`**:

     Récupère la politique de point de terminaison du VPC, le cas échéant.
   + **`FetchSCPPolicy`**:

     Récupère le SCP des AWS Organizations s'il est fourni.
   + **`PolicyModifier`**:

     Modifie et prépare toutes les politiques en vue de leur évaluation.
   + **`EvaluatePolicy`**:

     Évalue toutes les politiques ensemble afin de déterminer les autorisations effectives pour l'action spécifiée.

1. Une fois l'exécution terminée, consultez la section Sorties pour connaître les résultats détaillés de l'exécution.

**Références**

Systems Manager Automation
+ [Exécuter cette automatisation (console)](https://console.aws.amazon.com/systems-manager/documents/AWSSupport-TroubleshootS3AccessSameAccount/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)
+ [Support des flux de travail automatisés](https://aws.amazon.com/premiumsupport/technology/saw/)