¿Cómo puedo acceder a un bucket de otra cuenta mediante un punto de acceso de S3 restringido a una VPC?
Tengo una entidad de AWS Identity and Access Management (IAM) y un bucket de Amazon Simple Storage Service (Amazon S3) en diferentes cuentas de AWS. Quiero conceder a la entidad de IAM acceso entre cuentas al bucket mediante un punto de acceso de Amazon S3. El punto de acceso está restringido a una Amazon Virtual Private Cloud (Amazon VPC).
Breve descripción
Puede conceder a un rol o usuario de IAM de una cuenta de AWS acceso a un bucket de Amazon S3 de otra cuenta de AWS mediante un punto de acceso de S3 restringido a una Amazon VPC.
Supongamos que la entidad de IAM está en la cuenta A y el bucket de S3 está en la cuenta B. Para conceder a la entidad de IAM acceso al bucket mediante un punto de acceso de S3 restringido a una Amazon VPC, siga estos pasos:
- Cree y adjunte un punto de acceso de Amazon S3 al bucket de la cuenta B.
- Cree un punto de enlace de la puerta de enlace de la VPC de Amazon S3 en la cuenta A.
- Adjunte políticas al punto de acceso, el bucket y la entidad de IAM.
Nota: La identidad de IAM de la cuenta A debe estar en la misma región de AWS que el bucket de S3 de la cuenta B.
Resolución
Cómo crear y adjuntar un punto de acceso de Amazon S3 al bucket de la cuenta B
Para crear y adjuntar un punto de acceso de Amazon S3 al bucket de la cuenta B, siga estos pasos:
- Abra la consola de Amazon S3.
- En el panel de navegación, elija Puntos de acceso.
- Elija Crear punto de acceso.
- En Nombre del punto de acceso, introduzca el nombre del punto de acceso. Para obtener más información sobre cómo asignar nombres a los puntos de acceso, consulte Reglas para asignar nombres a los puntos de acceso de Amazon S3.
- En Nombre del bucket, elija Elegir un bucket de esta cuenta y, a continuación, introduzca el nombre del bucket al que desea vincular el punto de acceso.
- En Origen de red, elija Virtual private cloud (VPC).
- En ID de la VPC, introduzca el ID de la VPC de la otra cuenta de AWS (cuenta A).
- En Ajustes de bloqueo de acceso público para este punto de acceso, elija la configuración de bloqueo de acceso público que desea aplicar al punto de acceso.
Nota: Después de crear un punto de acceso, no puede cambiar la configuración de bloqueo de acceso público. - Deje Política de punto de acceso en blanco.
- Elija Crear punto de acceso.
Cómo crear un punto de enlace de la puerta de enlace de la VPC de Amazon S3 en la cuenta A
Para crear un punto de enlace de la puerta de enlace de la VPC de S3 en la cuenta A que conceda acceso al bucket de Amazon S3 de la cuenta B, siga estos pasos:
- Abra la consola de Amazon VPC.
- En el panel de navegación, elija Puntos de enlace.
- Elija Crear punto de enlace.
- En Categoría de servicio, elija Servicios de AWS.
- En Servicios, añada el filtro Type = Gateway y seleccione com.amazonaws.<region>.s3.
- En VPC, seleccione la misma VPC que usó para crear el punto de acceso en la cuenta B.
- En Tablas de enrutamiento, elija las tablas de enrutamiento que utilizará el punto de enlace.
- En Política, elija Acceso completo para permitir todas las operaciones según todas las entidades principales en todos los recursos mediante el punto de enlace de VPC. O bien, elija Personalizado y utilice su propia política que permita las acciones de S3 necesarias.
Por ejemplo, la siguiente política de punto de enlace de VPC permite todas las acciones de S3 en todos los buckets:
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": "*", "Action": "s3:*", "Resource": "arn:aws:s3:*" } ] }
Nota: Los puntos de enlace de la puerta de enlace no permiten el acceso desde otras regiones de AWS.
Cómo adjuntar políticas al punto de acceso, el bucket y la entidad de IAM
Para permitir que la entidad de IAM de la cuenta A acceda al bucket de la cuenta B mediante el punto de acceso, debe adjuntar políticas a lo siguiente:
- El punto de acceso
- El bucket de S3
- La entidad de IAM
Política de punto de acceso
Para permitir que la entidad de IAM de la cuenta A acceda al punto de acceso de S3 de la cuenta B, adjunte la siguiente política a su punto de acceso:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "DelegateControlToAccessPoint", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::AccountA-ID:user/user1", "arn:aws:iam::AccountA-ID:role/role01" ] }, "Action": [ "s3:ListBucket", "s3:PutObject", "s3:GetObject" ], "Resource": [ "arn:aws:s3:us-east-2:AccountB-ID:accesspoint/my-acess-point/object/*", "arn:aws:s3:us-east-2:AccountB-ID:accesspoint/my-access-point" ] } ] }
Política de bucket
Para permitir que la entidad de IAM de la cuenta A acceda al bucket de la cuenta B mediante el punto de acceso, adjunte la siguiente política a su bucket:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCrossAccountAccess", "Effect": "Allow", "Principal": { "AWS": [ "arn:aws:iam::AccountA-ID:user/user1", "arn:aws:iam::AccountA-ID:role/role01" ] }, "Action": [ "s3:GetObject", "s3:ListBucket", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::my-bucket", "arn:aws:s3:::my-bucket/*" ], "Condition": { "StringEquals": { "s3:DataAccessPointArn": "arn:aws:s3:us-east-2:AccountB-ID:accesspoint/my-access-point" } } } ] }
Política de IAM
Para permitir que la entidad de IAM de la cuenta A acceda al bucket y al punto de acceso de la cuenta B, adjunte la siguiente política a su entidad de IAM:
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowCrossAccountAccessToBucketAndAP", "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:PutObject", "s3:GetObject" ], "Resource": [ "arn:aws:s3:us-east-2:AccountB-ID:accesspoint/my-access-point", "arn:aws:s3:us-east-2:AccountB-ID:accesspoint/my-access-point/object/*", "arn:aws:s3:::my-bucket", "arn:aws:s3:::my-bucket/*" ] } ] }
Ejemplos de comandos de la AWS CLI para realizar operaciones de S3 en el bucket mediante el punto de acceso
Nota: Si se muestran errores al ejecutar comandos de la Interfaz de la línea de comandos de AWS (AWS CLI), consulte Troubleshoot AWS CLI errors. Además, asegúrese de utilizar la versión más reciente de la AWS CLI.
Para enumerar los objetos mediante el punto de acceso, ejecute el comando ls:
aws s3 ls arn:aws:s3:us-east-2:AccountB-ID:accesspoint/my-access-point
Para cargar archivos mediante el punto de acceso, ejecute el comando cp:
aws s3 cp file.txt s3://arn:aws:s3:us-east-2:AccountB-ID:accesspoint/my-access-point
También puede usar el comando cp para descargar archivos mediante el punto de acceso:
aws s3 cp s3://arn:aws:s3:us-east-2:AccountB-ID:accesspoint/my-access-point file.txt
Nota: La solicitud debe originarse en una instancia de Amazon Elastic Compute Cloud (Amazon EC2) que esté en la misma VPC y en la misma región que el bucket.

Contenido relevante
- preguntada hace 24 díaslg...
- preguntada hace 3 meseslg...
- preguntada hace 16 díaslg...
- preguntada hace un meslg...
- Respuesta aceptadapreguntada hace 2 meseslg...
- OFICIAL DE AWSActualizada hace 2 meses
- OFICIAL DE AWSActualizada hace 2 meses
- OFICIAL DE AWSActualizada hace un año
- OFICIAL DE AWSActualizada hace un año