🧑‍💻 Asignar rol de IAM a una instancia EC2 y probar acceso

En este ejercicio vas a crear y asociar un rol de IAM a una instancia EC2, validando permisos diferenciados sobre buckets de S3.


Pasos del laboratorio

  1. Volvé a iniciar sesión como usuario administrador.

  2. Crear buckets de S3:

    • Accedé a la consola de S3.
    • Creá dos buckets: iam-test-<tu_usuario> y iam-test-other-<tu_usuario>.
    • Subí un archivo a cada bucket.
  3. Crear el rol de IAM:

    • Desde la consola de IAM, seleccioná Roles > Create role.
    • Elegí EC2 como entidad de confianza.
    • En permisos, creá una política personalizada con el siguiente JSON (ajustá el nombre del bucket):
{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Action": ["s3:ListAllMyBuckets", "s3:GetBucketLocation"],
      "Effect": "Allow",
      "Resource": ["arn:aws:s3:::*"]
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:Get*",
        "s3:List*"
      ],
      "Resource": [
        "arn:aws:s3:::iam-test-<tu_usuario>/*",
        "arn:aws:s3:::iam-test-<tu_usuario>"
      ]
    }
  ]
}
  • Guardá la política como IAMBucketTestPolicy.
  • Asociá la política al nuevo rol IAMBucketTestRole.
  1. Asociar el rol a la instancia EC2:

    • En la consola de EC2, seleccioná la instancia prod-instance.
    • Actions > Security > Modify IAM role.
    • Elegí IAMBucketTestRole y guardá.
  2. Verificar los permisos desde la instancia:

    • Conectate por EC2 Instance Connect.
    • Ejecutá:
aws s3 ls
aws s3 ls iam-test-<tu_usuario>
aws s3 ls iam-test-other-<tu_usuario>
  • ✅ Vas a listar los buckets y el contenido del bucket propio.
  • ❌ No vas a tener permisos sobre el bucket iam-test-other-<tu_usuario>.

¡Laboratorio de IAM completado! Ahora tu instancia EC2 accede a recursos S3 bajo control granular por rol.