Uso de recursos compartidos de datos administrados por Lake Formation como productor
Con Amazon Redshift, puede acceder a los datos compartidos a través de recursos compartidos de datos de AWS Lake Formation y analizarlos. Los recursos compartidos de datos de AWS Lake Formation permiten proteger el uso compartido de datos en las cuentas de AWS y clústeres de Amazon Redshift sin tener que copiar ni mover los datos subyacentes.
Compartir datos con AWS Lake Formation le permite definir de forma centralizada los permisos de AWS Lake Formation de los recursos compartidos de datos de Amazon Redshift y restringir el acceso de los usuarios a los objetos de un recurso compartido de datos.
Con Amazon Redshift, puede compartir datos en directo de forma segura entre las cuentas de AWS y los clústeres de Amazon Redshift con recursos compartidos de datos administrados por AWS Lake Formation como productor. Un recurso compartido de datos administrado por Lake Formation es un objeto que le permite compartir datos en directo del clúster de Amazon Redshift con otras cuentas y servicios de AWS.
Como administrador del clúster o grupo de trabajo del productor, siga estos pasos para compartir los recursos compartidos de datos con Lake Formation:
-
Cree recursos compartidos de datos en el clúster y autorice el acceso a los recursos compartidos de datos a AWS Lake Formation.
Los superusuarios de clústeres y los propietarios de bases de datos pueden crear recursos compartidos de datos. Cada datashare se asocia a una base de datos durante la creación. Solo los objetos de esa base de datos se pueden compartir en ese datashare. Se pueden crear varios datashares en la misma base de datos con el mismo nivel de detalle de los objetos o uno diferente. No hay límite en cuanto a la cantidad de recursos compartidos de datos que puede crear en un clúster.
CREATE DATASHARE salesshare;
-
Agregue objetos al recurso compartido de datos. El administrador del clúster o grupo de trabajo del productor sigue administrando los objetos del recurso compartido de datos que estén disponibles. Para agregar objetos a un datashare, agregue el esquema antes de agregar los objetos. Cuando se agrega un esquema, Amazon Redshift no agrega todos los objetos que contiene. Se deben agregar de forma explícita. Para obtener más información, consulte ALTER DATASHARE.
ALTER DATASHARE salesshare ADD SCHEMA PUBLIC; ALTER DATASHARE salesshare ADD TABLE public.tickit_sales_redshift; ALTER DATASHARE salesshare ADD ALL TABLES IN SCHEMA PUBLIC;
También se pueden agregar vistas a un datashare. Los tipos de vistas que se admiten son: estándar, enlace en tiempo de ejecución y materializadas.
CREATE VIEW public.sales_data_summary_view AS SELECT * FROM public.tickit_sales_redshift; ALTER DATASHARE salesshare ADD TABLE public.tickit_sales_redshift;
Utilice ALTER DATASHARE para compartir esquemas, tablas y vistas de un esquema determinado. Los superusuarios, los propietarios de recursos compartidos de datos o los usuarios que tienen permisos ALTER u ALL sobre el recurso compartido de datos pueden modificarlo para agregarle o quitarle objetos. Los usuarios de base de datos también deben ser los propietarios de los objetos o disponer de permisos SELECT, USAGE u ALL sobre ellos.
Utilice la cláusula INCLUDENEW para agregar al recurso compartido de datos nuevas tablas y vistas creadas en un esquema especificado. Solo los superusuarios pueden modificar esta propiedad para cada par de esquema y datashare.
ALTER DATASHARE salesshare ADD SCHEMA PUBLIC; ALTER DATASHARE salesshare SET INCLUDENEW = TRUE FOR SCHEMA PUBLIC;
-
Conceda acceso al recurso compartido de datos a una cuenta de administrador de Lake Formation.
GRANT USAGE ON DATASHARE salesshare TO ACCOUNT '012345678910' VIA DATA CATALOG;
Para revocar el uso, ejecute el siguiente comando.
REVOKE USAGE ON DATASHARE salesshare FROM ACCOUNT '012345678910' VIA DATA CATALOG;
-
Autorice el acceso al recurso compartido de datos de Lake Formation mediante la operación de la API
aws redshift authorize-data-share
. Al hacerlo, Lake Formation reconoce el recurso compartido de datos en la cuenta de servicio y administra la asociación de los consumidores al recurso compartido de datos.aws redshift authorize-data-share --data-share-arn arn:aws:redshift:us-east-1:{PRODUCER_ACCOUNT}:datashare:{PRODUCER_CLUSTER_NAMESPACE}/salesshare --consumer-identifier {"DataCatalog/<consumer-account-id>"}
Para eliminar la autorización de los recursos compartidos de datos administrado por Lake Formation, utilice la operación de la API
aws redshift deauthorize-data-share
. Al hacerlo así, permite a AWS Lake Formation que reconozca el recurso compartido de datos en la cuenta de servicio y retire la autorización.aws redshift deauthorize-data-share --data-share-arn arn:aws:redshift:us-east-1:{PRODUCER_ACCOUNT}:datashare:{PRODUCER_CLUSTER_NAMESPACE}/salesshare --consumer-identifier {"DataCatalog/<consumer-account-id>"}
En cualquier momento, si el administrador del clúster o grupo de trabajo del productor decide que ya no es necesario compartir datos con el clúster o el grupo de trabajo del consumidor, puede usar DROP DATASHARE para eliminar el recurso compartido de datos, desautorizar el recurso compartido de datos o revocar los permisos del recurso compartido de datos. Los permisos y los objetos asociados en Lake Formation no se eliminan automáticamente.
DROP DATASHARE salesshare;
Tras autorizar a la cuenta de Lake Formation para administrar el recurso compartido de datos, el administrador de Lake Formation puede descubrir el recurso compartido de datos que se ha compartido, asociar el recurso compartido de datos con un ARN de catálogo de datos y crear una base de datos en AWS Glue Data Catalog que enlaza con el recurso compartido de datos. Para asociar recursos compartidos de datos mediante la AWS CLI, use el comando associate-data-share-consumer. Para compartir un recurso compartido de datos entre Regiones de AWS, especifique el parámetro
--region
en el comandoassociate-data-share-consumer
o utilice la consola de AWS para elegir a los consumidores de datos. En el siguiente ejemplo se muestra cómo compartir un recurso compartido de datos administrado por Lake Formation entre regiones.aws redshift associate-data-share-consumer --region <region-1> --data-share-arn 'arn:aws:redshift:us-east-1:12345678912:datashare:035c45ea-61ce-86f0-8b75-19ac6102c3b7/sample_share' --consumer-arn 'arn:aws:glue:<region-1>:111912345678:catalog'
El administrador de Lake Formation también debe crear recursos locales que definan cómo los objetos del recurso compartido de datos deben asignarse a los objetos de Lake Formation. Para obtener más información sobre el descubrimiento de recursos compartidos de datos y la creación de recursos locales, consulte Administración de permisos para datos en un recurso compartido de datos de Amazon Redshift.