¿Cómo puedo conceder a mi instancia de Amazon EC2 acceso a un bucket de Amazon S3?

5 minutos de lectura
0

No puedo acceder a un bucket de Amazon Simple Storage Service (Amazon S3) desde mi instancia de Amazon Elastic Compute Cloud (Amazon EC2). ¿Cómo puedo activar el acceso de lectura/escritura a los buckets de S3 desde una instancia EC2?

Descripción corta

Para conectarse a los buckets de S3 desde las instancias EC2, debe hacer lo siguiente:

1.    Cree una función de perfil de AWS Identity and Access Management (IAM) que conceda acceso a Amazon S3.

2.    Adjunte el perfil de instancia de IAM a la instancia.

3.    Valide los permisos de su bucket de S3.

4.    Valide la conectividad de red desde la instancia EC2 a Amazon S3.

5.    Valide el acceso a los depósitos de S3.

Solución

Crear un perfil de instancia de IAM que conceda acceso a Amazon S3

1.    Abra la consola de IAM.

2.    Seleccione Roles y, a continuación, Crear rol.

3.    Seleccione AWS Service y, a continuación, EC2 en Caso de uso.

Nota: Al crear un rol de IAM desde la consola con EC2 seleccionado como entidad de confianza, se crea automáticamente un perfil de instancia de IAM con el mismo nombre que el nombre del rol. Sin embargo, si el rol se crea mediante la interfaz de la línea de comandos de AWS (AWS CLI) o desde la API, el perfil de instancia no se crea automáticamente. Para obtener más información, consulte He creado un rol de IAM, pero no aparece en la lista desplegable cuando lanzo una instancia. ¿Qué debo hacer?

4.    Seleccione Siguiente: Permisos.

5.    Cree una política personalizada que proporcione los permisos mínimos necesarios para acceder a su bucket de S3. Para obtener instrucciones sobre la creación de políticas personalizadas, consulte Writing IAM policies: how to grant access to an Amazon S3 bucket y Identity and access management in Amazon S3.

Nota: Crear una política con los permisos mínimos requeridos es una práctica de seguridad recomendada. Sin embargo, para permitir el acceso de EC2 a todos sus buckets de Amazon S3, utilice la política de IAM gestionada AmazonS3ReadOnlyAccess o AmazonS3FullAccess.

6.    Seleccione Siguiente: Etiquetas y, a continuación, seleccione Siguiente: Revisar.

7.    Introduzca un nombre de rol y, a continuación, seleccione Crear rol.

Adjuntar el perfil de instancia de IAM a la instancia EC2

1.    Abra la consola de Amazon EC2.

2.    Elija Instancias.

3.    Seleccione la instancia a la que quiere adjuntar el rol de IAM.

4.    Seleccione la pestaña Acciones, seleccione Seguridad y, a continuación, elija Modificar rol de IAM.

5.    Seleccione el rol de IAM que acaba de crear y, a continuación, elija Guardar. La función de IAM se asigna a su instancia EC2.

Validar los permisos en su bucket de S3

1.    Abra la consola de Amazon S3.

2.    Seleccione el bucket de S3 para el que desea verificar la política.

3.    Seleccione Permisos.

4.    Elija Política de bucket.

5.    Busque instrucciones con Effect: Deny.

6.    En su política de buckets, edite o elimine cualquier declaración Effect: Deny que deniegue el acceso del perfil de la instancia de IAM a su bucket. Para obtener instrucciones sobre la edición de políticas, consulte Editing IAM policies.

Validar la conectividad de red desde la instancia EC2 a Amazon S3

Para que la instancia EC2 se conecte a los puntos finales de S3, la instancia debe ser una de las siguientes:

  • Instancia EC2 con una dirección IP pública y una entrada de tabla de enrutamiento con la ruta predeterminada que apunta a una puerta de enlace de Internet
  • Instancia EC2 privada con una ruta predeterminada a través de una puerta de enlace NAT
  • Instancia EC2 privada con conectividad a Amazon S3 mediante un punto de conexión de VPC de puerta de enlace

Para solucionar problemas de conectividad entre una instancia EC2 privada y un bucket de S3, consulte Why can’t I connect to an S3 bucket using a gateway VPC endpoint?

Validar el acceso a los buckets de S3

1.    Instale AWS CLI en su instancia EC2.

Nota: Si se muestran errores al ejecutar comandos de AWS CLI, compruebe si está utilizando la versión más reciente de AWS CLI.

2.    Verifique el acceso a los buckets de S3 ejecutando el siguiente comando. Sustituya DOC-EXAMPLE-BUCKET por el nombre de su bucket de S3.

aws s3 ls s3://DOC-EXAMPLE-BUCKET

Nota: Los objetos S3 cifrados con una clave de AWS Key Management Service (AWS KMS) deben tener permisos kms: Decrypt concedidos en los siguientes casos:

  • El rol de IAM adjunto a la instancia.
  • La política de claves de KMS.

Si no se conceden estos permisos, no podrá copiar ni descargar los objetos de S3. Para más información , consulte Do I need to specify the AWS KMS key when I download a KMS-encrypted object from Amazon S3?


Información relacionada

Why can’t I connect to an S3 bucket using a gateway VPC endpoint?

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 2 años