Paso 1. Crear un rol de IAM para Amazon Redshift - Amazon Redshift

Paso 1. Crear un rol de IAM para Amazon Redshift

El clúster necesita autorización para obtener acceso al catálogo de datos externo de AWS Glue o Amazon Athena, y a los archivos de datos de Amazon S3. Para proporcionar esa autorización, se referencia un rol de AWS Identity and Access Management (IAM) que se adjunta a su clúster. Para obtener más información acerca del uso de roles con Amazon Redshift, consulte Autorización de uso de las operaciones COPY y UNLOAD mediante roles de IAM.

nota

En ciertos casos, puede migrar su catálogo de datos de Athena a un catálogo de datos de AWS Glue. Puede hacer esto si su clúster está en una región de AWS donde se admite AWS Glue y tiene tablas externas de Redshift Spectrum en el catálogo de datos de Athena. Para usar el catálogo de datos de AWS Glue con Redshift Spectrum, es posible que tenga que cambiar las políticas de IAM. Para obtener más información, consulte Actualización al catálogo de datos de AWS Glue en la Guía del usuario de Athena.

Cuando cree un rol para Amazon Redshift, elija uno de los siguientes enfoques:

Para crear un rol de IAM para Amazon Redshift
  1. Abra la consola de IAM.

  2. Seleccione Roles en el panel de navegación.

  3. Elija Create role (Crear rol).

  4. Elija Servicio de AWS como entidad de confianza y, a continuación, elija Redshift como caso de uso.

  5. En Caso de uso para otros Servicios de AWS, elija Redshift - Personalizable y, a continuación, elija Siguiente.

  6. Aparece la página Add permissions policy (Agregar política de permisos). Elija AmazonS3ReadOnlyAccess y AWSGlueConsoleFullAccess, si está utilizando el catálogo de datos AWS Glue. O bien, elija AmazonAthenaFullAccess si está utilizando el catálogo de datos de Athena. Elija Next (Siguiente).

    nota

    La política AmazonS3ReadOnlyAccess proporciona al clúster acceso de solo lectura a todos los buckets de Amazon S3. Para conceder acceso solo al bucket de datos de muestra de AWS, cree una política nueva y agregue los siguientes permisos.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:Get*", "s3:List*" ], "Resource": "arn:aws:s3:::redshift-downloads/*" } ] }
  7. En Role Name (Nombre de la función), escriba un nombre para la función; por ejemplo, myspectrum_role.

  8. Revise la información y seleccione Create role (Crear función).

  9. Seleccione Roles en el panel de navegación. Elija el nombre de la nueva función para ver el resumen y copie el ARN de función en el portapapeles. Esta valor es el nombre de recurso de Amazon (ARN) de la función que acaba de crear. Usa ese valor cuando crea tablas externas para referenciar sus archivos de datos en Amazon S3.

Para crear un rol de IAM para Amazon Redshift mediante un AWS Glue Data Catalog habilitado para AWS Lake Formation
  1. Abra la consola de IAM en https://console.aws.amazon.com/iam/.

  2. En el panel de navegación, seleccione Policies (Políticas).

    Si es la primera vez que elige Policies (Políticas), aparecerá la página Welcome to Managed Policies (Bienvenido a políticas administradas). Elija Get Started (Comenzar).

  3. Elija Create Policy (Crear política).

  4. Elija crear la política en la pestaña JSON.

  5. Pegue el siguiente documento de política JSON, el cual concede acceso al catálogo de datos, pero deniega el permiso de administrador para Lake Formation.

    { "Version": "2012-10-17", "Statement": [ { "Sid": "RedshiftPolicyForLF", "Effect": "Allow", "Action": [ "glue:*", "lakeformation:GetDataAccess" ], "Resource": "*" } ] }
  6. Cuando haya terminado, seleccione Review (Revisar) para revisar la política. El validador de políticas notifica los errores de sintaxis.

  7. En la página Review policy (Revisar política), en el campo Name (Nombre), ingrese myspectrum_policy para asignarle un nombre a la política que está creando. (Opcional) Introduzca una descripción. Revise el Summary (Resumen) de la política para ver los permisos concedidos por su política. A continuación, elija Create policy (Crear política) para guardar su trabajo.

    Después de crear una política, puede proporcionar acceso a los clientes.

Para dar acceso, agregue permisos a los usuarios, grupos o roles:

Para otorgar permisos SELECT en la tabla para realizar consultas en la base de datos de Lake Formation
  1. Abra la consola de Lake Formation en https://console.aws.amazon.com/lakeformation/.

  2. En el panel de navegación, elija Permisos de lago de datos y, a continuación, elija Otorgar.

  3. Siga las instrucciones de Otorgar permisos de tabla mediante el método de recurso designado de la Guía para desarrolladores de AWS Lake Formation. Proporcione la información siguiente:

    • En IAM role (Rol de IAM), elija el rol de IAM que creó, myspectrum_role. Cuando se ejecuta el editor de consultas de Amazon Redshift, este utiliza el rol de IAM para dar permiso a los datos.

      nota

      Si desea otorgar permisos SELECT en la tabla de un catálogo de datos habilitado para Lake Formation para realizar consultas, haga lo siguiente:

      • Registre la ruta para los datos en Lake Formation.

      • Otorgue a los usuarios permisos para la ruta en Lake Formation.

      • Las tablas creadas se pueden encontrar en la ruta registrada en Lake Formation.

  4. Elija Conceder.

importante

Como práctica recomendada, permita el acceso únicamente a los objetos de Amazon S3 subyacentes a través de permisos de Lake Formation. Para evitar accesos no aprobados, quite cualquier permiso que haya otorgado a los objetos de Amazon S3 fuera de Lake Formation. Si ya ha accedido a objetos de Amazon S3 antes de configurar Lake Formation, quite las políticas de IAM o los permisos de los buckets que se hayan configurado con anterioridad. Para obtener más información, consulte Actualización de permisos de datos de AWS Glue en el modelo de AWS Lake Formation y Permisos de Lake Formation.