Redsfhift Créer une commande utilisateur

Redsfhift Créer une commande utilisateur

Pour créer un nouveau compte utilisateur pour votre cluster Redshift, le CRÉER UN UTILISATEUR La commande est utilisée. Pour utiliser cette commande, vous devez être un superutilisateur ou vous devez avoir des privilèges appropriés pour créer l'utilisateur. Le but de créer plusieurs utilisateurs dans le cluster Redshift est d'attribuer les autorisations limitées à chaque utilisateur en fonction des fonctionnalités dans lesquelles l'utilisateur exécutera.

Dans ce blog, nous discuterons de la fonction de création de l'utilisateur pour créer un utilisateur sur le cluster Redshift sur AWS.

Créer une syntaxe utilisateur

Ce qui suit est la syntaxe pour créer un utilisateur dans le cluster Redshift:

1
2
3
CRÉER UN UTILISATEUR [Avec] mot de passe '' | 'md5hash' | 'sha256hash' | DÉSACTIVER
[ option [… ] ]

La fonction de création de l'utilisateur prend les paramètres suivants:

  • Nom
  • Mot de passe
    • Texte brut
    • MD5 hachée
    • Sha256 hachée
  • Options

Nom

Ce paramètre est le nom d'un nouveau compte utilisateur qui sera créé sur Redshift.

Mot de passe

Dans ce paramètre, vous pouvez définir le mot de passe du nouvel utilisateur. Vous pouvez désactiver l'accès à l'utilisateur pour modifier le mot de passe. Mais par défaut, les nouveaux utilisateurs peuvent modifier leur mot de passe. Lorsque vous désactivez le mot de passe de l'utilisateur, l'utilisateur ne peut se connecter qu'en utilisant les informations d'identification AWS IAM (Identity and Access Management). Les nouveaux utilisateurs ne peuvent pas désactiver ou modifier le mot de passe du superutilisateur. Seul le superutilisateur a ce privilège.

Nous pouvons définir les mots de passe de trois manières différentes, je.E, texte brut, chaîne de hachage MD5 et chaîne de hachage SHA256.

Texte brut

Pour le texte brut, le mot de passe doit remplir les conditions suivantes:

  • Il doit contenir un minimum de 8 caractères et un maximum de 64 caractères
  • Il doit contenir des lettres de cas inférieure et supérieure
  • Il doit contenir au moins un numéro numérique
  • Il peut également utiliser les caractères ASCII avec des codes allant de 33 à 126 à l'exception de la marque unique ('), de la double quotation («), de la slash (/) vers l'avant, de la barre oblique (\) ou du signe de taux (@).

Chaîne de hachage MD5

Le moyen le plus sécurisé de définir le mot de passe est la chaîne de hachage MD5 par rapport au mot de passe en texte brut.

Pour la chaîne de hachage MD5, vous devez suivre ces étapes:

  • La première étape consiste à concaténer le nom d'utilisateur et le mot de passe, ce qui signifie rejoindre le mot de passe et le nom d'utilisateur. Par exemple, le nom d'utilisateur est administrateur et le mot de passe est 123, alors la chaîne de concaténate est 123 ajout.
  • Convertir la chaîne de concaténate en une chaîne de hachage MD5 à 32 caractères. Il existe de nombreuses façons de le convertir. Nous utilisons la fonction de concaténate AWS Redshift (||) pour retourner la chaîne de hachage MD5 à 32 caractères.

Vous pouvez générer le hachage MD5 d'une chaîne en exécutant la requête suivante dans le cluster Redshift:

1
Sélectionnez MD5 ('123' || 'Admin');

Sortir: d829b843a6550a947e82f2f38ed6b7a7

Vous devez concaténer le md5 Mot-clé avec la chaîne de hachage MD5 à 32 caractères et appliquez cette chaîne à l'argument de hachage MD5.

Afin de créer un utilisateur avec le Md5 mot de passe de hachage, vous devez concaténer le md5 mot-clé avant le Md5 mot de passe de hachage.

1
Créer un mot de passe d'administration utilisateur 'MD5D829B843A6550A947E82F2F38ED6B7A7';

Maintenant, ce nom d'utilisateur et ce mot de passe peuvent être utilisés pour se connecter au cluster Redshift.

Hachage SHA-256

Ceci est un autre moyen sécurisé de définir le mot de passe. Voici les deux parties du hachage SHA256:

Digérer: La sortie de la fonction de hachage dans SHA-256.

Sel: Ce sont les données générées au hasard pour combiner avec le mot de passe pour aider à crypter en toute sécurité le mot de passe.

Voici la requête pour créer un nouvel utilisateur dans Redshift avec le mot de passe hachée SHA256. Dans cette requête, AWS Redshift génère et gère automatiquement le sel.

1
Créer un mot de passe d'administration utilisateur 'Sha256 | MyPassword1';

Options

Il existe plusieurs options disponibles qui peuvent être utilisées lors de la création de l'utilisateur pour le cluster Redshift. Ces options peuvent définir plusieurs paramètres pour l'utilisateur. Voici quelques options qui peuvent être utilisées lors de la création d'un nouvel utilisateur:

  • CreatedB | NOCREATEDB
  • CreateUser | NocreateUser
  • Syslog Access restreint | Sans restriction
  • Dans le nom de groupe de groupe
  • Valide jusqu'à l'abstime
  • Limite de connexion (limite | illimitée)
  • Limite de délai d'expiration de la session
  • Externe

Maintenant, nous discuterons de toutes ces options une par une.

CreatedB | NOCREATEDB

L'option CreatedB équipe le nouvel utilisateur pour créer une nouvelle base de données. Par défaut, il est défini sur NOCREATEDB.

CreateUser | NOCREATEUSER:

L'option CreateUser offre au nouvel utilisateur un accès complet pour créer un nouvel utilisateur dans le cluster Redshift. Par défaut, cette option est définie sur NOCreateUser et l'utilisateur nouvellement créé ne peut pas créer un autre utilisateur dans le cluster Redshift avec la valeur par défaut de cette option.

Syslog Access restreint | Sans restriction

Il définit le niveau d'accès qu'un nouvel utilisateur a sur les tables de redshift. S'il est défini comme restreint. L'accès du nouvel utilisateur est limité aux lignes générées par elle-même dans les tableaux et vues système visibles utilisateur. Par défaut, il est défini sur restreint.

S'il est défini comme sans restriction, le nouvel utilisateur peut afficher toutes les lignes même si elle est incluse par les autres utilisateurs. Mais, il ne donne pas l'accès aux tables visibles des superutilisatrices.

Dans le nom de groupe de groupe

Cette option définit le nom du groupe auquel le nouvel utilisateur appartiendra. Pour cette option, plusieurs noms de groupe peuvent également être répertoriés.

Valide jusqu'à l'abstime

Cette option définit l'heure absolue après laquelle un nouveau mot de passe du compte utilisateur ne sera plus valide. Par défaut, le nouveau mot de passe utilisateur n'a pas de limite de temps et est valable pour toujours.

Limite de connexion (limite | illimitée)

Cette option définit le nombre maximum de connexions de base de données qui peuvent être ouvertes simultanément par l'utilisateur. Par défaut, il est défini sur Unlimited.

Limite de délai d'expiration de la session

Cette option définit le temps maximum en secondes que la session peut rester inactive. La plage de délai d'expiration de session pour un utilisateur de décalage vers le rouge est de une minute à 20 jours. Par défaut, il est décidé par le cluster.

Externe

L'option externalid spécifie l'identifiant d'un nouvel utilisateur lié à un fournisseur d'identité externe. L'utilisateur est autorisé par un fournisseur d'identité externe au lieu du mot de passe, donc le mot de passe doit être désactivé si cette option est spécifiée.

Créer des exemples d'utilisateurs

Dans cette section, prenons les multiples exemples pour bien comprendre le concept de création d'un nouveau compte utilisateur dans un cluster Redshift.

Définition de la limite de connexion au nouvel utilisateur

Afin de créer un utilisateur avec le nom ingénieur et mot de passe Admin123 et ayant une limite de connexion maximale de 20, utilisez la requête suivante:

1
Créer un ingénieur utilisateur avec le mot de passe 'admin123' CERTEAB Connexion Limite 20;

Maintenant, exécutez la requête suivante pour afficher les détails de tous les utilisateurs de la base de données:

1
SELECT * FROM PG_USER_INFO;

Faites défiler directement vers la barre de menus pour afficher la colonne de useconmlimit. Pour l'ingénieur utilisateur, la limite de connexion est de 20.

Définition de la validation du mot de passe sur le nouvel utilisateur

Dans cet exemple, nous créerons un compte d'utilisateur avec le développeur et le mot de passe admin1234. Nous passerons également une option pour définir la validation du mot de passe.

1
Créer un développeur utilisateur avec le mot de passe 'admin1234' valide jusqu'en '2022-06-10';

Maintenant, exécutez la requête suivante pour répertorier tous les utilisateurs du cluster Redshift.

1
SELECT * FROM PG_USER_INFO;

Comme vous pouvez le voir dans la capture d'écran suivante, cette validation de mot de passe pour l'utilisateur est définie sur 2022-03-10.

Définition du mot de passe utilisateur, y compris des caractères spéciaux

Dans cet exemple, nous créerons un utilisateur avec les caractères sensibles et les caractères spéciaux dans le mot de passe.

1
Créer des utilisateurs Awsadmin avec le mot de passe 'et admin1234!';;

Définition du délai d'expiration de la session pour le nouvel utilisateur

Dans cet exemple, nous créerons un utilisateur avec le nom homme nouveau et mot de passe ABCD1234. Et définir le délai d'expiration de la session à 150 secondes.

1
Créer un utilisateur Newman avec le mot de passe «ABCD1234» Session Timeout 150;

Définition de l'espace de noms pour un nouvel utilisateur

Dans cet exemple, nous créerons un utilisateur avec le nom John Et l'espace de noms AWS_USER en utilisant l'option Externe.

1
Créer un utilisateur AWS_USER: John externalid "admin123" mot de passe désactiver;

Conclusion

Dans cet article, nous avons discuté de la façon dont nous pouvons utiliser la commande Create User dans le Redshift pour créer un utilisateur. Nous pouvons utiliser les multiples options tout en créant le nouvel utilisateur pour définir certaines limites de l'utilisateur. AWS Redshift crée une commande utilisateur qui est très utile et offre une large gamme d'options pour créer de nouveaux utilisateurs avec les différents niveaux de privilège pour la base de données.