Dans un cluster Redshift, nous pouvons définir des privilèges ou des autorisations pour tous les utilisateurs, groupes d'utilisateurs et schémas de base de données. Lorsqu'un utilisateur est créé, il obtient les autorisations par défaut que nous pouvons modifier chaque fois que nous voulons utiliser le redshift Modifier les privilèges par défaut commande. Dans cet article, nous discuterons de la façon d'accorder des autorisations spécifiques sur les tables et les objets aux utilisateurs."
Afficher les privilèges par défaut
Redshift permet à chaque utilisateur de Redshift de voir les privilèges qui leur sont attribués. Ces informations liées aux privilèges des utilisateurs peuvent être trouvées dans le tableau nommé pg_default_acl. La requête de sélection suivante peut être exécutée dans Redshift pour obtenir les privilèges par défaut pour les utilisateurs.
Sélectionnez Defacluser en tant qu'utilisateur,Vous pouvez voir qu'à ce stade, il n'y a aucune entrée dans ce tableau pour aucun utilisateur.
Modifier les privilèges par défaut
Maintenant dans cette section, nous verrons différents exemples et des cas d'utilisation pour que cette commande la comprenne complètement. Tout d'abord, créons un utilisateur de base de données que nous pouvons utiliser pour montrer comment gérer les autorisations dans Redshift.
Créer un utilisateur Demo_User avec le mot de passe 'Demo1234';Accorder les privilèges d'insertion aux utilisateurs
Supposons qu'il y ait un nouvel ingénieur logiciel qui rejoint votre équipe de développement, vous avez créé son utilisateur de base de données Redshift, et maintenant vous souhaitez lui fournir la permission d'insérer des données dans toutes les tables de base de données qui seront faites à l'avenir. La requête suivante accordera l'autorisation d'insertion à l'utilisateur.
Modifier les privilèges par défaut dans le schémaC'est donc ainsi que vous pouvez accorder des autorisations à un seul utilisateur de base de données pour insérer des données dans vos tables de redshift. Cette autorisation sera automatiquement attribuée aux tables nouvellement créées à l'avenir et ne fonctionnera pas sur les tables existantes.
GRANTION DES PRIVILEGES DES GROUPES D'UTILISATION
Vous pouvez également fournir des privilèges aux groupes d'utilisateurs de la même manière que nous l'avons fait avec un seul utilisateur. Dans cette section, nous donnons la permission à un groupe d'utilisateurs de déposer ou de supprimer des tables dans un schéma.
Modifier les privilèges par défaut dans le schémaNous avons donc montré ici comment fournir des privilèges aux groupes d'utilisateurs pour les tables de base de données. Les autorisations s'appliqueront automatiquement à toutes les nouvelles tables qui seront créées à l'avenir pour ce groupe d'utilisateurs ou d'utilisateurs spécifique.
Accorder le privilège des fonctions d'exécution
Les fonctions de base de données sont des procédures qui prennent un ou plusieurs paramètres d'entrée et renvoient une seule sortie dans le résultat. En utilisant le Modifier les privilèges par défaut Commande, vous pouvez permettre à vos utilisateurs de redshift d'exécuter des fonctions qui seront créées dans cette base de données ou schéma. La requête de privilèges alter par défaut suivante peut être utilisée pour accorder des privilèges de fonction d'exécution par défaut aux utilisateurs.
Modifier les privilèges par défaut GRANT EXECUTER SUR LES FONCTIONSDe cette façon, vous pouvez facilement accorder à vos utilisateurs la permission d'exécuter les fonctions.
Permettre à l'utilisateur d'accorder des privilèges
Dans tous les autres cas, vous observez comment vous pouvez dire directement ou prendre les autorisations des utilisateurs et des groupes, mais le Modifier les privilèges par défaut La commande peut aller plus loin en offrant à un utilisateur la possibilité d'accorder ou de révoquer les autorisations d'autres utilisateurs. La chose à retenir à ce sujet est que cela ne fonctionnera qu'avec un seul utilisateur et non avec le groupe d'utilisateurs; De plus, c'est une commande puissante, donc vous devez faire attention à cela.
Modifier les privilèges par défautCette requête remplit deux fonctions ici. Premièrement, il accordera toutes les autorisations pour la table de décalage vers le reds à l'utilisateur mentionné, et également, cet utilisateur obtient la possibilité d'accorder davantage cette autorisation à d'autres utilisateurs.
Révoquer les privilèges du public
La commande Redshift Revoke est utilisée pour bloquer les autorisations pour les utilisateurs et les groupes d'utilisateurs. Ici, vous apprendrez comment révoquer ou reprendre les autorisations données des utilisateurs de votre cluster Redshift. Ceci est important car, pour la sécurité et la confidentialité de vos données, vous devez donner à tous les utilisateurs les moins privilégiés, et si un utilisateur ou un groupe n'a pas besoin d'utiliser un certain privilège, vous devez le limiter pour garder votre base de données Redshift la plus sécurisée. Pour cela, vous avez simplement besoin de la commande suivante.
Modifier les privilèges par défautCette requête supprime l'autorisation de mise à jour pour tous les utilisateurs publics et pour toutes les futures tables. Vous pouvez également spécifier tout utilisateur, table ou schéma spécifique.
Désactiver l'utilisateur pour accorder des privilèges
Supposons que dans le passé, vous aviez plusieurs membres de l'équipe qui pouvaient accorder des privilèges à d'autres utilisateurs de votre équipe. Avec le temps, vous vous rendez compte que ce n'est pas une bonne option, et vous voulez reprendre cette permission. La requête de privilèges alter par défaut suivante peut être utilisée pour révoquer les autorisations de subvention des utilisateurs.
Modifier les privilèges par défautMaintenant, l'utilisateur n'a pas le privilège d'accorder l'autorisation des procédures d'exécution à d'autres utilisateurs. Cependant, l'utilisateur lui-même maintiendra ses propres privilèges.
Conclusion
Dans Amazon Redshift, vous pouvez modifier les privilèges affectés à différents utilisateurs, groupes d'utilisateurs et le public en utilisant le Modifier les privilèges par défaut commande. Il a plusieurs options en utilisant, que vous pouvez utiliser pour autoriser ou modifier les autorisations liées aux tables de base de données, fonctions ou procédures. Vous pouvez également gérer d'autres utilisateurs et leur donner des droits pour accorder davantage les autorisations et privilèges à d'autres utilisateurs.