In un cluster Redshift, possiamo impostare privilegi o autorizzazioni per tutti gli utenti, gruppi di utenti e schemi di database. Quando viene creato un utente, ottiene le autorizzazioni predefinite che possiamo cambiare ogni volta che vogliamo utilizzare il redshift Modificare i privilegi predefiniti comando. In questo articolo, discuteremo di come concedere autorizzazioni specifiche su tabelle e oggetti agli utenti."
Visualizza i privilegi predefiniti
Redshift consente a ogni utente Redshift di visualizzare i privilegi loro assegnati. Queste informazioni relative ai privilegi degli utenti sono disponibili nella tabella denominata pg_default_acl. Le seguenti query selezionate possono essere eseguite in Redshift per ottenere i privilegi predefiniti per gli utenti.
Seleziona Defacluser come utente,Puoi vedere che a questo punto non ci sono voci in questa tabella per qualsiasi utente.
Modificare i privilegi predefiniti
Ora in questa sezione, vedremo diversi esempi e utilizzeremo casi per questo comando per capirlo completamente. Innanzitutto, creiamo un utente di database che possiamo utilizzare per mostrare come gestire le autorizzazioni in Redshift.
Crea demo_user utente con password 'demo1234';Concedere i privilegi di inserire gli utenti
Supponiamo che ci sia un nuovo ingegnere del software che si unisce al tuo team di sviluppo, hai creato il suo utente di database RedShift e ora si desidera fornirgli il permesso di inserire i dati in tutte le tabelle del database che verranno realizzate in futuro. La seguente query concederà l'autorizzazione dell'inserto all'utente.
Modificare i privilegi predefiniti nello schemaQuindi è così che è possibile concedere le autorizzazioni a un singolo utente di database per inserire i dati nelle tabelle Redshift. Questa autorizzazione verrà automaticamente assegnata alle tabelle appena create in futuro e non funzionerà sulle tabelle esistenti.
Concedere i privilegi di rilascio ai gruppi di utenti
Puoi anche fornire privilegi ai gruppi di utenti in modo simile a quello che abbiamo fatto con un singolo utente. In questa sezione, stiamo dando l'autorizzazione a un gruppo di utenti per eliminare o eliminare le tabelle in uno schema.
Modificare i privilegi predefiniti nello schemaQuindi abbiamo mostrato qui come fornire privilegi ai gruppi di utenti per le tabelle del database. Le autorizzazioni si applicheranno automaticamente a tutte le nuove tabelle che verranno create in futuro per quell'utente o un gruppo di utenti specifici.
Concedere il privilegio di eseguire funzioni
Le funzioni del database sono procedure che assumono uno o più parametri di input e restituiscono un singolo output nel risultato. Usando il Modificare i privilegi predefiniti comando, puoi consentire ai tuoi utenti Redshift di eseguire funzioni che verranno create in quel database o schema. Le seguenti query sui privilegi predefinite alterano possono essere utilizzate per concedere i privilegi di funzionalità di esecuzione per impostazione predefinita agli utenti.
Modificare i privilegi predefiniti Grant Esegui su funzioni aIn questo modo, puoi facilmente concedere l'autorizzazione agli utenti per eseguire le funzioni.
Consenti all'utente di concedere privilegi
In tutti gli altri casi, stai osservando come puoi dare o prendere le autorizzazioni da utenti e gruppi, ma il Modificare i privilegi predefiniti Il comando può fare un ulteriore passo avanti fornendo a un utente la possibilità di concedere ulteriormente o revocare le autorizzazioni da altri utenti. La cosa da ricordare è che funzionerà solo con un singolo utente e non con il gruppo di utenti; Inoltre, questo è un comando potente, quindi dovresti stare attento a questo.
Modificare i privilegi predefinitiQuesta query sta eseguendo due funzioni qui. Innanzitutto, concederà tutte le autorizzazioni per la tabella Redshift all'utente menzionato e anche questo utente ha la possibilità di concedere ulteriormente questa autorizzazione ad altri utenti.
Revoca i privilegi dal pubblico
Il comando RedShift Revoke viene utilizzato per bloccare le autorizzazioni per utenti e gruppi di utenti. Qui saprai come revocare o riprendere le autorizzazioni fornite dagli utenti nel cluster di spostamento verso il rosso. Ciò è importante perché, per la sicurezza e la privacy dei tuoi dati, è necessario fornire a tutti gli utenti i minori privilegi e se un utente o un gruppo non hanno bisogno di utilizzare un determinato privilegio, è necessario limitarlo per mantenere il tuo database RedShift più sicuro. Per questo, hai semplicemente bisogno del seguente comando.
Modificare i privilegi predefinitiQuesta query rimuove l'autorizzazione di aggiornamento per tutti gli utenti pubblici e per tutte le tabelle future. È inoltre possibile specificare qualsiasi utente, tabella o schema specifici.
Disabilita l'utente per concedere privilegi
Supponiamo che in passato avessi più membri del team che potessero concedere privilegi ad altri utenti del tuo team. Con il passare del tempo, ti rendi conto che questa non è una buona opzione e vuoi riprendere questo permesso. Le seguenti query sui privilegi predefinite possono essere utilizzate per revocare le autorizzazioni di sovvenzione dagli utenti.
Modificare i privilegi predefinitiOra l'utente non ha il privilegio di concedere l'autorizzazione delle procedure di esecuzione ad altri utenti. Tuttavia, l'utente stesso manterrà i propri privilegi.
Conclusione
In Amazon Redshift, è possibile modificare i privilegi assegnati a diversi utenti, gruppi di utenti e il pubblico utilizzando il Modificare i privilegi predefiniti comando. Ha più opzioni utilizzando, che è possibile utilizzare per consentire o modificare le autorizzazioni relative a tabelle, funzioni o procedure di database. Puoi anche gestire altri utenti e fornire loro diritti per concedere ulteriormente le autorizzazioni e i privilegi ad altri utenti.