IBM PureData System for Analytics, Version 7.1

CREATE USER

La commande CREATE USER permet de créer un compte utilisateur.

Syntaxe

Syntaxe de création d'un utilisateur :
CREATE USER <nom_utilisateur> [WITH <clause> [<clause>…] ]
<clause> représente l'une des clauses suivantes :
PASSWORD {'<mdp>'|NULL} |
EXPIRE PASSWORD
PASSWORDEXPIRY <jours>
AUTH {LOCAL|DEFAULT}
SYSID <id_utilisateur> |
IN GROUP <grp_utilisateurs>[,<grp_utilisateurs>…] |
IN RESOURCEGROUP <gr>
VALID UNTIL '<date_valide>' |
DEFPRIORITY {CRITICAL|HIGH|NORMAL|LOW|NONE} |
MAXPRIORITY {CRITICAL|HIGH|NORMAL|LOW|NONE} |
ROWSETLIMIT <limite_es> |
SESSIONTIMEOUT <délai_session> |
QUERYTIMEOUT <délai_requête> |
CONCURRENT SESSIONS <sessions_simultanées> |
SECURITY LABEL {'<libellé_sécurité>|PUBLIC::'} |
AUDIT CATEGORY {NONE|'<catégorie>[,<catégorie>…]'}
COLLECT HISTORY {ON|OFF|DEFAULT} |
ALLOW CROSS JOIN {TRUE|FALSE|NULL} |
ACCESS TIME {ALL|DEFAULT|(<temps_accès>[,<temps_accès>…])}
<libellé_sécurité> représente :
[<niveau>]:<catégorie>[,<catégorie>…]:[<cohorte>[,<cohorte>…]
<temps_accès> représente :
DAY { ALL | <jour>[,<jour>…] } [ START <heure> END <heure> ]

Entrées

Cette commande accepte les entrées suivantes :
Tableau 1. Entrées de la commande CREATE USER
Entrée Description
<nom_utilisateur> Nom du compte utilisateur à créer. Ce nom doit être unique parmi les objets globaux, c'est-à-dire qu'il ne peut pas être partagé avec un autre utilisateur, une base de données, un groupe ou une règle de planificateur.
PASSWORD Mot de passe de ce compte. Spécifiez NULL pour créer un utilisateur sans mot de passe. NULL est la valeur par défaut.

Vous pouvez définir un mot de passe si vous utilisez l'authentification LOCAL ou LDAP, mais ce mot de passe n'est utilisé que pour l'authentification LOCAL. Si l'authentification LOCAL est utilisée, l'utilisateur doit posséder un mot de passe pour se connecter ; les mots de passe null ne sont pas autorisés. Si vous passez de l'authentification LDAP à l'authentification LOCAL, utilisez la commande ALTER USER pour spécifier un mot de passe pour l'utilisateur.

Un utilisateur autorisé à accéder à la table _t_user peut rechercher tous les utilisateurs dont les mots de passe sont null en exécutant la commande suivante :
SELECT * FROM _t_user WHERE passwd is null
EXPIRE PASSWORD Force l'utilisateur à modifier le mot de passe après s'être connecté pour la première fois.
PASSWORDEXPIRY Nombre de jours pendant lequel le mot de passe est valide. Si vous ne spécifiez pas cette option ou que vous spécifiez la valeur 0, le mot de passe n'arrive pas à expiration. Une fois que le mot de passe est arrivé à expiration, la base de données affiche le message Restricted Session. User password has expired la prochaine fois que l'utilisateur se connecte à la base de données. L'utilisateur doit changer le mot de passe de son compte, par exemple, à l'aide de la commande ALTER USER pour pouvoir à nouveau disposer de l'intégralité des fonctionnalités.

L'expiration est utilisée pour les comptes authentifiés en local. Si vous ne définissez pas d'expiration pour le compte utilisateur, le mot de passe de ce compte peut arriver à expiration s'il existe un délai d'expiration pour un groupe de base de données auquel l'utilisateur appartient ou si l'expiration est définie à l'échelle du système.

AUTH Type d'authentification à utiliser par l'utilisateur :
LOCAL
Authentification locale.
DEFAULT
Type d'authentification (LOCAL ou LDAP) spécifié pour la connexion.
SYSID ID utilisateur à associer au nouveau compte utilisateur. La valeur par défaut est la plus élevée des valeurs suivantes :
  • 100
  • ID utilisateur actuellement le plus élevé plus un
IN GROUP Groupes d'utilisateurs auxquels l'utilisateur doit être ajouté comme nouveau membre.
IN RESOURCEGROUP Groupe de ressources auquel l'utilisateur doit être affecté.
VALID UNTIL Date (et éventuellement heure) d'expiration du compte utilisateur.
DEFPRIORITY Priorité par défaut des requêtes soumises par l'utilisateur.
MAXPRIORITY Priorité maximale d'une requête soumise par l'utilisateur.
ROWSETLIMIT Nombre maximal de lignes qu'une requête créée par l'utilisateur peut renvoyer. Les valeurs admises sont les suivantes :
  • Un nombre compris entre 1 et 2 147 483 647
  • 0 pour un nombre de lignes illimité (valeur par défaut)
SESSIONTIMEOUT Nombre de minutes pendant lequel une session peut rester inactive avant que le système n'y mette fin. Les valeurs admises sont les suivantes :
  • Un nombre compris entre 1 et 35 791 394
  • 0 pour un nombre de minutes illimité (valeur par défaut)
QUERYTIMEOUT Nombre de minutes pendant lequel une requête peut être exécutée avant que le système n'avertisse l'administrateur. Les valeurs admises sont les suivantes :
  • Un nombre compris entre 1 et 35 791 394
  • 0 pour un nombre de minutes illimité (valeur par défaut)

Pour que l'administrateur reçoive le message généré, la règle d'événement RunAwayQuery doit être activée. Cette règle est décrite dans le document IBM Netezza System - Guide d'administration.

CONCURRENT SESSIONS Nombre maximal de sessions simultanées que cet utilisateur peut avoir. Les valeurs admises sont les suivantes :
  • Un nombre compris entre 1 et 35 791 394
  • 0 pour un nombre de sessions illimité (valeur par défaut)
Si la valeur est de 0, une limite peut tout de même être imposée par un groupe auquel l'utilisateur appartient. Si l'utilisateur est membre de plusieurs groupes, le paramètre minimal s'applique.
SECURITY LABEL Libellé de sécurité de l'utilisateur. La valeur par défaut est PUBLIC::. Le libellé doit être spécifié entre apostrophes de sorte que les identificateurs du libellé ne soient pas en conflit avec les autres clauses de l'utilisateur.
AUDIT CATEGORY Une ou plusieurs catégories d'audit à ajouter au libellé de sécurité lors de la consignation d'audit de l'utilisateur.
COLLECT HISTORY Indique si le système doit collecter les données historiques des sessions de cet utilisateur :
ON
L'historique n'est collecté que si l'utilisateur est connecté à une base de données pour laquelle COLLECT HISTORY est défini sur ON.
OFF
L'historique n'est pas collecté pour l'utilisateur.
DEFAULT
L'historique n'est collecté pour l'utilisateur que si ce dernier est connecté à une base de données pour laquelle COLLECT HISTORY est défini sur ON et que l'un des critères suivants s'applique :
  • Cet utilisateur n'est pas membre d'un groupe d'utilisateurs.
  • Pour tous les groupes d'utilisateurs dont cet utilisateur est membre, COLLECT HISTORY est défini sur DEFAULT.
  • Cet utilisateur est membre d'au moins un groupe d'utilisateurs pour lequel COLLECT HISTORY est défini sur ON.
ALLOW CROSS JOIN Indique si l'utilisateur peut effectuer des jointures croisées explicites :
TRUE
L'utilisateur peut effectuer des jointures croisées explicites.
FALSE
L'utilisateur ne peut pas effectuer des jointures croisées explicites.
NULL
L'utilisateur peut effectuer des jointures croisées explicites à moins qu'il ne soit membre d'un ou plusieurs groupes d'utilisateurs pour lesquels ALLOW CROSS JOIN est défini sur FALSE.
ACCESS TIME Indique quand l'utilisateur est autorisé à démarrer des sessions sur le système :
ALL
L'utilisateur peut démarrer des sessions à tout moment, quel que soit le jour.
DEFAULT
La combinaison des paramètres de temps d'accès des groupes auxquels l'utilisateur appartient détermine quand l'utilisateur peut démarrer des sessions. Par exemple, si un utilisateur est membre de deux groupes, l'un spécifiant ACCESS TIME '1,2,3' et l'autre, ACCESS TIME '5,6,7', il ne peut démarrer une session que le mercredi (jour 4).
<temps_accès>
Chaque sous-clause de temps d'accès spécifie un ou plusieurs jours de la semaine et un intervalle de temps au cours desquels l'utilisateur peut démarrer une session. Chaque jour est représenté par un numéro de jour SQL (1 = dimanche, 7 = samedi, etc.). Le mot clé ALL permet de spécifier les jours 1,2,3,4,5,6,7. Une sous-clause de temps d'accès peut éventuellement contenir une limite temporelle. Si aucune n'est spécifiée, le groupe peut créer une session à toute heure du jour spécifié.

Sortie

La commande CREATE USER génère la sortie suivante :
Tableau 2. Sortie de la commande CREATE USER
Sortie Description
CREATE USER La commande a abouti.

Droits

Pour exécuter cette commande :
  • Si vous spécifiez les options SECURITY LABEL, AUDIT CATEGORY ou COLLECT HISTORY, vous devez disposer des droits Manage Security.
  • Si vous spécifiez l'une des autres options, vous devez satisfaire au moins un des critères suivants :
    • Vous êtes l'administrateur.
    • Vous êtes le propriétaire de la base de données ou du schéma.
    • Votre compte dispose des droits Create User
  • Si vous spécifiez l'option IN GROUP, vous devez également disposer d'un accès List au groupe correspondant ou à la classe d'objet Group.

Syntaxe

Voici un exemple de syntaxe :
  • Créez un compte utilisateur dont le mot de passe doit être changé lorsque l'utilisateur se connecte pour la première fois :
    MYDB.SCH1(USER)=> CREATE USER david WITH 
      PASSWORD 'jw8s0F4' EXPIRE PASSWORD;
  • Créez un compte utilisateur dont le mot de passe arrive à expiration après 60 jours :
    MYDB.SCH1(USER)=> CREATE USER sales_usr WITH 
      PASSWORD 'Temp123!' PASSWORDEXPIRY 60;
  • Créez un compte utilisateur qui arrive à expiration à 13h00 le 1er janvier 2003 :
    MYDB.SCH1(USER)=> CREATE USER miriam VALID
      UNTIL 'Jan 1 2003 13:00';
  • Créez un compte utilisateur avec une catégorie d'audit :
    CREATE USER bob WITH AUDIT CATEGORY top;
  • Créez un compte utilisateur qui ne puisse démarrer une session que du lundi au vendredi, entre 9h00 et 13h00 et le mercredi, entre 14h00 et 17h00 :
    CREATE USER bob WITH ACCESS TIME (2,3,4,5,6 START 9:00 
      END 13:00, 4 START 14:00 END 17:00);


Feedback | Copyright IBM Corporation 2014 | Last updated: 2014-02-28