GRANT - Amazon Redshift

GRANT

Define permisos de acceso para un usuario o rol.

Los permisos incluyen opciones de acceso, como poder leer datos en tablas y vistas, escribir datos, crear tablas y eliminarlas. Utilice este comando para otorgar permisos específicos a una tabla, base de datos, esquema, función, procedimiento, lenguaje o columna. Para revocar los permisos de un objeto de la base de datos, utilice el comando REVOKE.

Los permisos también incluyen las siguientes opciones de acceso al productor de recursos compartidos de datos:

  • Otorgar acceso a un recurso compartido de datos a los espacios de nombres y las cuentas del consumidor.

  • Otorgar permiso para modificar un recurso compartido de datos mediante la adición o eliminación de objetos del recurso compartido de datos.

  • Otorgar permiso para compartir un recurso compartido de datos mediante la adición o eliminación de espacios de nombres del consumidor del recurso compartido de datos.

Las opciones de acceso para consumidores de recursos compartidos de datos son las siguientes:

  • Otorgar a los usuarios acceso total a las bases de datos creadas a partir de un recurso compartido de datos o a esquemas externos que apuntan a dichas bases de datos.

  • Otorgar a los usuarios permisos de nivel de objeto en las bases de datos creadas a partir de un recurso compartido de datos, tal como se hace con los objetos de bases de datos locales. Para conceder este nivel de permiso, debe utilizar la cláusula WITH PERMISSIONS al crear una base de datos a partir del recurso compartido de datos. Para obtener más información, consulte CREATE DATABASE.

Para obtener más información sobre permisos de recursos compartidos de datos, consulte Uso compartido de datos dentro de los clústeres y entre ellos.

También puede conceder roles para administrar los permisos de base de datos y controlar lo que los usuarios pueden hacer en relación con los datos. Al definir roles y asignarlos a los usuarios, puede limitar las acciones que estos pueden realizar, como, por ejemplo, limitar a los usuarios solo a los comandos CREATE TABLE e INSERT. Para obtener más información sobre el comando CREATE ROLE, consulte CREAR ROL. Amazon Redshift dispone de algunos roles definidos por el sistema que también puede utilizar para conceder permisos específicos a sus usuarios. Para obtener más información, consulte Roles definidos por el sistema de Amazon Redshift.

Solo puede usar permisos GRANT o REVOKE USAGE en un esquema externo de los usuarios de la base de datos y los grupos de usuarios que utilicen la sintaxis ON SCHEMA. Cuando use ON EXTERNAL SCHEMA con AWS Lake Formation, solo puede usar GRANT y REVOKE para conceder y revocar permisos a un rol de AWS Identity and Access Management (IAM). Para obtener una lista de los permisos, consulte la sintaxis.

Para los procedimientos almacenados, el único permiso que puede concederse es EXECUTE.

No se puede ejecutar GRANT (en un recurso externo) en un bloque de transacción (BEGIN … END). Para obtener más información acerca de las transacciones, consulte Aislamiento serializable.

Para ver qué permisos se han concedido a los usuarios para una base de datos, utilice HAS_DATABASE_PRIVILEGE. Para ver qué permisos se han concedido a los usuarios para un esquema, utilice HAS_SCHEMA_PRIVILEGE. Para ver qué permisos se han concedido a los usuarios para una tabla, utilice HAS_TABLE_PRIVILEGE.

Sintaxis

GRANT { { SELECT | INSERT | UPDATE | DELETE | DROP | REFERENCES | ALTER | TRUNCATE } [,...] | ALL [ PRIVILEGES ] } ON { [ TABLE ] table_name [, ...] | ALL TABLES IN SCHEMA schema_name [, ...] } TO { username [ WITH GRANT OPTION ] | ROLE role_name | GROUP group_name | PUBLIC } [, ...] GRANT { { CREATE | TEMPORARY | TEMP | ALTER } [,...] | ALL [ PRIVILEGES ] } ON DATABASE db_name [, ...] TO { username [ WITH GRANT OPTION ] | ROLE role_name | GROUP group_name | PUBLIC } [, ...] GRANT { { CREATE | USAGE | ALTER } [,...] | ALL [ PRIVILEGES ] } ON SCHEMA schema_name [, ...] TO { username [ WITH GRANT OPTION ] | ROLE role_name | GROUP group_name | PUBLIC } [, ...] GRANT { EXECUTE | ALL [ PRIVILEGES ] } ON { FUNCTION function_name ( [ [ argname ] argtype [, ...] ] ) [, ...] | ALL FUNCTIONS IN SCHEMA schema_name [, ...] } TO { username [ WITH GRANT OPTION ] | ROLE role_name | GROUP group_name | PUBLIC } [, ...] GRANT { EXECUTE | ALL [ PRIVILEGES ] } ON { PROCEDURE procedure_name ( [ [ argname ] argtype [, ...] ] ) [, ...] | ALL PROCEDURES IN SCHEMA schema_name [, ...] } TO { username [ WITH GRANT OPTION ] | ROLE role_name | GROUP group_name | PUBLIC } [, ...] GRANT USAGE ON LANGUAGE language_name [, ...] TO { username [ WITH GRANT OPTION ] | ROLE role_name | GROUP group_name | PUBLIC } [, ...]

A continuación, se muestra la sintaxis de los permisos de nivel de columna en tablas y vistas de Amazon Redshift.

GRANT { { SELECT | UPDATE } ( column_name [, ...] ) [, ...] | ALL [ PRIVILEGES ] ( column_name [,...] ) } ON { [ TABLE ] table_name [, ...] } TO { username | ROLE role_name | GROUP group_name | PUBLIC } [, ...]

A continuación, se muestra la sintaxis de los permisos ASSUMEROLE concedidos a usuarios y grupos con un rol especificado. Para empezar a utilizar el privilegio ASSUMEROLE, consulte Notas de uso para conceder el permiso ASSUMEROLE.

GRANT ASSUMEROLE ON { 'iam_role' [, ...] | default | ALL } TO { username | ROLE role_name | GROUP group_name | PUBLIC } [, ...] FOR { ALL | COPY | UNLOAD | EXTERNAL FUNCTION | CREATE MODEL } [, ...]

A continuación, se muestra la sintaxis para la integración de Redshift Spectrum con Lake Formation.

GRANT { SELECT | ALL [ PRIVILEGES ] } ( column_list ) ON EXTERNAL TABLE schema_name.table_name TO { IAM_ROLE iam_role } [, ...] [ WITH GRANT OPTION ] GRANT { { SELECT | ALTER | DROP | DELETE | INSERT } [, ...] | ALL [ PRIVILEGES ] } ON EXTERNAL TABLE schema_name.table_name [, ...] TO { { IAM_ROLE iam_role } [, ...] | PUBLIC } [ WITH GRANT OPTION ] GRANT { { CREATE | ALTER | DROP } [, ...] | ALL [ PRIVILEGES ] } ON EXTERNAL SCHEMA schema_name [, ...] TO { IAM_ROLE iam_role } [, ...] [ WITH GRANT OPTION ]
Permisos de recursos compartidos de datos del lado del productor

A continuación, se muestra la sintaxis para utilizar GRANT a fin de conceder permisos ALTER o SHARE a un usuario o rol. El usuario puede modificar el recurso compartido de datos con el permiso ALTER o conceder el uso a un consumidor con el permiso SHARE. ALTER y SHARE son los únicos permisos que se pueden conceder en recursos compartidos de datos a usuarios y a grupos de usuarios.

GRANT { ALTER | SHARE } ON DATASHARE datashare_name TO { username [ WITH GRANT OPTION ] | ROLE role_name | GROUP group_name | PUBLIC } [, ...]

A continuación, se muestra la sintaxis para utilizar GRANT en los permisos de uso de recurso compartido de datos en Amazon Redshift. Con el permiso USAGE se concede acceso a un recurso compartido de datos a un consumidor. No se puede conceder este permiso a usuarios o grupos de usuarios. Este permiso tampoco admite WITH GRANT OPTION para la instrucción GRANT. Solo los usuarios o los grupos de usuarios a los que se haya concedido el permiso SHARE con anterioridad para el recurso compartido de datos pueden ejecutar este tipo de instrucción GRANT.

GRANT USAGE ON DATASHARE datashare_name TO NAMESPACE 'namespaceGUID' | ACCOUNT 'accountnumber' [ VIA DATA CATALOG ]

A continuación, se ofrece un ejemplo de cómo conceder el uso de un recurso compartido de datos a una cuenta de Lake Formation.

GRANT USAGE ON DATASHARE salesshare TO ACCOUNT '123456789012' VIA DATA CATALOG;
Permisos de recursos compartidos de datos del lado del consumidor

A continuación, se muestra la sintaxis para los permisos de uso compartido de datos GRANT en una base de datos específica o un esquema específico creados a partir de un datashare.

Los demás permisos necesarios para que los consumidores accedan a una base de datos creada a partir de un recurso compartido de datos varían en función de si el comando CREATE DATABASE utilizado para crear la base de datos a partir del recurso compartido de datos ha utilizado o no la cláusula WITH PERMISSIONS. Para obtener más información acerca del comando CREATE DATABASE y la cláusula WITH PERMISSIONS, consulte CREATE DATABASE.

Bases de datos creadas sin usar la cláusula WITH PERMISSIONS

Al conceder USAGE a una base de datos creada a partir de un recurso compartido de datos sin la cláusula WITH PERMISSIONS, no es necesario conceder permisos por separado a los objetos de la base de datos compartida. Las entidades a las que se concede el uso en bases de datos creadas a partir de recursos compartidos de datos sin la cláusula WITH PERMISSIONS tienen acceso automáticamente a todos los objetos de la base de datos.

Bases de datos creadas con la cláusula WITH PERMISSIONS

Al conceder USAGE a una base de datos en la que se ha creado la base de datos compartida a partir de un recurso compartido de datos con la cláusula WITH PERMISSIONS, a las identidades del lado del consumidor se les deben seguir concediendo los permisos pertinentes para los objetos de la base de datos compartida para acceder a ellas, del mismo modo que se concederían permisos a los objetos de la base de datos local. Para conceder permisos a los objetos de una base de datos creada a partir de un recurso compartido de datos, utilice la sintaxis de tres partes database_name.schema_name.object_name. Para conceder permisos a los objetos en un esquema externo que apunte a un esquema compartido dentro de la base de datos compartida, utilice la sintaxis de dos partes schema_name.object_name.

GRANT USAGE ON { DATABASE shared_database_name [, ...] | SCHEMA shared_schema} TO { username | ROLE role_name | GROUP group_name | PUBLIC } [, ...]

Los permisos limitados le permiten conceder permisos a un usuario o rol en todos los objetos de un tipo dentro de una base de datos o un esquema. Los usuarios y roles con permisos limitados tienen los permisos especificados en todos los objetos actuales y futuros de la base de datos o del esquema.

Puede ver el alcance de los permisos limitados en el nivel de base de datos en SVV_DATABASE_PRIVILEGES. Puede ver el alcance de los permisos limitados en el nivel de esquema en SVV_SCHEMA_PRIVILEGES.

A continuación, se muestra la sintaxis para conceder permisos acotados a usuarios y roles. Para obtener más información sobre los permisos acotados, consulte Permisos acotados.

GRANT { CREATE | USAGE | ALTER } [,...] | ALL [ PRIVILEGES ] } FOR SCHEMAS IN DATABASE db_name TO { username [ WITH GRANT OPTION ] | ROLE role_name } [, ...] GRANT { { SELECT | INSERT | UPDATE | DELETE | DROP | ALTER | TRUNCATE | REFERENCES } [, ...] } | ALL [PRIVILEGES] } } FOR TABLES IN {SCHEMA schema_name [DATABASE db_name ] | DATABASE db_name } TO { username [ WITH GRANT OPTION ] | ROLE role_name} [, ...] GRANT { EXECUTE | ALL [ PRIVILEGES ] } FOR FUNCTIONS IN {SCHEMA schema_name [DATABASE db_name ] | DATABASE db_name } TO { username [ WITH GRANT OPTION ] | ROLE role_name | } [, ...] GRANT { EXECUTE | ALL [ PRIVILEGES ] } FOR PROCEDURES IN {SCHEMA schema_name [DATABASE db_name ] | DATABASE db_name } TO { username [ WITH GRANT OPTION ] | ROLE role_name | } [, ...] GRANT USAGE FOR LANGUAGES IN {DATABASE db_name} TO { username [ WITH GRANT OPTION ] | ROLE role_name } [, ...]

Tenga en cuenta que los permisos limitados no distinguen entre los permisos de las funciones y los de los procedimientos. Por ejemplo, la siguiente instrucción concede a bob el permiso EXECUTE tanto para las funciones como para los procedimientos en el esquema Sales_schema.

GRANT EXECUTE FOR FUNCTIONS IN SCHEMA Sales_schema TO bob;

A continuación, se muestra la sintaxis para los permisos de modelos de machine learning en Amazon Redshift.

GRANT CREATE MODEL TO { username [ WITH GRANT OPTION ] | ROLE role_name | GROUP group_name | PUBLIC } [, ...] GRANT { EXECUTE | ALL [ PRIVILEGES ] } ON MODEL model_name [, ...] TO { username [ WITH GRANT OPTION ] | ROLE role_name | GROUP group_name | PUBLIC } [, ...]

A continuación, se muestra la sintaxis para conceder permisos de rol en Amazon Redshift.

GRANT { ROLE role_name } [, ...] TO { { user_name [ WITH ADMIN OPTION ] } | ROLE role_name }[, ...]

A continuación, se muestra la sintaxis para conceder permisos de sistema a los roles en Amazon Redshift.

GRANT { { CREATE USER | DROP USER | ALTER USER | CREATE SCHEMA | DROP SCHEMA | ALTER DEFAULT PRIVILEGES | ACCESS CATALOG | CREATE TABLE | DROP TABLE | ALTER TABLE | CREATE OR REPLACE FUNCTION | CREATE OR REPLACE EXTERNAL FUNCTION | DROP FUNCTION | CREATE OR REPLACE PROCEDURE | DROP PROCEDURE | CREATE OR REPLACE VIEW | DROP VIEW | CREATE MODEL | DROP MODEL | CREATE DATASHARE | ALTER DATASHARE | DROP DATASHARE | CREATE LIBRARY | DROP LIBRARY | CREATE ROLE | DROP ROLE | TRUNCATE TABLE VACUUM | ANALYZE | CANCEL }[, ...] } | { ALL [ PRIVILEGES ] } TO { ROLE role_name } [, ...]

A continuación, se muestra la sintaxis para conceder permisos para explicar los filtros de la política de seguridad de la fila de una consulta en el plan EXPLAIN. Puede revocar el privilegio mediante la instrucción REVOKE.

GRANT EXPLAIN RLS TO ROLE rolename

Con la siguiente sintaxis, se puede conceder permisos para omitir las políticas de seguridad de la fila para una consulta.

GRANT IGNORE RLS TO ROLE rolename

Con la siguiente sintaxis, se puede conceder permisos para omitir la política de seguridad de la fila especificada.

GRANT SELECT ON [ TABLE ] table_name [, ...] TO RLS POLICY policy_name [, ...]

Parámetros

SELECT

Concede permiso para seleccionar datos de una tabla o vista mediante una instrucción SELECT. También se requiere el permiso SELECT para hacer referencia a los valores de columna existentes para las operaciones UPDATE o DELETE.

INSERT

Concede el permiso para cargar datos en una tabla mediante una instrucción INSERT o COPY.

UPDATE

Concede el privilegio para actualizar una columna de tabla mediante una instrucción UPDATE. Las operaciones UPDATE también requieren el permiso SELECT, ya que deben hacer referencia a las columnas de tabla para determinar cuáles son las filas que se deben actualizar o para calcular nuevos valores para las columnas.

DELETE

Concede el permiso para eliminar una fila de datos de una tabla. Las operaciones DELETE también requieren el permiso SELECT, ya que deben hacer referencia a las columnas de tabla para determinar cuáles son las filas que se deben eliminar.

DROP

Concede permiso para quitar una tabla. Este permiso se aplica en Amazon Redshift y en un AWS Glue Data Catalog habilitado para Lake Formation.

REFERENCES

Concede el permiso para crear una restricción de clave externa. Es necesario conceder este permiso en la tabla a la que se hace referencia y en la tabla que hace la referencia; de lo contrario, el usuario no podrá crear la restricción.

ALTER

Según el objeto de base de datos, concede los siguientes permisos al usuario o al grupo de usuarios:

  • En el caso de las tablas, ALTER concede permiso para modificar una tabla o una vista. Para obtener más información, consulte ALTER TABLE.

  • En el caso de las bases de datos, ALTER concede permiso para modificar una base de datos. Para obtener más información, consulte ALTER DATABASE.

  • En el caso de los esquemas, ALTER concede permiso para modificar un esquema. Para obtener más información, consulte ALTER SCHEMA.

  • En el caso de las tablas externas, ALTER concede permiso para alterar una tabla en un AWS Glue Data Catalog que esté habilitado para Lake Formation. Este permiso solo se aplica cuando se utiliza Lake Formation.

TRUNCATE

Concede permiso para truncar una tabla. Sin este permiso, solo el propietario de una tabla o un superusuario pueden truncarla. Para obtener más información sobre el comando TRUNCATE, consulte TRUNCATE.

ALL [ PRIVILEGES ]

Concede todos los permisos disponibles a la vez al usuario o al rol especificado. La palabra clave PRIVILEGES es opcional.

GRANT ALL ON SCHEMA no concede permisos CREATE para esquemas externos.

Puede conceder el permiso ALL a una tabla en un AWS Glue Data Catalog que está habilitado para Lake Formation. En este caso, los permisos individuales (como SELECT, ALTER, etc.) se registran en el catálogo de datos.

nota

Amazon Redshift no admite los permisos RULE y TRIGGER. Para obtener más información, consulte Características no compatibles de PostgreSQL.

ASSUMEROLE

Concede permiso para ejecutar los comandos COPY, UNLOAD, EXTERNAL FUNCTION y CREATE MODEL a usuarios, roles o grupos con un rol especificado. El usuario, el rol o el grupo asume ese rol cuando se ejecuta el comando especificado. Para empezar a utilizar el permiso ASSUMEROLE, consulte Notas de uso para conceder el permiso ASSUMEROLE.

ON [ TABLE ] table_name

Concede los permisos especificados en una tabla o vista. La palabra clave TABLE es opcional. Puede enumerar varias tablas y vistas en una instrucción.

ON ALL TABLES IN SCHEMA schema_name (nombre_de_esquema)

Concede los permisos especificados en todas las tablas y vistas en el esquema al que se hace referencia.

( column_name [,...] ) ON TABLE table_name

Concede los permisos especificados a usuarios, grupos o PUBLIC en las columnas especificadas de la tabla o la vista de Amazon Redshift.

( column_list ) ON EXTERNAL TABLE schema_name.table_name

Concede los permisos especificados a un rol de IAM en las columnas especificadas de la tabla de Lake Formation en el esquema al que se hace referencia.

ON EXTERNAL TABLE schema_name.table_name

Concede los permisos especificados a un rol de IAM en las tablas de Lake Formation especificadas en el esquema al que se hace referencia.

ON EXTERNAL SCHEMA schema_name

Concede los permisos especificados a un rol de IAM en el esquema al que se hace referencia.

ON iam_role

Concede los permisos especificados a un rol de IAM.

TO username

Indica el usuario que recibe los permisos.

TO IAM_ROLE iam_role

Indica el rol de IAM que recibe los permisos.

WITH GRANT OPTION

Indica que el usuario que recibe los permisos puede, a su vez, conceder los mismos permisos a otros usuarios. No se puede conceder WITH GRANT OPTION a un grupo o a PUBLIC.

ROLE role_name

Concede el permiso a un rol.

GROUP group_name

Concede los permisos para a un grupo de usuarios. Puede ser una lista separada por comas para especificar varios grupos de usuarios.

PUBLIC

Concede los permisos especificados a todos los usuarios, incluidos los creados posteriormente. PUBLIC representa un grupo que siempre incluye a todos los usuarios. Los permisos de un usuario individual constan de la suma de permisos concedidos a PUBLIC, los permisos concedidos a cualquier grupo al que pertenezca el usuario y los permisos concedidos al usuario de manera individual.

La concesión de PUBLIC a una tabla externa de Lake Formation da lugar a la concesión del permiso al grupo everyone de Lake Formation.

CREATE

Según el objeto de base de datos, concede los siguientes permisos al usuario o al grupo de usuarios:

  • Para las bases de datos, CREATE permite que los usuarios creen esquemas dentro de la base de datos.

  • Para los esquemas, CREATE permite que los usuarios creen objetos dentro de un esquema. Para cambiar el nombre de un objeto, el usuario debe tener el permiso CREATE y ser propietario del objeto cuyo nombre va a cambiarse.

  • CREATE ON SCHEMA no se admite para esquemas externos de Amazon Redshift Spectrum. Para conceder permisos para usar tablas externas en un esquema externo, conceda el privilegio USAGE ON SCHEMA a los usuarios que necesitan tener acceso. Solo el propietario de un esquema externo o un superusuario pueden crear tablas externas en el esquema externo. Para transferir la propiedad de un esquema externo, use ALTER SCHEMA para cambiar el propietario.

TEMPORARY | TEMP

Concede el permiso para crear tablas temporales en la base de datos especificada. Para ejecutar consultas de Amazon Redshift Spectrum, el usuario de la base de datos debe tener permiso para crear tablas temporales en la base de datos.

nota

Por defecto, los usuarios reciben permisos para crear tablas temporales con su membresía automática en el grupo PUBLIC. Para quitar el permiso para que cualquier usuario pueda crear tablas temporales, revoque el permiso TEMP del grupo PUBLIC. A continuación, conceda explícitamente el permiso para crear tablas temporales a usuarios o grupos de usuarios específicos.

ON DATABASE db_name

Concede los permisos especificados en una base de datos.

USAGE

Concede el permiso USAGE en un esquema específico, lo que permite que los usuarios obtengan acceso a los objetos de ese esquema. Las acciones específicas en estos objetos deben concederse por separado (por ejemplo, permisos SELECT o UPDATE en las tablas) para los esquemas locales de Amazon Redshift. De forma predeterminada, todos los usuarios tienen permisos CREATE y USAGE en el esquema PUBLIC.

Al conceder USAGE a esquemas externos mediante la sintaxis ON SCHEMA, no es necesario conceder acciones por separado a los objetos del esquema externo. Los permisos de catálogo correspondientes controlan los permisos detallados de los objetos de esquema externos.

ON SCHEMA schema_name

Concede los permisos especificados en un esquema.

GRANT CREATE ON SCHEMA y el permiso CREATE en GRANT ALL ON SCHEMA no se admiten para esquemas externos de Amazon Redshift Spectrum. Para conceder permisos para usar tablas externas en un esquema externo, conceda el privilegio USAGE ON SCHEMA a los usuarios que necesitan tener acceso. Solo el propietario de un esquema externo o un superusuario pueden crear tablas externas en el esquema externo. Para transferir la propiedad de un esquema externo, use ALTER SCHEMA para cambiar el propietario.

EXECUTE ON ALL FUNCTIONS IN SCHEMA schema_name

Concede los permisos especificados en todas las funciones en el esquema al que se hace referencia.

Amazon Redshift no admite las instrucciones GRANT ni REVOKE para las entradas integradas de pg_proc definidas en el espacio de nombres pg_catalog.

EXECUTE ON PROCEDURE procedure_name

Concede el permiso EXECUTE en un procedimiento almacenado específico. Debido a que los nombres de procedimientos almacenados no se pueden sobrecargar, debe incluir la lista de argumentos para el procedimiento. Para obtener más información, consulte Nomenclatura de los procedimientos almacenados.

EXECUTE ON ALL PROCEDURES IN SCHEMA schema_name

Concede los permisos especificados en todos los procedimientos almacenados en el esquema al que se hace referencia.

USAGE ON LANGUAGE language_name

Concede el permiso USAGE en un lenguaje.

Se requiere el permiso USAGE ON LANGUAGE para crear funciones definidas por el usuario (UDF) mediante la ejecución del comando CREATE FUNCTION. Para obtener más información, consulte Seguridad y permisos de UDF.

Se requiere el permiso USAGE ON LANGUAGE para crear procedimientos almacenados mediante la ejecución del comando CREATE PROCEDURE. Para obtener más información, consulte Seguridad y privilegios para procedimientos almacenados .

Para las UDF de Python, use plpythonu. Para las UDF de SQL, use sql. Para procedimientos almacenados, utilice plpgsql.

FOR { ALL | COPY | UNLOAD | EXTERNAL FUNCTION | CREATE MODEL } [, ...]

Especifica el comando SQL para el que se concede el permiso. Puede especificar ALL para conceder el permiso en las instrucciones COPY, UNLOAD, EXTERNAL FUNCTION y CREATE MODEL. Esta cláusula se aplica solo a la concesión del permiso ASSUMEROLE.

ALTER

Concede el permiso ALTER a los usuarios para agregar o quitar objetos de un recurso compartido de datos o para establecer la propiedad PUBLICACCESSIBLE. Para obtener más información, consulte ALTER DATASHARE.

SHARE

Concede permisos a usuarios y grupos de usuarios para agregar consumidores de datos a un recurso compartido de datos. Este permiso es necesario para permitir que un consumidor determinado (cuenta o espacio de nombres) acceda al recurso compartido de datos desde sus clústeres. El consumidor puede ser la misma cuenta de AWS o una diferente, con el mismo espacio de nombres del clúster o con uno diferente, como lo especifica un identificador global único (GUID).

ON DATASHARE datashare_name

Concede los permisos especificados en el recurso compartido de datos al que se hace referencia. Para obtener información sobre el grado de detalle del control de acceso de los consumidores, consulte Uso compartido de datos en niveles diferentes en Amazon Redshift.

USAGE

Cuando USAGE se concede a una cuenta consumidora o un espacio de nombres de la misma cuenta, estos pueden acceder al datashare y a los objetos del datashare para lectura solamente.

TO NAMESPACE 'clusternamespace GUID'

Indica un espacio de nombres en la misma cuenta donde los consumidores pueden recibir los permisos especificados para el recurso compartido de datos. Los espacios de nombres utilizan un GUID alfanumérico de 128 bits.

TO ACCOUNT 'número_de_cuenta' [ VIA DATA CATALOG ]

Indica el número de otra cuenta cuyos consumidores pueden recibir los permisos especificados para el recurso compartido de datos. Si especifica “VIA DATA CATALOG”, se indica que concede el uso del recurso compartido de datos a una cuenta de Lake Formation. La omisión de este parámetro significa que concede el uso a una cuenta que es propietaria del clúster.

ON DATABASE shared_database_name> [, ...]

Concede los permisos de uso especificados en la base de datos concreta que se crea en el recurso compartido de datos indicado.

ON SCHEMA shared_schema

Concede los permisos especificados en el esquema concreto que se crea en el recurso compartido de datos indicado.

FOR { SCHEMAS | TABLES | FUNCTIONS | PROCEDURES | LANGUAGES } IN

Especifica los objetos de la base de datos a los que se va a conceder permiso. Los parámetros después de IN definen el alcance del permiso concedido.

CREATE MODEL

Concede el permiso CREATE MODEL a usuarios o grupos de usuarios específicos.

ON MODEL model_name

Concede el permiso EXECUTE en un modelo específico.

ACCESS CATALOG

Otorga el permiso para ver los metadatos relevantes de los objetos a los que tiene acceso el rol.

{ role } [, …]

Rol que se debe conceder a otro rol, usuario o PUBLIC.

PUBLIC representa un grupo que siempre incluye a todos los usuarios. Los permisos de un usuario individual constan de la suma de permisos concedidos a PUBLIC, los permisos concedidos a cualquier grupo al que pertenezca el usuario y los permisos concedidos al usuario de manera individual.

TO { { user_name [ WITH ADMIN OPTION ] } | role }[, …]

Concede el rol especificado a un usuario especificado con WITH ADMIN OPTION, otro rol o PUBLIC.

La cláusula WITH ADMIN OPTION proporciona las opciones de administración de todos los roles concedidos a todos los beneficiarios de las concesiones.

EXPLAIN RLS TO ROLE nombre_de_rol

Concede a un rol el permiso de explicar los filtros de política de seguridad en el nivel de fila de una consulta en el plan EXPLAIN.

IGNORE RLS TO ROLE nombre_de_rol

Concede a un rol el permiso de eludir las políticas de seguridad de nivel de fila para una consulta.

Para obtener más información acerca de las notas de uso de GRANT, consulte Notas de uso.

Para ver ejemplos de cómo utilizar GRANT, consulte Ejemplos.