

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.

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

 **Descripción** 

El `AWSSupport-TroubleshootS3AccessSameAccount` manual ayuda a diagnosticar los problemas de denegación de acceso a Amazon Simple Storage Service (Amazon S3) en las operaciones de bucket u objeto mediante la evaluación del nivel de acceso otorgado a la identidad (usuario o rol) del AWS Identity and Access Management solicitante (IAM) en su recurso de Amazon S3. El manual evalúa todas las políticas de acceso, las políticas de usuario y las políticas basadas en recursos (política de bucket, ACL de bucket y ACL de objetos) relevantes asociadas al recurso de Amazon S3 y al usuario o rol de IAM especificado en los parámetros de entrada.

**importante**  
Solo puede usar este manual para evaluar los problemas de acceso denegado si el solicitante está en la misma AWS cuenta que el bucket u objeto de Amazon S3.  
Asegúrese de que su usuario o la persona `AutomationAssumeRole` utilizada para ejecutar este runbook tenga los permisos necesarios para acceder a las políticas de recursos y get/list la configuración de metadatos pertinentes. bucket/key   
Si hay algún `NotPrincipal` elemento en la política de recursos, el manual mostrará un error en el paso. `PolicyModifier`

 **¿Cómo funciona?** 

El manual de ejecución realiza las siguientes evaluaciones:
+ Verifica la existencia del usuario o rol de IAM y deconstruye el ARN para identificar sus componentes clave.
+ Comprueba si el recurso (bucket u objeto) de Amazon S3 existe y devuelve el bucket y el nombre de la clave.
+ Valida que ambos user/role bucket/object estén en la misma AWS cuenta.
+ Recupera las configuraciones de ACL de cubos y objetos, si corresponde.
+ Obtiene las políticas de IAM asociadas al usuario o rol.
+ Recupera las políticas de bucket, si existen.
+ Si corresponde, busca las políticas AWS KMS clave para los objetos cifrados.
+ Si corresponde, busca las políticas de puntos finales de la VPC.
+ Recupera AWS las políticas de control de servicios (SCP) de Organizations, si se proporcionan.
+ Evalúa todas las políticas juntas para determinar los permisos efectivos para la acción especificada.

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

**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.
+ `ec2:DescribeVpcEndpoints`(si se especifica el punto final de VPC)
+ `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 se utiliza el cifrado KMS)
+ `s3:GetBucketAcl`
+ `s3:GetBucketLocation`
+ `s3:GetBucketPolicy`
+ `s3:GetObjectAcl`
+ `s3:GetObjectVersion`
+ `s3:ListBucket`

Política de IAM de ejemplo:

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

 **Instrucciones** 

Siga estos pasos para configurar la automatización:

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

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

1. Para los parámetros de entrada, introduzca lo siguiente:
   + **AutomationAssumeRole (Opcional):**

     El nombre del recurso de Amazon (ARN) de la función de IAM que permite a Systems Manager Automation realizar las acciones en su nombre. Si no se especifica ningún rol, Systems Manager Automation utilizará sus permisos.
   + **S3ResourceArn (Obligatorio):**

     El ARN de su recurso de Amazon S3 (bucket o clave). Para operaciones con objetos como `PutObject` o`GetObject`, proporcione el ARN del objeto. Ejemplo:`arn:aws:s3:::bucket_name`, o. `arn:aws:s3:::bucket_name/key_name`
   + **Acción S3 (obligatoria):**

     La acción de Amazon S3 para la que desea que el manual evalúe el contexto de acceso. Asegúrese de proporcionar el tipo de recurso de Amazon S3 correspondiente (bucket u objeto) para la acción específica. Los ejemplos incluyen: `GetObject``PutObject`,`DeleteObject`,`GetBucketAcl`,, etc.
   + **RequesterArn (Obligatorio):**

     El ARN principal (usuario o rol) de IAM para el que desea encontrar el nivel de acceso en el recurso específico de Amazon S3. Por ejemplo: `arn:aws:iam::123456789012:user/user_name` o `arn:aws:iam::123456789012:role/example-role`.
   + **RequesterRoleSessionName (Opcional):**

     El nombre de sesión del rol asumido, en caso de que el ARN de IAM sea un rol y desee proporcionar un nombre de sesión específico.
   + **S3ObjectVersionId (Opcional):**

     Si el objeto tiene varias versiones, este parámetro le permite especificar la versión específica del objeto que desea evaluar en el contexto de acceso.
   + **KmsKeyArn (Opcional):**

     El AWS KMS ARN clave si es relevante para la acción (por ejemplo:`CompleteMultipartUpload`,,`CopyObject`, `CreateMultipartUpload``PutObject`, etc.). Nota: El manual no permite especificar una AWS KMS clave en una cuenta diferente AWS .
   + **VpcEndpointId (Opcional):**

     El ID del punto final de la nube privada virtual (VPC) relacionado con la evaluación del acceso. Las políticas de bucket de Amazon S3 pueden controlar el acceso a los buckets desde puntos de enlace de VPC específicos.
   + **ContextKeyList (Opcional):**

     Lista de claves de condición y valores correspondientes con respecto a la evaluación de la política. Por ejemplo: `[{"ContextKeyName":"aws:PrincipalArn","ContextKeyValues":["arn:aws:iam::123456789012:root"],"ContextKeyType":"string"}]`.
   + **SCPPolicy (opcional):**

     La AWS Política de Control de Servicios (SCP) de Organizations en caso de que desee que el manual evalúe la entrada comparándola con una política de SCP en particular. Esto no es necesario y se ignora cuando se ejecuta este manual desde la cuenta de administración de la organización.

1. Seleccione Ejecutar.

1. Se inicia la automatización.

1. Este documento realiza los siguientes pasos:
   + **`IAMCheckTypeset`**:

     Comprueba la existencia del usuario o rol de IAM y deconstruye el ARN para identificar sus componentes clave.
   + **`ResourceTypeCheck`**:

     Comprueba si el recurso (bucket u objeto) de Amazon S3 existe y devuelve el bucket y el nombre de la clave.
   + **`UaBoOoAccountCheck`**:

     Valida que ambos user/role bucket/object estén en la misma AWS cuenta.
   + **`KeyDetailsChecker`**:

     Recupera detalles sobre el objeto Amazon S3 si el recurso es un objeto.
   + **`ACLBucketCheck`**:

     Recupera la configuración de ACL del bucket.
   + **`ConditionSetter`**:

     Configura las claves de condición para la evaluación de políticas.
   + **`FetchIAMPolicy`**:

     Obtiene las políticas de IAM asociadas al usuario o rol.
   + **`branchOnACLCheck`**:

     Determina si es necesario comprobar la ACL del objeto.
   + **`FetchBucketPolicy`**:

     Recupera la política de bucket, si existe.
   + **`branchOnKMSCheck`**:

     Determina si AWS KMS es necesario evaluar la política clave.
   + **`FetchKMSPolicy`**:

     Recupera la política AWS KMS clave, si corresponde.
   + **`branchOnVPCeCheck`**:

     Determina si es necesario evaluar la política de puntos finales de la VPC.
   + **`FetchVPCePolicy`**:

     Recupera la política de puntos finales de la VPC, si corresponde.
   + **`FetchSCPPolicy`**:

     Recupera el SCP de la AWS organización, si se proporciona.
   + **`PolicyModifier`**:

     Modifica y prepara todas las políticas para su evaluación.
   + **`EvaluatePolicy`**:

     Evalúa todas las políticas juntas para determinar los permisos efectivos para la acción especificada.

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

**Referencias**

Automatización de Systems Manager
+ [Ejecuta esta automatización (consola)](https://console.aws.amazon.com/systems-manager/documents/AWSSupport-TroubleshootS3AccessSameAccount/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)
+ [Flujos de trabajo de automatización de Support](https://aws.amazon.com/premiumsupport/technology/saw/)