Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Comprendere il ruolo rds_superuser
In PostgreSQL, un ruolo può definire un utente, un gruppo o un insieme di autorizzazioni specifiche concesse a un gruppo o utente per vari oggetti nel database. SQLI comandi Postgre per CREATE USER
e CREATE GROUP
sono stati sostituiti da quelli più generali, CREATE ROLE
con proprietà specifiche per distinguere gli utenti del database. Un utente del database può essere considerato come un ruolo con il LOGIN privilegio.
Nota
È comunque possibile continuare a utilizzare i comandi CREATE USER
e CREATE GROUP
. Per ulteriori informazioni, consulta Database Roles
L'postgres
utente è l'utente del database con i privilegi più elevati sul RDScluster SQL Ha le caratteristiche definite dalla seguente istruzione CREATE ROLE
.
CREATE ROLE postgres WITH LOGIN NOSUPERUSER INHERIT CREATEDB CREATEROLE NOREPLICATION VALID UNTIL 'infinity'
Le proprietàNOSUPERUSER
,NOREPLICATION
, e VALID UNTIL 'infinity'
sono le opzioni predefinite perINHERIT
, se non diversamente specificato. CREATE ROLE
Per impostazione predefinita, postgres
dispone dei privilegi concessi al rds_superuser
ruolo e delle autorizzazioni per creare ruoli e database. Il ruolo rds_superuser
consente all'utente postgres
di eseguire le seguenti operazioni:
Aggiungi estensioni disponibili per l'uso con AmazonRDS. Per ulteriori informazioni, consulta Utilizzo delle SQL funzionalità di Postgre supportate da Amazon RDS for Postgre SQL
-
Creare ruoli per gli utenti e concedere i relativi privilegi. Per ulteriori informazioni, consulta CREATEROLE
e GRANT nella documentazione di Postgre. SQL -
Creare database. Per ulteriori informazioni, consulta la documentazione CREATEDATABASE
di SQL Postgre. Concedere privilegi
rds_superuser
a ruoli utente che non dispongono di questi privilegi e revocare i privilegi, se necessario. Si consiglia di concedere questo ruolo solo agli utenti che eseguono attività superuser. In altre parole, puoi concedere questo ruolo agli amministratori del database (DBAs) o agli amministratori di sistema.Concedere (e revocare) il ruolo
rds_replication
per gli utenti del database che non hanno il ruolords_superuser
.Concedere (e revocare) il ruolo
rds_password
per gli utenti del database che non hanno il ruolords_superuser
.Ottenere informazioni sullo stato di tutte le connessioni al database utilizzando la vista
pg_stat_activity
. Quando necessario, il ruolords_superuser
può arrestare qualsiasi connessione utilizzando il comandopg_terminate_backend
opg_cancel_backend
.
Nella CREATE ROLE postgres...
dichiarazione, puoi vedere che il ruolo postgres
utente non consente specificamente le autorizzazioni Postgre. SQL superuser
è un servizio gestito, quindi non puoi accedere al sistema operativo host e non puoi connetterti utilizzando l'account Postgre. SQL superuser
Per ulteriori informazioni sulla concessione dei privilegi, consulta la documentazione di Postgre. GRANT
Il rds_superuser
ruolo è uno dei numerosi ruoli predefiniti in un cluster DB . RDSper un'istanza DB di Postgre. SQL
Nota
In Postgre SQL 13 e nelle versioni precedenti, i ruoli predefiniti sono noti come ruoli predefiniti.
Nell'elenco seguente, sono riportati alcuni degli altri ruoli predefiniti che vengono creati automaticamente per un nuovo cluster DB. RDSper un'istanza Postgre DB. SQL I ruoli predefiniti e i relativi privilegi non possono essere modificati. Non è possibile eliminare, rinominare o modificare i privilegi per questi ruoli predefiniti. Qualsiasi tentativo comporta la generazione di un errore.
rds_password - Un ruolo in grado di modificare le password e configurare vincoli di password per gli utenti del database. Il
rds_superuser
ruolo viene concesso con questo ruolo per impostazione predefinita e può concedere il ruolo agli utenti del database. Per ulteriori informazioni, consulta Controllo dell'accesso degli utenti al database SQL Postgre.RDSPer SQL le versioni di Postgre precedenti alla 14,
rds_password
role può modificare le password e impostare vincoli di password per gli utenti del database e gli utenti con ruolo.rds_superuser
A partire dalla SQL versione 14 RDS di Postgre e successive,rds_password
role può modificare le password e impostare vincoli di password solo per gli utenti del database. Solo gli utenti conrds_superuser
ruolo possono eseguire queste azioni su altri utenti con ruolo.rds_superuser
rdsadmin: ruolo creato per gestire molte delle attività di gestione che l'amministratore con
superuser
privilegi eseguirebbe su un database Postgre autonomo. SQL Questo ruolo viene utilizzato internamente da Postgre SQL Postgre RDS per molte attività di gestione.rdstopmgr — Un ruolo utilizzato internamente da RDS Amazon per supportare implementazioni Multi-AZ.
Per visualizzare tutti i ruoli predefiniti, puoi connetterti all' utilizzare RDS il metacomando. psql \du
L'output è simile al seguente.
List of roles
Role name | Attributes | Member of
--------------+-----------------------------------+------------------------------------
postgres | Create role, Create DB +| {rds_superuser}
| Password valid until infinity |
rds_superuser | Cannot login | {pg_monitor,pg_signal_backend,
| +| rds_replication,rds_password}
...
Nell'output, si vede che rds_superuser
non è un ruolo utente del database (non può effettuare il login), ma ha i privilegi di molti altri ruoli. È inoltre possibile vedere che l'utente di database postgres
è membro del ruolo rds_superuser
. Come accennato in precedenza, postgres
è il valore predefinito nella pagina Crea database della RDS console Amazon. Se si sceglie un altro nome, tale nome viene visualizzato nell'elenco dei ruoli.