CREATE USER - Amazon Redshift

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

CREATE USER

Erstellt einen neuen Datenbankbenutzer. Je nach Berechtigungen und Rollen können Datenbankbenutzer Daten abrufen, Befehle ausführen und andere Aktionen in einer Datenbank ausführen. Sie müssen Datenbank-Superuser sein, um diesen Befehl auszuführen.

Erforderliche Berechtigungen

Im Folgenden sind die erforderlichen Rechte aufgeführt für: CREATE USER

  • Superuser

  • Benutzer mit der CREATE USER Berechtigung

Syntax

CREATE USER name [ WITH ] PASSWORD { 'password' | 'md5hash' | 'sha256hash' | DISABLE } [ option [ ... ] ] where option can be: CREATEDB | NOCREATEDB | CREATEUSER | NOCREATEUSER | SYSLOG ACCESS { RESTRICTED | UNRESTRICTED } | IN GROUP groupname [, ... ] | VALID UNTIL 'abstime' | CONNECTION LIMIT { limit | UNLIMITED } | SESSION TIMEOUT limit | EXTERNALID external_id

Parameter

Name

Der Name des zu erstellenden Benutzers. Der Benutzername darf nicht sein PUBLIC. Weitere Informationen zu gültigen Namen finden Sie unter Namen und Kennungen.

WITH

Optionales Schlüsselwort. WITHwird von Amazon Redshift ignoriert

PASSWORD{'Passwort' | 'md5hash' | 'sha256hash' |} DISABLE

Legt das Benutzerpasswort fest.

Standardmäßig können Benutzer ihre eigenen Passwörter ändern, es sei denn, das Passwort ist deaktiviert. Um das Passwort eines Benutzers zu deaktivieren, geben Sie an. DISABLE Wenn das Passwort eines Benutzers deaktiviert ist, wird das Passwort aus dem System gelöscht und der Benutzer kann sich nur mit temporären AWS Identity and Access Management (IAM) Benutzeranmeldedaten anmelden. Weitere Informationen finden Sie unter Verwenden der IAM Authentifizierung zur Generierung von Datenbankbenutzeranmeldeinformationen. Nur ein Superuser kann Passwörter aktivieren oder deaktivieren. Sie können das Passwort eines Superusers nicht deaktivieren. Führen Sie zum Aktivieren eines Passworts ALTER USER aus und legen Sie ein Passwort fest.

Sie können das Passwort im Klartext, als MD5 Hash-Zeichenfolge oder als SHA256 Hash-Zeichenfolge angeben.

Anmerkung

Wenn Sie einen neuen Cluster mit Amazon Redshift AWS Management Console AWS CLI, oder Amazon Redshift startenAPI, müssen Sie ein Klartext-Passwort für den ersten Datenbankbenutzer angeben. Sie können das Passwort später mittels ändern ALTER USER.

Wenn Sie es als Klartext angeben, muss das Passwort den folgenden Einschränkungen entsprechen:

  • Es muss 8 bis 64 Zeichen lang sein.

  • Es muss mindestens einen Großbuchstaben, einen Kleinbuchstaben und eine Zahl enthalten.

  • Es kann alle ASCII Zeichen mit den ASCII Codes 33—126 verwenden, mit Ausnahme von '(einfaches Anführungszeichen), "(doppeltes Anführungszeichen),\,/oder @.

Als sicherere Alternative zur Übergabe des CREATE USER Passwortparameters als Klartext können Sie einen MD5 Hash einer Zeichenfolge angeben, die das Passwort und den Benutzernamen enthält.

Anmerkung

Wenn Sie eine MD5 Hash-Zeichenfolge angeben, sucht der CREATE USER Befehl nach einer gültigen MD5 Hash-Zeichenfolge, validiert jedoch nicht den Passwortteil der Zeichenfolge. In diesem Fall ist es möglich, ein Passwort wie beispielsweise eine leere Zeichenfolge zu erstellen, das nicht für die Anmeldung an der Datenbank verwendet werden kann.

Gehen Sie folgendermaßen vor, um ein MD5 Passwort anzugeben:

  1. Verketten Sie Passwort und Benutzername.

    Wenn das Passwort beispielsweise ez und der Benutzername user1 ist, ist die verkettete Zeichenfolge ezuser1.

  2. Konvertiert die verkettete Zeichenfolge in eine MD5 32-stellige Hash-Zeichenfolge. Sie können jedes beliebige MD5 Hilfsprogramm verwenden, um die Hash-Zeichenfolge zu erstellen. Das folgende Beispiel verwendet Amazon Redshift MD5Funktion und den Verkettungsoperator (||), um eine 32-stellige -Hash-Zeichenfolge zurückzugeben. MD5

    select md5('ez' || 'user1'); md5 -------------------------------- 153c434b4b77c89e6b94f12c5393af5b
  3. Verketten Sie 'md5' vor der Hash-Zeichenfolge und geben Sie die verkettete Zeichenfolge als MD5 md5hash-Argument an.

    create user user1 password 'md5153c434b4b77c89e6b94f12c5393af5b';
  4. Melden Sie sich mit den Anmeldeinformationen bei der Datenbank an.

    In diesem Beispiel melden Sie sich als user1 mit dem Passwort ez an.

Eine weitere sichere Alternative besteht darin, einen SHA -256-Hash einer Kennwortzeichenfolge anzugeben. Sie können auch Ihren eigenen gültigen -256-Digest und SHA 256-Bit-Salt angeben, die zur Erstellung des Digest verwendet wurden.

  • Digest – Die Ausgabe einer Hashing-Funktion.

  • Salt – Zufällig generierte Daten, die mit dem Passwort kombiniert werden, um Muster in der Hashing-Funktion-Ausgabe zu reduzieren.

'sha256|Mypassword'
'sha256|digest|256-bit-salt'

Im folgenden Beispiel generiert und verwaltet Amazon Redshift das Salt.

CREATE USER admin PASSWORD 'sha256|Mypassword1';

Im folgenden Beispiel werden ein gültiger SHA -256-Digest und ein 256-Bit-Salt bereitgestellt, die zur Erstellung des Digest verwendet wurden.

Gehen Sie wie folgt vor, um ein Passwort anzugeben und es mit Ihrem eigenen Salt zu hashen:

  1. Erstellen Sie ein 256-Bit-Salt. Sie können ein Salt erhalten, indem Sie einen beliebigen hexadezimalen Zeichenfolgengenerator verwenden, um eine 64 Zeichen lange Zeichenfolge zu generieren. In diesem Beispiel lautet das Salt c721bff5d9042cf541ff7b9d48fa8a6e545c19a763e3710151f9513038b0f6c6.

  2. Verwenden Sie die HEX Funktion FROM _, um Ihren Salt in eine Binärdatei umzuwandeln. Das liegt daran, dass die SHA2 Funktion die binäre Darstellung des Salts benötigt. Sehen Sie sich die folgende Anweisung an.

    SELECT FROM_HEX('c721bff5d9042cf541ff7b9d48fa8a6e545c19a763e3710151f9513038b0f6c6');
  3. Verwenden Sie die CONCAT Funktion, um Ihr Salz an Ihr Passwort anzuhängen. In diesem Beispiel lautet das Passwort Mypassword1. Sehen Sie sich die folgende Anweisung an.

    SELECT CONCAT('Mypassword1',FROM_HEX('c721bff5d9042cf541ff7b9d48fa8a6e545c19a763e3710151f9513038b0f6c6'));
  4. Verwenden Sie die SHA2 Funktion, um aus Ihrer Kombination aus Passwort und Salt einen Digest zu erstellen. Sehen Sie sich die folgende Anweisung an.

    SELECT SHA2(CONCAT('Mypassword1',FROM_HEX('c721bff5d9042cf541ff7b9d48fa8a6e545c19a763e3710151f9513038b0f6c6')), 0);
  5. Erstellen Sie den Benutzer mit dem Digest und dem Salt aus den vorherigen Schritten. Sehen Sie sich die folgende Anweisung an.

    CREATE USER admin PASSWORD 'sha256|821708135fcc42eb3afda85286dee0ed15c2c461d000291609f77eb113073ec2|c721bff5d9042cf541ff7b9d48fa8a6e545c19a763e3710151f9513038b0f6c6';
  6. Melden Sie sich mit den Anmeldeinformationen bei der Datenbank an.

    In diesem Beispiel melden Sie sich als admin mit dem Passwort Mypassword1 an.

Wenn Sie ein Passwort im Klartext festlegen, ohne die Hashing-Funktion anzugeben, wird ein MD5 Digest generiert, bei dem der Benutzername als Salz verwendet wird.

CREATEDB | NOCREATEDB

CREATEDBDiese Option ermöglicht es dem neuen Benutzer, Datenbanken zu erstellen. Die Standardeinstellung istNOCREATEDB.

CREATEUSER | NOCREATEUSER

Die CREATEUSER Option erstellt einen Superuser mit allen Datenbankberechtigungen, einschließlich CREATEUSER. Die Standardeinstellung istNOCREATEUSER. Weitere Informationen finden Sie unter superuser.

SYSLOG ACCESS { RESTRICTED | UNRESTRICTED }

Eine Klausel, über die die Zugriffsebene eines Benutzers auf die Amazon-Redshift-Systemtabellen und -Ansichten festgelegt wird.

Reguläre Benutzer, die über die SYSLOG ACCESS RESTRICTED entsprechende Berechtigung verfügen, können nur die Zeilen sehen, die von diesem Benutzer in für den Benutzer sichtbaren Systemtabellen und -ansichten generiert wurden. Die Standardeinstellung istRESTRICTED.

Reguläre Benutzer, die über die SYSLOG ACCESS UNRESTRICTED entsprechende Berechtigung verfügen, können alle Zeilen in für den Benutzer sichtbaren Systemtabellen und -ansichten sehen, einschließlich der Zeilen, die von einem anderen Benutzer generiert wurden. UNRESTRICTEDgewährt einem normalen Benutzer keinen Zugriff auf Tabellen, die für Superuser sichtbar sind. Nur Superuser können auf solche Tabellen zugreifen.

Anmerkung

Wenn Sie einem Benutzer uneingeschränkten Zugriff auf Systemtabellen gewähren, sieht der Benutzer auch Daten, die von anderen Benutzern generiert wurden. Zum Beispiel QUERYTEXT enthalten STL _ QUERY und STL _ den vollständigen Text vonINSERT, und DELETE -AnweisungenUPDATE, die sensible benutzergenerierte Daten enthalten können.

Alle Zeilen in SVV _ TRANSACTIONS sind für alle Benutzer sichtbar.

Weitere Informationen finden Sie unter Sichtbarkeit der Daten in Systemtabellen und Ansichten.

IN GROUP Gruppenname

Gibt den Namen einer vorhandenen Gruppe an, zu der der Benutzer gehört. Es können mehrere Gruppennamen aufgelistet werden.

VALIDUNTILabstime

Die VALID UNTIL Option legt eine absolute Zeit fest, nach der das Passwort des Benutzers nicht mehr gültig ist. Standardmäßig gibt es für das Passwort kein Zeitlimit.

CONNECTIONLIMIT{Limit |UNLIMITED}

Die maximale Zahl von Datenbankverbindungen, die der Benutzer gleichzeitig geöffnet haben darf. Das Limit wird für Superuser nicht durchgesetzt. Verwenden Sie das UNLIMITED Schlüsselwort, um die maximale Anzahl gleichzeitiger Verbindungen zuzulassen. Möglicherweise gilt auch ein Limit für die Zahl der Verbindungen für die einzelnen Datenbanken. Weitere Informationen finden Sie unter CREATE DATABASE. Die Standardeinstellung istUNLIMITED. Um die aktuellen Verbindungen anzuzeigen, führen Sie eine Abfrage für die Systemansicht STV_SESSIONS aus.

Anmerkung

Wenn sowohl für Benutzer- als auch für Datenbankverbindungen Limits gelten, muss ein ungenutzter Verbindungsplatz verfügbar sein, der sich innerhalb beider Grenzen befindet, wenn ein Benutzer versucht, eine Verbindung herzustellen.

SESSIONTIMEOUTLimit

Die maximale Zeit in Sekunden, die eine Sitzung inaktiv oder untätig bleibt. Der Bereich liegt zwischen 60 Sekunden (einer Minute) und 1.728.000 Sekunden (20 Tagen). Wenn für den Benutzer kein Sitzungstimeout eingestellt ist, gilt die Clustereinstellung. Weitere Informationen finden Sie unter Kontingente und Limits in Amazon Redshift im Verwaltungshandbuch zu Amazon Redshift.

Wenn Sie das Sitzungstimeout festlegen, wird es nur auf neue Sitzungen angewendet.

Um Informationen über aktive Benutzersitzungen, einschließlich der Startzeit, des Benutzernamens und des Sitzungstimeouts anzuzeigen, fragen Sie die STV_SESSIONS-Systemansicht ab. Um Informationen über den Verlauf von Benutzersitzungen anzuzeigen, fragen Sie die STL_SESSIONS-Ansicht an. Um Informationen über Datenbankbenutzer, einschließlich Sitzungstimeouts, abzurufen, fragen Sie die SVL_USER_INFO-Ansicht ab.

EXTERNALIDexterne_ID

Der Bezeichner für den Benutzer, der einem Identitätsanbieter zugeordnet ist. Der Benutzer muss sein Passwort deaktiviert haben. Weitere Informationen finden Sie unter Nativer Identitätsanbieter(IdP)-Verbund für Amazon Redshift.

Nutzungshinweise

Standardmäßig verfügen alle Benutzer über CREATE und USAGE -Privilegien für das Schema. PUBLIC Um Benutzern das Erstellen von Objekten im PUBLIC Schema einer Datenbank zu verbieten, verwenden Sie den REVOKE Befehl, um diese Berechtigung zu entfernen.

Wenn Sie die IAM Authentifizierung verwenden, um Anmeldeinformationen für Datenbankbenutzer zu erstellen, möchten Sie möglicherweise einen Superuser erstellen, der sich nur mit temporären Anmeldeinformationen anmelden kann. Sie können das Passwort eines Superusers nicht deaktivieren, aber Sie können ein unbekanntes Passwort mithilfe einer zufällig generierten MD5 Hash-Zeichenfolge erstellen.

create user iam_superuser password 'md5A1234567890123456780123456789012' createuser;

Die Groß-/Kleinschreibung eines in doppelte Anführungszeichen eingeschlossenen Benutzernamens bleibt unabhängig von der Einstellung der enable_case_sensitive_identifier-Konfigurationsoption immer erhalten. Weitere Informationen finden Sie unter enable_case_sensitive_identifier.

Beispiele

Der folgende Befehl erstellt einen Benutzer namens dbuser mit dem Passwort "abcD1234", Datenbankerstellungsrechten und einem Verbindungslimit von 30.

create user dbuser with password 'abcD1234' createdb connection limit 30;

Fragen Sie die INFO Katalogtabelle USER PG_ _ ab, um Details zu einem Datenbankbenutzer anzuzeigen.

select * from pg_user_info; usename | usesysid | usecreatedb | usesuper | usecatupd | passwd | valuntil | useconfig | useconnlimit -----------+----------+-------------+----------+-----------+----------+----------+-----------+------------- rdsdb | 1 | true | true | true | ******** | infinity | | adminuser | 100 | true | true | false | ******** | | | UNLIMITED dbuser | 102 | true | false | false | ******** | | | 30

Im folgenden Beispiel ist das Kontopasswort bis zum 10 Juni 2017 gültig.

create user dbuser with password 'abcD1234' valid until '2017-06-10';

Im folgenden Beispiel wird ein Benutzer mit einen Kennwort erstellt, das zwischen Groß- und Kleinschreibung unterscheidet und Sonderzeichen enthält.

create user newman with password '@AbC4321!';

Um einen Backslash ('\') in Ihrem MD5 Passwort zu verwenden, maskieren Sie den Backslash mit einem Backslash in Ihrer Quellzeichenfolge. Im folgenden Beispiel wird ein Benutzer namens slashpass mit einem einzelnen Backslash („\“) als Passwort erstellt.

select md5('\\'||'slashpass'); md5 -------------------------------- 0c983d1a624280812631c5389e60d48c

Erstellen Sie einen Benutzer mit dem Passwort md5.

create user slashpass password 'md50c983d1a624280812631c5389e60d48c';

Im folgenden Beispiel wird ein Benutzer mit dem Namen dbuser erstellt, für den das Timeout für eine Leerlaufsitzung auf 120 Sekunden eingestellt ist.

CREATE USER dbuser password 'abcD1234' SESSION TIMEOUT 120;

Im folgenden Beispiel wird ein Benutzer mit dem Namen bob erstellt. Der Namespace lautet myco_aad. Dies ist nur ein Beispiel. Um den Befehl erfolgreich ausführen zu können, benötigen Sie einen registrierten Identitätsanbieter. Weitere Informationen finden Sie unter Nativer Identitätsanbieter(IdP)-Verbund für Amazon Redshift.

CREATE USER myco_aad:bob EXTERNALID "ABC123" PASSWORD DISABLE;