Per creare un nuovo account utente per il tuo cluster RedShift, il CREARE UN UTENTE viene utilizzato il comando. Per utilizzare questo comando, devi essere un superutente o è necessario disporre di privilegi adeguati per creare l'utente. Lo scopo di creare più utenti nel cluster RedShift è di assegnare le autorizzazioni limitate a ciascun utente a seconda delle funzionalità in cui l'utente eseguirà.
In questo blog, discuteremo della funzione Crea utente per creare un utente sul cluster RedShift su AWS.
Crea sintassi dell'utente
Di seguito è riportata la sintassi per creare un utente nel cluster Redshift:
1 2 3 | CREARE UN UTENTE |
La funzione Crea utente prende i seguenti parametri:
Nome
Questo parametro è il nome di un nuovo account utente che verrà creato su Redshift.
Parola d'ordine
In questo parametro, è possibile impostare la password per il nuovo utente. È possibile disabilitare l'accesso per l'utente per modificare la password. Ma per impostazione predefinita, i nuovi utenti possono cambiare la propria password. Quando si disabilita la password dell'utente, l'utente può accedere solo utilizzando le credenziali AWS (Identity and Access Management). I nuovi utenti non possono disabilitare o modificare la password del superutente. Solo il superutente ha questo privilegio.
Possiamo impostare le password in tre modi diversi, io.E, testo semplice, stringa hash MD5 e stringa hash sha256.
Testo semplice
Per il testo semplice, la password deve soddisfare le seguenti condizioni:
String hash MD5
Il modo più sicuro per impostare la password è la stringa hash MD5 rispetto alla password di testo normale.
Per la stringa hash MD5, è necessario seguire questi passaggi:
È possibile generare l'hash MD5 di una stringa eseguendo la seguente query nel cluster Redshift:
1 | selezionare md5 ('123' || 'amministratore'); |
Produzione: D829B843A6550A947E82F2F38ED6B7A7
Devi concatenare il MD5 Parola chiave con la stringa hash MD5 a 32 caratteri e applicare questa stringa all'argomento Hash MD5.
Per creare un utente con il MD5 password hash, è necessario concaterare il MD5 parola chiave prima del MD5 Password hash.
1 | Crea password dell'amministratore utente 'MD5D829B843A6550A947E82F2F38ED6B7A7'; |
Ora, questo nome utente e password possono essere utilizzati per accedere al cluster Redshift.
SHA-256 Hash
Questo è un altro modo sicuro per impostare la password. Di seguito sono riportate le due parti dell'hash SHA256:
digerire: L'output della funzione di hashing in SHA-256.
Sale: Sono i dati generati in modo casuale per combinarsi con la password per aiutare a crittografare in modo sicuro la password.
Di seguito è riportata la query per creare un nuovo utente in Redshift con SHA256 Hash Password. In questa query, AWS Redshift genera e gestisce automaticamente il sale.
1 | Crea password dell'amministratore utente 'sha256 | mypassword1'; |
Opzioni
Ci sono più opzioni disponibili che possono essere utilizzate durante la creazione dell'utente per il cluster Redshift. Queste opzioni possono definire più parametri per l'utente. Di seguito sono riportate alcune opzioni che possono essere utilizzate durante la creazione di un nuovo utente:
Ora discuteremo tutte queste opzioni una per una.
Creatob | Nocreatedb
L'opzione createb fornisce il nuovo utente per creare un nuovo database. Per impostazione predefinita, è impostato su Nocreatedb.
CreateUser | NocreateUser:
L'opzione CreateUser fornisce al nuovo utente un accesso completo per creare un nuovo utente nel cluster RedShift. Per impostazione predefinita, questa opzione è impostata su NocreateUser e l'utente appena creato non può creare un altro utente nel cluster RedShift con il valore predefinito per questa opzione.
Syslog Access limitato | Illimitato
Definisce il livello di accesso che un nuovo utente ha sui tavoli Redshift. Se è definito come limitato. L'accesso del nuovo utente è limitato alle righe generate da sé nelle tabelle di sistema visibili dall'utente e nelle visualizzazioni. Per impostazione predefinita, è impostato su limitato.
Se è definito come senza restrizioni, il nuovo utente può visualizzare tutte le righe anche se è incluso dagli altri utenti. Ma non dà l'accesso ai tavoli visibili del superutente.
Nel gruppo di gruppo
Questa opzione definisce il nome del gruppo a cui apparterrà il nuovo utente. Per questa opzione, possono anche essere elencati più nomi di gruppi.
Valido fino a astronavi
Questa opzione definisce il tempo assoluto dopo il quale una nuova password dell'account utente non sarà più valida. Per impostazione predefinita, la nuova password utente non ha limiti di tempo ed è valida per sempre.
Limite di connessione (limite | illimitato)
Questa opzione definisce il numero massimo di connessioni di database che possono essere aperte contemporaneamente dall'utente. Per impostazione predefinita, è impostato su illimitato.
Limite di timeout della sessione
Questa opzione definisce il tempo massimo in secondi in cui la sessione può rimanere inattiva. L'intervallo di timeout della sessione per un utente RedShift è da un minuto a 20 giorni. Per impostazione predefinita, è deciso dal cluster.
Esterno
L'opzione esterna specifica l'identificatore per un nuovo utente collegato a un provider di identità esterna. L'utente è autorizzato da un provider di identità esterna anziché da password, quindi la password deve essere disabilitata se questa opzione è specificata.
Crea esempi utente
In questa sezione, prendiamo i molteplici esempi per comprendere appieno il concetto di creare un nuovo account utente in un cluster di redshift.
Impostazione del limite di connessione sul nuovo utente
Per creare un utente con il nome ingegnere e password Admin123 e avere un limite di connessione massimo di 20, utilizzare la seguente query:
1 | Creare ingegnere utente con password 'Admin123' Created Benging Limit 20; |
Ora, eseguire la seguente query per visualizzare i dettagli su tutti gli utenti del database:
1 | Seleziona * da pg_user_info; |
Scorri a destra sulla barra del menu per visualizzare la colonna di uoteconnlimit. Per l'ingegnere utente, il limite di connessione è 20.
Impostazione della convalida della password su un nuovo utente
In questo esempio, creeremo un account utente con il nome sviluppatore e password admin1234. Passeremo anche un'opzione per impostare la convalida della password.
1 | Crea sviluppatore utente con password 'Admin1234' valida fino a '2022-06-10'; |
Ora, esegui la seguente query per elencare tutti gli utenti nel cluster Redshift.
1 | Seleziona * da pg_user_info; |
Come puoi vedere nella seguente screenshot, quella convalida della password per l'utente è impostata su 2022-03-10.
Impostazione della password utente inclusi caratteri speciali
In questo esempio, creeremo un utente con i caratteri del caso sensibili e i caratteri speciali nella password.
1 | Crea l'utente Awsadmin con password 'e admin1234!'; |
Impostazione del timeout della sessione per il nuovo utente
In questo esempio, creeremo un utente con il nome uomo nuovo e password ABCD1234. E imposta il timeout della sessione su 150 secondi.
1 | Crea un timeout di sessione "ABCD1234" della password "ABCD1234; |
Impostazione dello spazio dei nomi per un nuovo utente
In questo esempio, creeremo un utente con il nome John e lo spazio dei nomi AWS_USER usando l'opzione Esterno.
1 | Crea utente AWS_USER: John Externalid "admin123" Disabilita; |
Conclusione
In questo articolo, abbiamo discusso di come possiamo utilizzare il comando Crea utente nel Redshift per creare un utente. Possiamo utilizzare le più opzioni durante la creazione del nuovo utente per impostare determinati limiti sull'utente. AWS RedShift crea un comando utente molto utile e fornisce una vasta gamma di opzioni per creare nuovi utenti con i diversi livelli di privilegio per il database.