Vytváření uživatelů na jednoúčelovém serveru Azure Database for PostgreSQL

PLATÍ PRO: Azure Database for PostgreSQL – Jednoúčelový server

Důležité

Jednoúčelový server Azure Database for PostgreSQL je na cestě vyřazení. Důrazně doporučujeme upgradovat na flexibilní server Azure Database for PostgreSQL. Další informace o migraci na flexibilní server Azure Database for PostgreSQL najdete v tématu Co se děje s jednoúčelovým serverem Azure Database for PostgreSQL?

Tento článek popisuje, jak můžete vytvářet uživatele na serveru Azure Database for PostgreSQL.

Pokud se chcete dozvědět, jak vytvářet a spravovat uživatele předplatného Azure a jejich oprávnění, můžete navštívit článek řízení přístupu na základě role (Azure RBAC) Azure nebo si projít postup přizpůsobení rolí.

Účet správce serveru

Při prvním vytvoření služby Azure Database for PostgreSQL jste zadali uživatelské jméno a heslo správce serveru. Další informace najdete v rychlém startu a zobrazit podrobný přístup. Vzhledem k tomu, že uživatelské jméno správce serveru je vlastní název, můžete na webu Azure Portal vyhledat zvolené uživatelské jméno správce serveru.

Server Azure Database for PostgreSQL se vytvoří s definovanými 3 výchozími rolemi. Tyto role můžete zobrazit spuštěním příkazu: SELECT rolname FROM pg_roles;

  • azure_pg_admin
  • azure_superuser
  • váš uživatel správce serveru

Uživatel správce serveru je členem azure_pg_admin role. Účet správce serveru ale není součástí role azure_superuser. Vzhledem k tomu, že tato služba je spravovaná služba PaaS, je součástí role superuživatele pouze Microsoft.

Modul PostgreSQL používá oprávnění k řízení přístupu k databázovým objektům, jak je popsáno v dokumentaci k produktu PostgreSQL. Ve službě Azure Database for PostgreSQL má uživatel správce serveru udělená tato oprávnění: LOGIN, NOSUPERUSER, INHERIT, CREATEDB, CREATEROLE, REPLICATION

Uživatelský účet správce serveru lze použít k vytvoření dalších uživatelů a udělení těmto uživatelům roli azure_pg_admin. Účet správce serveru lze také použít k vytvoření méně privilegovaných uživatelů a rolí, které mají přístup k jednotlivým databázím a schématům.

Vytvoření dalších uživatelů správců ve službě Azure Database for PostgreSQL

  1. Získejte informace o připojení a uživatelské jméno správce. Pokud se chcete připojit ke svému databázovému serveru, potřebujete úplný název serveru a přihlašovací údaje správce. Název serveru a přihlašovací údaje můžete snadno najít na stránce Přehled serveru nebo na stránce Vlastnosti na webu Azure Portal.

  2. Pro připojení k databázovému serveru použijte účet správce a heslo. Použijte preferovaný klientský nástroj, například pg Správa nebo psql. Pokud si nejste jisti, jak se připojit, podívejte se na rychlý start.

  3. Upravte a spusťte následující kód SQL. Nahraďte nové uživatelské jméno zástupné hodnoty <new_user> a nahraďte zástupné heslo vlastním silným heslem.

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

Vytvoření uživatelů databáze ve službě Azure Database for PostgreSQL

  1. Získejte informace o připojení a uživatelské jméno správce. Pokud se chcete připojit ke svému databázovému serveru, potřebujete úplný název serveru a přihlašovací údaje správce. Název serveru a přihlašovací údaje můžete snadno najít na stránce Přehled serveru nebo na stránce Vlastnosti na webu Azure Portal.

  2. Pro připojení k databázovému serveru použijte účet správce a heslo. Použijte preferovaný klientský nástroj, například pg Správa nebo psql.

  3. Upravte a spusťte následující kód SQL. Nahraďte zástupnou hodnotu <db_user> zamýšleným novým uživatelským jménem a zástupnou hodnotou <newdb> vlastním názvem databáze. Zástupné heslo nahraďte vlastním silným heslem.

    Tato syntaxe kódu SQL vytvoří novou databázi s názvem testdb, například pro účely. Pak vytvoří nového uživatele ve službě PostgreSQL a udělí oprávnění pro připojení k nové databázi pro tohoto uživatele.

    CREATE DATABASE <newdb>;
    
    CREATE USER <db_user> PASSWORD '<StrongPassword!>';
    
    GRANT CONNECT ON DATABASE <newdb> TO <db_user>;
    
  4. Pomocí účtu správce možná budete muset udělit další oprávnění k zabezpečení objektů v databázi. Další podrobnosti o rolích a oprávněních databáze najdete v dokumentaci k PostgreSQL. Příklad:

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

    Pokud uživatel vytvoří tabulku "role", tabulka patří danému uživateli. Pokud k tabulce potřebuje přístup jiný uživatel, musíte udělit oprávnění druhému uživateli na úrovni tabulky.

    Příklad:

    GRANT SELECT ON ALL TABLES IN SCHEMA <schema_name> TO <db_user>;
    
  5. Přihlaste se k serveru a zadejte určenou databázi pomocí nového uživatelského jména a hesla. Tento příklad ukazuje příkazový řádek psql. Pomocí tohoto příkazu se zobrazí výzva k zadání hesla pro uživatelské jméno. Nahraďte vlastní název serveru, název databáze a uživatelské jméno.

    psql --host=mydemoserver.postgres.database.azure.com --port=5432 --username=db_user@mydemoserver --dbname=newdb
    

Další kroky

Otevřete bránu firewall pro IP adresy počítačů nových uživatelů, aby se mohli připojit: Vytvoření a správa pravidel brány firewall služby Azure Database for PostgreSQL pomocí webu Azure Portal nebo Azure CLI.

Další informace o správě uživatelských účtů najdete v dokumentaci k produktu PostgreSQL pro databázové role a oprávnění, syntaxi GRANT a oprávnění.