Uso de recursos compartidos de datos administrados por Lake Formation como consumidor - Amazon Redshift

Uso de recursos compartidos de datos administrados por Lake Formation como consumidor

Una vez que el administrador de AWS Lake Formation descubra la invitación al recurso compartido de datos y cree una base de datos en el AWS Glue Data Catalog que se vincule con el recurso compartido de datos, el administrador del clúster o grupo de trabajo del consumidor puede asociar el clúster al recurso compartido de datos y a la base de datos del AWS Glue Data Catalog, crear una base de datos local para el clúster o grupo de trabajo del consumidor y conceder acceso a los usuarios y los roles del clúster o grupo de trabajo del consumidor de Amazon Redshift para comenzar a hacer consultas. Siga estos pasos para configurar los permisos de consulta.

  1. En la consola de Amazon Redshift, cree un clúster de Redshift que actúe como clúster o grupo de trabajo del consumidor, si es necesario. Para obtener información sobre cómo crear un clúster, consulte Creación de un clúster.

  2. Para enumerar las bases de datos del clúster o grupo de trabajo del consumidor de AWS Glue Data Catalog a las que tienen acceso los usuarios, ejecute el comando SHOW DATABASES.

    SHOW DATABASES FROM DATA CATALOG [ACCOUNT <account-id>,<account-id2>] [LIKE <expression>]

    Al hacerlo, se muestran los recursos que están disponibles en el catálogo de datos, como el ARN de la base de datos de AWS Glue, el nombre de la base de datos y la información sobre el recurso compartido de datos.

  3. Con el ARN de la base de datos de AWS Glue obtenido mediante SHOW DATABASES, cree una base de datos local en el clúster o grupo de trabajo del consumidor. Para obtener más información, consulte CREATE DATABASE.

    CREATE DATABASE lf_db FROM ARN <lake-formation-database-ARN> WITH [NO] DATA CATALOG SCHEMA [<schema>];
  4. Conceda acceso a las bases de datos y las referencias de esquema creadas a partir de los recursos compartidos de datos a usuarios y roles del clúster o grupo de trabajo del consumidor, según sea necesario. Para obtener más información, consulte GRANT o REVOKE. Tenga en cuenta que los usuarios creados a partir del comando CREATE USER no pueden acceder a los objetos del recurso compartido de datos que se hayan compartido con Lake Formation. Solo los usuarios con acceso a Redshift y Lake Formation pueden acceder a los recursos compartidos de datos que se hayan compartido con Lake Formation.

    GRANT USAGE ON DATABASE sales_db TO IAM:Bob;

    Como administrador de un clúster o grupo de trabajo del consumidor, solo puede asignar permisos para toda la base de datos creada a partir del recurso compartido de datos a los usuarios y roles. En algunos casos, necesita controles pormenorizados sobre un subconjunto de los objetos de base de datos creados a partir del datashare.

    También puede crear vistas de enlace de tiempo de ejecución encima de los objetos compartidos y utilizarlas para asignar permisos pormenorizados. También puede considerar la posibilidad de indicar a los clústeres del productor que creen recursos compartidos de datos adicionales en su nombre con el nivel de detalle requerido. Puede crear tantas referencias de esquema para la base de datos creada a partir del datashare como quiera.

  5. Los usuarios de base de datos pueden usar las vistas SVV_EXTERNAL_TABLES y SVV_EXTERNAL_COLUMNS para buscar todas las tablas o columnas compartidas en la base de datos de AWS Glue.

    SELECT * from svv_external_tables WHERE redshift_database_name = 'lf_db'; SELECT * from svv_external_columns WHERE redshift_database_name = 'lf_db';
  6. Consulte los datos de los objetos compartidos que se encuentran en los datashares.

    Los usuarios y los roles que tengan permisos en las bases de datos del consumidor y los esquemas de los clústeres o grupos de trabajo del consumidor pueden explorar y navegar por los metadatos de cualquier objeto compartido. También pueden explorar y navegar por los objetos locales de un clúster o grupo de trabajo del consumidor. Para ello, pueden utilizar controladores JDBC u ODBC, o vistas las SVV_ALL y SVV_EXTERNAL.

    SELECT * FROM lf_db.schema.table;

    Solo se pueden utilizar las instrucciones SELECT en los objetos compartidos. No obstante, puede crear tablas en el clúster consumidor consultando los datos de los objetos compartidos de una base de datos local diferente.

    // Connect to a local cluster database // Create a view on shared objects and access it. CREATE VIEW sales_data AS SELECT * FROM sales_db.public.tickit_sales_redshift WITH NO SCHEMA BINDING; SELECT * FROM sales_data;