Saltar al contenido

¿Cómo puedo conceder a un usuario de otra cuenta de AWS el acceso para cargar objetos en mi bucket de Amazon S3?

2 minutos de lectura
0

Quiero conceder a un usuario de AWS Identity and Access Management (IAM) de otra cuenta el acceso a mi bucket de Amazon Simple Storage Service (Amazon S3). Además, quiero conceder acceso entre cuentas para que el usuario pueda cargar objetos a mi bucket de Amazon S3.

Resolución

Para conceder a un usuario de IAM de la cuenta A acceso para cargar objetos a un bucket de S3 en la cuenta B, siga estos pasos:

  1. Desde la cuenta A, adjunte una política al usuario de IAM. La política debe permitir al usuario ejecutar las acciones s3:PutObject y s3:PutObjectAcl en el bucket de la cuenta B:

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Effect": "Allow",
          "Action": [
            "s3:PutObject",
            "s3:PutObjectAcl"
          ],
          "Resource": [
            "arn:aws:s3:::DOC-EXAMPLE-BUCKET",
            "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*"
          ]
        }
      ]
    }

    Nota: Antes de especificar una lista de control de acceso (ACL) a objetos para la carga, debe tener el permiso s3:PutObjectAcl. De lo contrario, aparecerá un error de acceso denegado al cargar un objeto con una ACL, como la ACL bucket-owner-full control.

  2. En la cuenta A, obtenga el nombre de recurso de Amazon (ARN) del usuario de IAM.

  3. En la cuenta B, adjunte una política de bucket que conceda al usuario de IAM de la cuenta A permiso para ejecutar las acciones s3:PutObject y s3:PutObjectAcl:

    {
      "Version": "2012-10-17",
      "Statement": [
        {
          "Sid": "DelegateS3Access",
          "Effect": "Allow",
          "Principal": {
            "AWS": "arn:aws:iam::999999999999:user/UploadData"
          },
          "Action": [
            "s3:PutObject",
            "s3:PutObjectAcl"
          ],
          "Resource": [
            "arn:aws:s3:::DOC-EXAMPLE-BUCKET",
            "arn:aws:s3:::DOC-EXAMPLE-BUCKET/*"
          ]
        }
      ]
    }

    Importante: Para el valor del elemento Principal, asegúrese de introducir el ARN del usuario de IAM en la cuenta A.

El usuario de IAM ya puede cargar objetos a Amazon S3.

Información relacionada

Ejemplo 2: propietario del bucket que concede permisos de bucket entre cuentas