Gestire gli utenti in Azure HorizonDB (anteprima)

Questo articolo descrive come creare utenti all'interno di un cluster di Azure HorizonDB.

Per informazioni su come creare e gestire gli utenti della sottoscrizione di Azure e i relativi privilegi, vedere l'articolo sul controllo degli accessi in base al ruolo di Azure (Azure RBAC) oppure consultare come personalizzare i ruoli.

Account dell'amministratore del server

Quando si crea per la prima volta il cluster Azure HorizonDB, si specificano il nome di autenticazione e la password dell'amministratore del cluster. Per altre informazioni, vedere Creare un cluster Azure HorizonDB per vedere l'approccio dettagliato. Poiché il nome di autenticazione dell'amministratore del cluster è un nome personalizzato, è possibile trovare il nome utente amministratore del server scelto nel portale di Azure.

Il cluster Azure HorizonDB viene creato con tre ruoli predefiniti. È possibile visualizzare questi ruoli eseguendo il comando : SELECT rolname FROM pg_roles;

  • azure_pg_admin
  • azuresu
  • il tuo utente amministratore del server

L'autenticazione amministratore è un membro del ruolo azure_pg_admin. Tuttavia, l'account amministratore non fa parte del ruolo azuresu. Poiché questo servizio è un servizio PaaS gestito, solo Microsoft fa parte del ruolo utente con privilegi avanzati.

Il motore PostgreSQL usa i privilegi per controllare l'accesso agli oggetti di database, come descritto nella documentazione del prodotto PostgreSQL. In Azure HorizonDB all'utente amministratore del server vengono concessi questi privilegi: LOGIN, NOSUPERUSER, INHERIT, CREATEDB e CREATEROLE.

L'autenticazione dell'amministratore del cluster può creare più utenti e concedere a tali utenti il azure_pg_admin ruolo. Inoltre, l'autenticazione dell'amministratore del cluster può creare utenti e ruoli con privilegi inferiori che hanno accesso a singoli database e schemi.

Come creare più utenti amministratori in Azure HorizonDB

  1. Ottenere le informazioni per la connessione e il nome dell'utente amministratore. Per connettersi al cluster di Azure HorizonDB sono necessari il nome completo del server e le credenziali di accesso amministratore. È possibile trovare facilmente il nome del server e le informazioni di accesso dalla pagina Panoramica del server o dalla pagina Proprietà nel portale di Azure.

  2. Usare l'account amministratore e la password per connettersi al cluster Azure HorizonDB. Usare lo strumento client preferito, ad esempio pgAdmin o psql. Se non si è certi di come connettersi, vedere Creare un cluster HorizonDB Azure.

  3. Modificare ed eseguire il codice SQL seguente. Sostituire il nuovo nome utente con il valore del segnaposto <new_user> e sostituire la password segnaposto con la propria password complessa.

    CREATE USER <new_user> CREATEDB CREATEROLE PASSWORD '<StrongPassword!>';
    
    GRANT azure_pg_admin TO <new_user>;
    

Come creare utenti di database in Azure HorizonDB

Note

Non includere informazioni personali, sensibili o riservate nei nomi delle risorse (ad esempio, nome della tabella, nome del database) e nei tag delle risorse. I dati inseriti in questi campi non sono considerati dati del cliente.

  1. Ottenere le informazioni per la connessione e il nome dell'utente amministratore. Per connettersi al cluster di Azure HorizonDB sono necessari il nome completo del server e le credenziali di accesso amministratore. È possibile trovare facilmente il nome del server e le informazioni di accesso dalla pagina Panoramica del server o dalla pagina Proprietà nel portale di Azure.

  2. Usare l'account amministratore e la password per connettersi al cluster Azure HorizonDB. Usare lo strumento client preferito, ad esempio PostgreSQL per Visual Studio Code, pgAdmin o psql.

  3. Modificare ed eseguire il codice SQL seguente. Sostituire il valore <db_user> segnaposto con il nuovo nome utente desiderato e il valore <newdb> segnaposto con il proprio nome di database. Sostituisci la password temporanea con una tua password robusta.

    Questo codice SQL crea un nuovo database, quindi crea un nuovo utente nel cluster Azure HorizonDB e concede il privilegio di connessione al nuovo database per tale utente.

    CREATE DATABASE <newdb>;
    
    CREATE USER <db_user> PASSWORD '<StrongPassword!>';
    
    GRANT CONNECT ON DATABASE <newdb> TO <db_user>;
    
  4. Usando un account amministratore, potrebbe essere necessario concedere altri privilegi per proteggere gli oggetti nel database. Per altre informazioni, vedere la documentazione di PostgreSQL per altri dettagli sui ruoli e i privilegi del database. Per esempio:

    GRANT ALL PRIVILEGES ON DATABASE <newdb> TO <db_user>;
    

    Se un utente crea una tabella "role", la tabella appartiene a tale utente. Se un altro utente deve accedere alla tabella, è necessario concedere privilegi all'altro utente a livello di tabella.

    Per esempio:

    GRANT SELECT ON ALL TABLES IN SCHEMA <schema_name> TO <db_user>;
    
  5. Accedere al server, specificando il database designato, usando il nuovo nome utente e la nuova password. Questo esempio mostra la riga di comando psql. Con questo comando viene richiesto di immettere la password per il nome utente. Sostituire il nome del server, il nome del database e il nome utente.

    psql --host="{clustername}.{clusteridentifier}.{region}.horizondb.azure.com" --port=5432 --username=db_user --dbname=newdb