GRANT - Amazon Redshift

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

GRANT

Définit les autorisations d’accès pour un utilisateur ou un rôle.

Les autorisations incluent les options d’accès telles que pouvoir lire les données des tables et des vues, écrire des données, créer et supprimer des tables. Utilisez cette commande pour accorder des autorisations spécifiques pour une table, une base de données, un schéma, une fonction, une procédure, un langage ou une colonne. Pour révoquer les autorisations d’un objet de base de données, utilisez la commande REVOKE.

Les autorisations incluent également les options d’accès producteur suivantes aux unités de partage des données :

  • Octroi d’accès à l’unité de partage des données aux espaces de noms et comptes consommateur.

  • Octroi de l’autorisation de modifier une unité de partage des données en y ajoutant ou supprimant des objets.

  • Octroi de l’autorisation de partager une unité de partage des données en y ajoutant ou supprimant des espaces de noms consommateur.

Les options d’accès consommateur à l’unité de partage des données sont les suivantes :

  • Octroi aux utilisateurs d’un accès complet aux bases de données créées à partir d’une unité de partage des données, ou à des schémas externes pointant vers de telles bases de données.

  • Octroi aux utilisateurs des autorisations de niveau objet sur les bases de données créées à partir d’une unité de partage des données, comme cela est possible pour les objets de base de données locaux. Pour accorder ce niveau d’autorisation, vous devez utiliser la clause WITH PERMISSIONS lors de la création d’une base de données à partir de l’unité de partage des données. Pour plus d’informations, consultez CREATE DATABASE.

Pour plus d’informations sur les autorisations liées aux unités de partage des données, consultez Partage des unités de partage des données.

Vous pouvez également attribuer des rôles pour gérer les autorisations de la base de données et contrôler ce que les utilisateurs peuvent faire par rapport à vos données. En définissant des rôles et en les attribuant à des utilisateurs, vous pouvez limiter les actions que ces derniers peuvent entreprendre, par exemple en les limitant aux commandes CREATE TABLE et INSERT. Pour plus d’informations sur la commande CREATE ROLE, consultez CREATE ROLE. Amazon Redshift dispose de certains rôles définis par le système que vous pouvez également utiliser pour accorder des autorisations spécifiques à vos utilisateurs. Pour plus d’informations, consultez Rôles définis par le système Amazon Redshift.

Vous pouvez accorder les autorisations GRANT ou REVOKE USAGE sur un schéma externe à des utilisateurs et des groupes d’utilisateurs de base de données qui utilisent la syntaxe ON SCHEMA. Lorsque vous utilisez ON EXTERNAL SCHEMA avec AWS Lake Formation, vous pouvez uniquement ACCORDER et RÉVOQUER des autorisations pour un rôle AWS Identity and Access Management (IAM). Pour connaître la liste des autorisations, reportez-vous à la syntaxe.

Pour les procédures stockées, la seule autorisation que vous pouvez accorder est EXECUTE.

Vous ne pouvez pas exécuter GRANT (sur une ressource externe) dans un bloc de transaction (BEGIN ... END). Pour plus d’informations sur les transactions, consultez Isolement sérialisable.

Pour connaître les autorisations accordées aux utilisateurs pour une base de données, utilisez HAS_DATABASE_PRIVILEGE. Pour connaître les autorisations accordées aux utilisateurs pour un schéma, utilisez HAS_SCHEMA_PRIVILEGE. Pour connaître les autorisations accordées aux utilisateurs pour une table, utilisez HAS_TABLE_PRIVILEGE.

Syntaxe

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 } [, ...]

Voici la syntaxe des autorisations de niveau colonne sur les tables et les vues Amazon Redshift.

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

Voici la syntaxe des autorisations ASSUMEROLE accordées aux utilisateurs et aux groupes ayant un rôle spécifié. Pour commencer à utiliser le privilège ASSUMEROLE, consultez Notes d’utilisation pour l’octroi de l’autorisation 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 } [, ...]

La syntaxe suivante s’applique à l’intégration de Redshift Spectrum à 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 ]
Autorisations d’unité de partage des données côté producteur

La syntaxe suivante permet d’utiliser GRANT pour accorder des autorisations ALTER ou SHARE à un utilisateur ou à un rôle. L’utilisateur peut modifier l’unité de partage des données avec l’autorisation ALTER, ou en autoriser l’utilisation à un consommateur avec l’autorisation SHARE. ALTER et SHARE sont les seules autorisations que vous pouvez accorder aux utilisateurs et aux rôles sur une unité de partage des données.

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

Voici la syntaxe d’utilisation de GRANT pour les autorisations d’unité de partage des données sur Amazon Redshift. Vous accordez l’accès à une unité de partage des données à un consommateur en utilisant l’autorisation USAGE. Vous ne pouvez pas accorder cette autorisation à des utilisateurs ou à des groupes d’utilisateurs. Cette autorisation ne prend pas non plus en charge WITH GRANT OPTION pour l’instruction GRANT. Seuls les utilisateurs ou groupes d’utilisateurs disposant de l’autorisation SHARE qui leur a été préalablement accordée POUR l’unité de partage des données peuvent exécuter ce type d’instruction GRANT.

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

L’exemple suivant montre comment autoriser l’utilisation d’une unité de partage des données à un compte Lake Formation.

GRANT USAGE ON DATASHARE salesshare TO ACCOUNT '123456789012' VIA DATA CATALOG;
Autorisations d’unité de partage des données côté consommateur

Voici la syntaxe des autorisations d’utilisation d’unité de partage des données GRANT sur une base de données spécifique ou un schéma créé à partir d’une unité de partage des données.

Les autorisations supplémentaires requises pour que les consommateurs puissent accéder à une base de données créée à partir d’une unité de partage des données varient selon que la commande CREATE DATABASE utilisée pour créer la base de données à partir de l’unité de partage des données utilisait ou non la clause WITH PERMISSIONS. Pour plus d’informations sur la commande CREATE DATABASE et la clause WITH PERMISSIONS, consultez CREATE DATABASE.

Bases de données créées sans utiliser la clause WITH PERMISSIONS

Lorsque vous accordez l’accès USAGE sur une base de données créée à partir d’une unité de partage des données sans utiliser la clause WITH PERMISSIONS, vous n’avez pas besoin d’accorder des autorisations séparément sur les objets de la base de données partagée. Les entités autorisées à utiliser les bases de données créées à partir d’unités de partage des données sans la clause WITH PERMISSIONS ont automatiquement accès à tous les objets de la base de données.

Bases de données créées avec la clause WITH PERMISSIONS

Lorsque vous accordez l’accès USAGE à une base de données dont la base de données partagée a été créée à partir d’une unité de partage des données utilisant la clause WITH PERMISSIONS, les identités côté consommateur doivent toujours bénéficier des autorisations appropriées pour les objets de base de données de la base de données partagée afin de pouvoir y accéder, tout comme vous accorderiez des autorisations pour les objets de base de données locale. Pour accorder des autorisations aux objets d’une base de données créée à partir d’une unité de partage des données, utilisez la syntaxe en trois parties database_name.schema_name.object_name. Pour accorder des autorisations aux objets d’un schéma externe pointant vers un schéma partagé au sein de la base de données partagée, utilisez la syntaxe en deux parties schema_name.object_name.

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

Les autorisations étendues vous permettent d'accorder des autorisations à un utilisateur ou à un rôle sur tous les objets d'un type au sein d'une base de données ou d'un schéma. Les utilisateurs et les rôles dotés d'autorisations étendues disposent des autorisations spécifiées sur tous les objets actuels et futurs de la base de données ou du schéma.

La syntaxe suivante permet d’accorder des autorisations étendues aux utilisateurs et rôles. Pour plus d'informations sur les autorisations délimitées, consultezAutorisations étendues.

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 } [, ...]

Notez que les autorisations délimitées ne font pas de distinction entre les autorisations relatives aux fonctions et aux procédures. Par exemple, l'instruction suivante accorde bob l'EXECUTEautorisation pour les fonctions et les procédures du schémaSales_schema.

GRANT EXECUTE FOR FUNCTIONS IN SCHEMA Sales_schema TO bob;

Voici la syntaxe pour les autorisations des modèles de machine learning sur 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 } [, ...]

Voici la syntaxe permettant d’accorder des autorisations de rôle sur Amazon Redshift.

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

Voici la syntaxe permettant d’accorder des autorisations système aux rôles sur 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 } [, ...]

Voici la syntaxe permettant d’accorder des autorisations pour expliquer les filtres de politique de sécurité au niveau des lignes d’une requête dans le plan EXPLAIN. Vous pouvez révoquer ce privilège à l’aide de l’instruction REVOKE.

GRANT EXPLAIN RLS TO ROLE rolename

Voici la syntaxe permettant d’accorder des autorisations permettant de contourner les politiques de sécurité au niveau des lignes pour une requête.

GRANT IGNORE RLS TO ROLE rolename

Voici la syntaxe permettant d’accorder des autorisations à la politique de sécurité au niveau des lignes spécifiée.

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

Paramètres

SELECT

Autorise la sélection de données dans une table ou une vue à l’aide d’une instruction SELECT. L’autorisation SELECT est également requise pour référencer les valeurs des colonnes existantes pour les opérations UPDATE ou DELETE.

INSERT

Autorise le chargement de données dans une table à l’aide d’une instruction INSERT ou d’une instruction COPY.

UPDATE

Autorise la mise à jour d’une colonne de table à l’aide d’une instruction UPDATE. Les opérations UPDATE nécessitent également l’autorisation SELECT, car elles doivent faire référence aux colonnes de la table pour déterminer les lignes à mettre à jour ou pour calculer les nouvelles valeurs des colonnes.

DELETE

Autorise la suppression d’une ligne de données d’une table. Les opérations DELETE nécessitent également l’autorisation SELECT, car elles doivent faire référence aux colonnes de la table pour déterminer les lignes à supprimer.

DROP

Accorde l’autorisation de supprimer une table. Cette autorisation s'applique à Amazon Redshift et à tout AWS Glue Data Catalog ce qui est activé pour Lake Formation.

REFERENCES

Autorise la création d’une contrainte de clé étrangère. Vous devez accorder cette autorisation à la fois à la table référencée et à la table qui fait référence ; sinon, l’utilisateur ne peut pas créer la contrainte.

ALTER

En fonction de l’objet de la base de données, accorde les autorisations suivantes à l’utilisateur ou au groupe d’utilisateurs :

  • Pour les tables, ALTER autorise la modification d’une table ou d’une vue. Pour plus d’informations, consultez ALTER TABLE.

  • Pour les bases de données, ALTER autorise la modification d’une base de données. Pour plus d’informations, consultez ALTER DATABASE.

  • Pour les schémas, ALTER autorise la modification d’un schéma. Pour plus d’informations, consultez ALTER SCHEMA.

  • Pour les tables externes, ALTER autorise la modification d'une table dans une AWS Glue Data Catalog table activée pour Lake Formation. Cette autorisation s’applique uniquement lors de l’utilisation de Lake Formation.

TRUNCATE

Accorde l’autorisation de tronquer une table. Sans cette autorisation, seul le propriétaire d’une table ou un super-utilisateur peut tronquer une table. Pour plus d’informations sur la commande TRUNCATE, consultez TRUNCATE.

ALL [ PRIVILEGES ]

Accorde toutes les autorisations disponibles en une seule fois à l’utilisateur ou au groupe d’utilisateurs spécifié. Le mot-clé PRIVILEGES est facultatif.

GRANT ALL ON SCHEMA n’accorde pas les autorisations CREATE pour les schémas externes.

Vous pouvez accorder l'autorisation ALL à une table dans un AWS Glue Data Catalog fichier activé pour Lake Formation. Dans ce cas, les autorisations individuelles (telles que SELECT, ALTER, etc.) sont enregistrées dans le catalogue de données.

ASSUMEROLE

Accorde l’autorisation d’exécuter les commandes COPY, UNLOAD, EXTERNAL FUNCTION et CREATE MODEL aux utilisateurs, aux rôles et aux groupes ayant un rôle spécifié. L’utilisateur, le rôle ou le groupe assume ce rôle lors de l’exécution de la commande spécifiée. Pour commencer à utiliser l’autorisation ASSUMEROLE, consultez Notes d’utilisation pour l’octroi de l’autorisation ASSUMEROLE.

ON [ TABLE ] nom_table

Accorde les autorisations spécifiées sur une table ou une vue. Le mot-clé TABLE est facultatif. Vous pouvez afficher plusieurs tables et vues dans une seule instruction.

ON ALL TABLES IN SCHEMA nom_schéma

Accorde les autorisations spécifiées sur toutes les tables et vues du schéma référencé.

( nom_colonne [,...] ) ON TABLE nom_table

Accorde les autorisations spécifiées aux utilisateurs, groupes ou PUBLIC sur les colonnes spécifiées de la table ou vue Amazon Redshift.

( column_list ) ON EXTERNAL TABLE schema_name.table_name

Accorde les autorisations spécifiées à un rôle IAM sur les colonnes spécifiées de la table Lake Formation dans le schéma référencé.

ON EXTERNAL TABLE schema_name.table_name

Accorde les autorisations spécifiées à un rôle IAM sur les tables Lake Formation spécifiées dans le schéma référencé.

ON EXTERNAL SCHEMA schema_name

Accorde les autorisations spécifiées à un rôle IAM sur le schéma référencé.

ON iam_role

Accorde les autorisations spécifiées à un rôle IAM.

TO nom_utilisateur

Indique l’utilisateur qui reçoit les autorisations.

TO IAM_ROLE iam_role

Indique le rôle IAM qui reçoit les autorisations.

WITH GRANT OPTION

Indique que l’utilisateur qui reçoit les autorisations peut à son tour accorder les mêmes autorisations à d’autres personnes. WITH GRANT OPTION ne peut pas être accordé à un groupe ou à PUBLIC.

ROLE role_name

Octroie les autorisations à un rôle.

GROUP group_name

Octroie les autorisations à un groupe d’utilisateurs. Il peut s’agir d’une liste séparée par des virgules pour spécifier plusieurs groupes d’utilisateurs.

PUBLIC

Accorde les autorisations spécifiées à tous les utilisateurs, y compris aux utilisateurs créés ultérieurement. PUBLIC représente un groupe qui inclut toujours tous les utilisateurs. Les autorisations d’un utilisateur sont la somme des autorisations accordées à PUBLIC, des autorisations accordées aux groupes auxquels l’utilisateur appartient et des autorisations accordées à l’utilisateur à titre individuel.

L’octroi de PUBLIC à une TABLE EXTERNE de Lake Formation a pour effet d’accorder l’autorisation au groupe de personnes tout le monde de Lake Formation.

CREATE

En fonction de l’objet de la base de données, accorde les autorisations suivantes à l’utilisateur ou au groupe d’utilisateurs :

  • Pour les bases de données, CREATE permet aux utilisateurs de créer des schémas au sein de la base de données.

  • Pour les schémas, CREATE permet aux utilisateurs de créer des objets au sein d’un schéma. Pour renommer un objet, l’utilisateur doit disposer de l’autorisation CREATE et posséder l’objet à renommer.

  • CREATE ON SCHEMA n’est pas pris en charge pour les schémas externes Amazon Redshift Spectrum. Pour accorder l’utilisation de tables externes dans un schéma externe, accordez USAGE ON SCHEMA aux utilisateurs qui nécessitent un accès. Seul le propriétaire d’un schéma externe ou un super-utilisateur est autorisé à créer des tables externes dans le schéma externe. Pour transférer la propriété d’un schéma externe, utilisez ALTER SCHEMA pour modifier le propriétaire.

TEMPORARY | TEMP

Accorde l’autorisation de créer des tables temporaires dans la base de données spécifiée. Pour exécuter des requêtes Amazon Redshift Spectrum, l’utilisateur de la base de données doit avoir l’autorisation d’y créer des tables temporaires.

Note

Par défaut, les utilisateurs ont l’autorisation de créer des tables temporaires grâce à leur appartenance automatique au groupe PUBLIC. Pour retirer à tout utilisateur l’autorisation de créer des tables temporaires, révoquez l’autorisation TEMP du groupe PUBLIC. Accordez ensuite explicitement l’autorisation de créer des tables temporaires à des utilisateurs ou à des groupes d’utilisateurs spécifiques.

ON DATABASE nom_db

Accorde les autorisations spécifiées à une base de données.

USAGE

Accorde l’autorisation USAGE sur un schéma spécifique, ce qui rend les objets de ce schéma accessibles aux utilisateurs. Les actions spécifiques sur ces objets doivent être accordées séparément (par exemple, l’autorisation SELECT ou UPDATE sur les tables) pour les schémas Amazon Redshift locaux. Par défaut, tous les utilisateurs disposent de l’autorisation CREATE et USAGE sur le schéma PUBLIC.

Lorsque vous autorisez USAGE pour des schémas externes à l’aide de la syntaxe ON SCHEMA, vous n’avez pas besoin d’accorder des actions séparément sur les objets du schéma externe. Les autorisations de catalogue correspondantes contrôlent les autorisations granulaires sur les objets de schéma externes.

ON SCHEMA nom_schéma

Accorde les autorisations spécifiées à un schéma.

GRANT CREATE ON SCHEMA et l’autorisation CREATE dans GRANT ALL ON SCHEMA ne sont pas pris en charge pour les schémas externes Amazon Redshift Spectrum. Pour accorder l’utilisation de tables externes dans un schéma externe, accordez USAGE ON SCHEMA aux utilisateurs qui nécessitent un accès. Seul le propriétaire d’un schéma externe ou un super-utilisateur est autorisé à créer des tables externes dans le schéma externe. Pour transférer la propriété d’un schéma externe, utilisez ALTER SCHEMA pour modifier le propriétaire.

EXECUTE ON ALL FUNCTIONS IN SCHEMA nom_schéma

Accorde les autorisations spécifiées à toutes les fonctions du schéma référencé.

Amazon Redshift ne prend pas en charge les instructions GRANT ou REVOKE pour les entrées intégrées pg_proc définies dans l’espace de noms pg_catalog.

EXECUTE ON PROCEDURE procedure_name

Accorde l’autorisation EXECUTE à une procédure stockée spécifique. Comme les noms de procédures stockées peuvent être surchargés, vous devez inclure la liste des arguments de la procédure. Pour plus d'informations, consultez Dénomination des procédures stockées.

EXECUTE ON ALL PROCEDURES IN SCHEMA nom_schéma

Accorde les autorisations spécifiées à toutes les procédures stockées du schéma référencé.

USAGE ON LANGUAGE nom_langage

Accorde l’autorisation USAGE à une langue.

L’autorisation USAGE ON LANGUAGE est requise pour créer des fonctions définies par l’utilisateur (UDF) en exécutant la commande CREATE FUNCTION. Pour plus d’informations, consultez Privilèges et sécurité des fonctions UDF.

L’autorisation USAGE ON LANGUAGE est requise pour créer des procédures stockées définies par l’utilisateur (UDF) en exécutant la commande CREATE PROCEDURE. Pour plus d’informations, consultez Sécurité et privilèges des procédures stockées .

Pour les fonctions Python définies par l’utilisateur, utilisez plpythonu. Pour les fonctions SQL définies par l’utilisateur, utilisez sql. Pour les procédures stockées, utilisez plpgsql.

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

Spécifie la commande SQL pour laquelle l’autorisation est accordée. Vous pouvez spécifier ALL pour accorder l’autorisation sur les instructions COPY, UNLOAD, EXTERNAL FUNCTION et CREATE MODEL. Cette clause ne s’applique qu’à l’octroi de l’autorisation ASSUMEROLE.

ALTER

Accorde l’autorisation ALTER aux utilisateurs pour ajouter ou supprimer des objets d’une unité de partage des données, ou pour définir la propriété PUBLICACCESSIBLE. Pour plus d’informations, consultez ALTER DATASHARE.

SHARE

Accorde des autorisations aux utilisateurs et aux groupes d’utilisateurs pour ajouter des consommateurs de données à une unité de partage des données. Cette autorisation est requise pour permettre au consommateur particulier (compte ou espace de noms) d’accéder à l’unité de partage des données à partir de ses clusters. Le consommateur peut être le même compte ou un AWS compte différent, avec le même espace de noms de cluster ou un autre, tel que spécifié par un identifiant unique global (GUID).

ON DATASHARE datashare_name

Accorde les autorisations spécifiées sur l’unité de partage des données référencée. Pour obtenir des informations sur la granularité du contrôle d’accès des consommateurs, consultez Partage de données à différents niveaux dans Amazon Redshift.

USAGE

Lorsque le privilège USAGE est accordé à un compte consommateur ou à un espace de noms au sein du même compte, le compte ou l’espace de noms spécifique du compte peut accéder à l’unité de partage des données et aux objets de l’unité de partage des données en lecture seule.

TO NAMESPACE ’clusternamespace GUID’

Indique un espace de noms dans le même compte où les consommateurs peuvent recevoir les autorisations spécifiées pour l’unité de partage des données. Les espaces de noms utilisent un GUID alphanumérique 128 bits.

TO ACCOUNT ’accountnumber’ [ VIA DATA CATALOG ]

Indique le numéro d’un autre compte dont les consommateurs peuvent recevoir les autorisations spécifiées pour l’unité de partage des données. La spécification « VIA DATA CATALOG » indique que vous autorisez un compte Lake Formation à utiliser l’unité de partage des données. L’omission de ce paramètre signifie que vous accordez l’utilisation à un compte propriétaire du cluster.

ON DATABASE shared_database_name> [, ...]

Accorde les autorisations d’utilisation spécifiées à la base de données spécifiée qui est créée dans l’unité de partage des données spécifiée.

ON SCHEMA shared_schema

Accorde les autorisations spécifiées au schéma spécifié qui est créé dans l’unité de partage des données spécifiée.

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

Spécifie les objets de base de données auxquels accorder une autorisation. Les paramètres situés après IN définissent l’étendue de l’autorisation accordée.

CREATE MODEL

Accorde l’autorisation CREATE MODEL à des utilisateurs ou groupes d’utilisateurs spécifiques.

ON MODEL model_name

Accorde l’autorisation EXECUTE à un modèle spécifique.

ACCESS CATALOG

Accorde l’autorisation d’afficher les métadonnées pertinentes des objets auxquels le rôle a accès.

{ role } [, ...]

Rôle à attribuer à un autre rôle, à un utilisateur ou à PUBLIC.

PUBLIC représente un groupe qui inclut toujours tous les utilisateurs. Les autorisations d’un utilisateur sont la somme des autorisations accordées à PUBLIC, des autorisations accordées aux groupes auxquels l’utilisateur appartient et des autorisations accordées à l’utilisateur à titre individuel.

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

Attribue le rôle spécifié à un utilisateur spécifié avec WITH ADMIN OPTION, à un autre rôle ou à PUBLIC.

La clause WITH ADMIN OPTION fournit les options d’administration de tous les rôles accordés à tous les bénéficiaires.

EXPLAIN RLS TO ROLE rolename

Accorde à un rôle l’autorisation d’expliquer les filtres de politique de sécurité au niveau des lignes d’une requête dans le plan EXPLAIN.

IGNORE RLS TO ROLE rolename

Accorde à un rôle l’autorisation de contourner les politiques de sécurité au niveau des lignes pour une requête.

Pour en savoir plus sur les notes d’utilisation de GRANT, consultez Notes d’utilisation.

Pour des exemples d’utilisation de GRANT, consultez Exemples.