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 a un utente per vari oggetti nel database. I comandi PostgreSQL CREATE USER e CREATE GROUP sono stati sostituiti dal comando CREATE ROLE più generico, ma con proprietà specifiche per distinguere gli utenti del database. Un utente del database può essere paragonato a un ruolo con il privilegio LOGIN.

Nota

È comunque possibile continuare a utilizzare i comandi CREATE USER e CREATE GROUP. Per ulteriori informazioni, consulta la sezione relativa ai ruoli di database nella documentazione di PostgreSQL.

L'utente postgres è l'utente di database più privilegiato nell'istanza database di RDS per PostgreSQL. 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, INHERIT e VALID UNTIL 'infinity' sono le opzioni predefinite per CREATE ROLE, se non diversamente specificato.

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:

  • Aggiungere le estensioni che sono disponibili per l'uso con Amazon RDS. 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 CREATE ROLE e GRANTnella documentazione di PostgreSQL.

  • Creare database. Per ulteriori informazioni, consulta CREATE DATABASE nella documentazione di PostgreSQL.

  • 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, è possibile 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.

Nell'istruzione CREATE ROLE postgres..., si può vedere che il ruolo utente postgres non concede specificamente autorizzazioni PostgreSQL superuser. RDS per PostgreSQL è un servizio gestito e pertanto non è possibile accedere al sistema operativo host, né connettersi utilizzando l'account PostgreSQLsuperuser. Molte delle attività che richiedono l'accesso di tipo superuser su un PostgreSQL autonomo viene gestito automaticamente da Amazon RDS.

Per ulteriori informazioni sulla concessione dei privilegi, consulta la sezione relativa al comando GRANT nella documentazione di PostgreSQL.

Il ruolo rds_superuser è uno dei diversi ruoli predefinito in un Istanza database di RDS per PostgreSQL.

Nota

In PostgreSQL 13 e versioni precedenti, i ruoli di default sono conosciuti come ruoli predefiniti.

L'elenco seguente fornisce alcuni degli altri ruoli predefiniti creati automaticamente per un nuovo . Istanza database di RDS per PostgreSQL. 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ò essere concesso agli utenti del database. Per ulteriori informazioni, consulta Controllo dell'accesso utente al database PostgreSQL.

    • Per le versioni di RDS per PostgreSQL precedenti alla 14rds_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 versione 14 di RDS per PostgreSQLrds_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 – Un ruolo creato per gestire molte delle attività di gestione che l'amministratore con privilegi superuser esegue su un database PostgreSQL autonomo. Questo ruolo viene utilizzato internamente da RDS per PostgreSQL per molte attività di gestione.

  • rdstopmgr: un ruolo utilizzato internamente da Amazon RDS per supportare le implementazioni multi-AZ.

  • rds_reserved — Un ruolo utilizzato internamente da Amazon RDS per prenotare le connessioni al database.