Notes d’utilisation - 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.

Notes d’utilisation

Pour retirer les privilèges à un objet, vous devez répondre à l’un des critères suivants :

  • Être le propriétaire de l’objet.

  • Être un super-utilisateur.

  • Avoir un privilège accordé pour cet objet et ce privilège.

    Par exemple, la commande suivante permet à l'utilisateur HR à la fois d'exécuter des SELECT commandes sur la table des employés et d'accorder et de révoquer le même privilège à d'autres utilisateurs.

    grant select on table employees to HR with grant option;

    Les RH ne peuvent pas révoquer les privilèges pour une opération autre que SELECT les employés ou sur une table autre que les employés.

Les superutilisateurs peuvent accéder à tous les objets indépendamment GRANT des REVOKE commandes qui définissent les privilèges des objets.

PUBLICreprésente un groupe qui inclut toujours tous les utilisateurs. Par défaut, tous les membres du schéma PUBLIC ont des USAGE droits CREATE et des privilèges sur le PUBLIC schéma. Pour restreindre les autorisations d'un utilisateur sur le PUBLIC schéma, vous devez d'abord révoquer toutes les autorisations du PUBLIC PUBLIC schéma, puis accorder des privilèges à des utilisateurs ou à des groupes spécifiques. L'exemple suivant contrôle les privilèges de création de tables dans le PUBLIC schéma.

revoke create on schema public from public;

Pour révoquer les privilèges d'une table Lake Formation, le IAM rôle associé au schéma externe de la table doit être autorisé à révoquer les privilèges de la table externe. L'exemple suivant crée un schéma externe avec un IAM rôle associémyGrantor. IAMle rôle myGrantor est autorisé à révoquer les autorisations des autres. La REVOKE commande utilise l'autorisation du IAM rôle myGrantor associé au schéma externe pour révoquer l'autorisation du IAM rôlemyGrantee.

create external schema mySchema from data catalog database 'spectrum_db' iam_role 'arn:aws:iam::123456789012:role/myGrantor' create external database if not exists;
revoke select on external table mySchema.mytable from iam_role 'arn:aws:iam::123456789012:role/myGrantee';
Note

Si le IAM rôle dispose également d'une ALL AWS Glue Data Catalog autorisation activée pour Lake Formation, l'ALLautorisation n'est pas révoquée. Seule l’autorisation SELECT est supprimée. Vous pouvez afficher les autorisations Lake Formation dans la console Lake Formation.

Remarques d'utilisation pour la révocation de l'ASSUMEROLEautorisation

Les notes d'utilisation suivantes s'appliquent à la révocation du ASSUMEROLE privilège dans Amazon Redshift.

Seul un superutilisateur de base de données peut révoquer le ASSUMEROLE privilège accordé aux utilisateurs et aux groupes. Un superutilisateur conserve toujours ce ASSUMEROLE privilège.

Pour activer l'utilisation du ASSUMEROLE privilège pour les utilisateurs et les groupes, un superutilisateur exécute l'instruction suivante une fois sur le cluster. Avant d'accorder le ASSUMEROLE privilège aux utilisateurs et aux groupes, un superutilisateur doit exécuter l'instruction suivante une fois sur le cluster.

revoke assumerole on all from public for all;

Notes d’utilisation pour la révocation des autorisations de machine learning

Vous ne pouvez pas accorder ou révoquer directement les autorisations liées à une fonction ML. Une fonction ML appartient à un modèle ML et les autorisations sont contrôlées par le biais du modèle. En revanche, vous pouvez révoquer les autorisations liées au modèle ML. L’exemple suivant montre comment révoquer l’autorisation d’exécution de tous les utilisateurs associés au modèle customer_churn.

REVOKE EXECUTE ON MODEL customer_churn FROM PUBLIC;

Vous pouvez également révoquer toutes les autorisations d’un utilisateur pour le modèle ML customer_churn.

REVOKE ALL on MODEL customer_churn FROM ml_user;

L’octroi ou la révocation de l’autorisation EXECUTE liée à une fonction de ML échouera s’il existe une fonction de ML dans le schéma, même si cette fonction de ML dispose déjà de l’autorisation EXECUTE par le biais de GRANT EXECUTE ON MODEL. Nous vous recommandons d’utiliser un schéma distinct lorsque vous utilisez la commande CREATE MODEL afin de conserver les fonctions ML dans un schéma distinct. L’exemple suivant vous montre comment procéder.

CREATE MODEL ml_schema.customer_churn FROM customer_data TARGET churn FUNCTION ml_schema.customer_churn_prediction IAM_ROLE default SETTINGS ( S3_BUCKET 'amzn-s3-demo-bucket' );