Sdílet prostřednictvím


Vytváření uživatelů na flexibilním serveru Azure Database for PostgreSQL

PLATÍ PRO: Flexibilní server Azure Database for PostgreSQL

Tento článek popisuje, jak můžete vytvářet uživatele v rámci instance flexibilního serveru Azure Database for PostgreSQL.

Předpokládejme, že chcete zjistit, jak vytvářet a spravovat uživatele předplatného Azure a jejich oprávnění. V takovém případě můžete navštívit článek řízení přístupu na základě role v Azure (Azure RBAC) nebo si projít, jak přizpůsobit role.

Účet správce serveru

Při prvním vytvoření instance flexibilního serveru 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.

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

  • azure_pg_admin
  • azuresu
  • 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 Azuresu. 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. Na flexibilním serveru Azure Database for PostgreSQL má uživatel správce serveru udělená tato oprávnění:

  • Přihlášení, NOSUPERUSER, DĚDIT, CREATEDB, CREATEROLE

Uživatelský účet správce serveru se dá použít k vytvoření více uživatelů a udělit 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.

Jak vytvořit další uživatele s oprávněními správce na flexibilním serveru Azure Database for PostgreSQL

  1. Získejte informace o připojení a uživatelské jméno správce. Abyste se mohli připojit k instanci flexibilního serveru Azure Database for PostgreSQL, 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. Pomocí účtu správce a hesla se připojte k instanci flexibilního serveru Azure Database for PostgreSQL. Použijte preferovaný klientský nástroj, například pgAdmin 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ým symbolem 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 na flexibilním serveru Azure Database for PostgreSQL

  1. Získejte informace o připojení a uživatelské jméno správce. Abyste se mohli připojit k instanci flexibilního serveru Azure Database for PostgreSQL, 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. Pomocí účtu správce a hesla se připojte k instanci flexibilního serveru Azure Database for PostgreSQL. Použijte preferovaný klientský nástroj, například pgAdmin 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.

    Následující kód SQL vytvoří novou databázi a pak vytvoří nového uživatele v instanci flexibilního serveru Azure Database for 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 --dbname=newdb
    

Další kroky

Otevřete bránu firewall pro IP adresy počítačů nových uživatelů, aby se mohli připojit: