Comprendere il ruolo rds_superuser - Amazon Relational Database Service

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 nella documentazione di SQL Postgre.

L'postgresutente è 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 CREATEROLEe GRANTnella documentazione di Postgre. SQL

  • Creare database. Per ulteriori informazioni, consulta la documentazione CREATEDATABASEdi 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 ruolo rds_superuser.

  • Concedere (e revocare) il ruolo rds_password per gli utenti del database che non hanno il ruolo rds_superuser.

  • Ottenere informazioni sullo stato di tutte le connessioni al database utilizzando la vista pg_stat_activity. Quando necessario, il ruolo rds_superuser può arrestare qualsiasi connessione utilizzando il comando pg_terminate_backend o pg_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. GRANTSQL

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 con rds_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.