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

5 minutos de lectura
0

No soy capaz de 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 o escritura a buckets de S3 desde una instancia EC2?

Descripción corta

Para conectar sus buckets de S3 desde sus instancias EC2, debe hacer lo siguiente:

1.    Crear un rol de perfil de AWS Identity and Access Management (IAM) que conceda acceso a Amazon S3.

2.    Vincule el perfil de instancias de IAM a la instancia.

3.    Valide los permisos en su bucket de S3.

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

5.    Valide el acceso a buckets de S3.

Resolución

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

1.    Abra la consola de IAM.

2.    Seleccione Roles y luego Create Role (Crear rol).

3.    Seleccione AWS Service (Servicio de AWS) y luego elija EC2 debajo de Use Case (Caso de uso).

Nota: al crear un rol de IAM desde la consola con EC2 seleccionada como entidad de confianza, se crea a su vez automáticamente un perfil de instancias de IAM con el mismo nombre que el nombre del rol. Sin embargo, si el rol se ha creado mediante AWS Command Line Interface (AWS CLI) o desde la API, entonces no se creará un perfil de instancias de manera automática. Para más información, consulte Creé un rol de IAM, pero no aparece en la lista desplegable cuando lanzo una instancia. ¿Qué debo hacer?

4.    Seleccione Next: Permissions (Siguiente: Permisos).

5.    Cree una política personalizada que brinde los permisos mínimos requeridos para acceder a su bucket de S3. Para instrucciones sobre la creación de políticas personalizadas, consulte Escribir políticas de IAM: cómo garantizar acceso a un bucket de Amazon S3 e Administración de identidades y accesos en Amazon S3.

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

6.    Elija Next: Tags (Siguiente: Etiquetas) y luego Next: Review (Siguiente: Revisión).

7.    Escriba un Nombre de rol y luego elija Create Role (Crear rol).

Vincular el perfil de instancias de IAM a la instancia EC2

1.    Abra la consola de Amazon EC2.

2.    Elija Instances (Instancias).

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

4.    Elija la pestaña Actions (Acciones), elija Security (Seguridad) y luego elija Modify IAM role (Modificar rol de IAM).

5.    Seleccione el rol de IAM que acaba de crear, y luego elija Save (Guardar). El rol de IAM se asigna a su instancia EC2.

Validar permisos en su bucket de S3

1.    Abra la consola de Amazon S3.

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

3.    Elija Permissions (Permisos).

4.    Elija Bucket Policy (Política de buckets).

5.    Busque declaraciones con Effect: Deny (Efecto: Denegar).

6.    En su política de buckets, edite o elimine cualquier declaración Effect: Deny (Efecto: Denegar) que esté denegando al perfil de instancias de IAM acceso a su bucket. Para obtener instrucciones sobre cómo editar políticas, consulte Editar políticas de IAM.

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

Para que la instancia de EC2 se conecte a los puntos de conexión 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 apuntando 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 la puerta de enlace

Para solucionar problemas de conectividad entre una instancia de EC2 privada y un bucket de S3, consulte ¿Por qué no puedo conectarme a un bucket de S3 mediante un punto de conexión de VPC de puerta de enlace?

Validar el acceso a buckets de S3

1.    Instale la CLI de AWS en la instancia de EC2.

Nota: Si recibe errores al ejecutar comandos de AWS CLI, asegúrese de que utiliza la versión más reciente de AWS CLI.

2.    Verifique el acceso a sus buckets de S3 mediante la ejecución del siguiente comando. Sustituya DOC-EXAMPLE-BUCKET por el nombre de su bucket de S3.

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

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

  • El rol de IAM vinculado a la instancia.
  • La política de clave KMS.

Si no se han concedido los permisos, no podrá copiar o descargar los objetos de S3. Para obtener más información, consulte¿Necesito especificar la clave de AWS KMS cuando descargo un objeto cifrado con KMS desde Amazon S3?


Información relacionada

¿Por qué no puedo conectarme a un bucket de S3 con un punto de enlace de la VPC de gateway?

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace un año