Tworzenie użytkowników w usłudze Azure Database for PostgreSQL — pojedynczy serwer

DOTYCZY: Azure Database for PostgreSQL — pojedynczy serwer

Ważne

Usługa Azure Database for PostgreSQL — pojedynczy serwer znajduje się na ścieżce wycofania. Zdecydowanie zalecamy uaktualnienie do usługi Azure Database for PostgreSQL — serwer elastyczny. Aby uzyskać więcej informacji na temat migracji do usługi Azure Database for PostgreSQL — serwer elastyczny, zobacz Co się dzieje z usługą Azure Database for PostgreSQL — pojedynczy serwer?.

W tym artykule opisano sposób tworzenia użytkowników na serwerze usługi Azure Database for PostgreSQL.

Jeśli chcesz dowiedzieć się, jak tworzyć użytkowników subskrypcji platformy Azure i zarządzać nimi oraz zarządzać nimi, możesz zapoznać się z artykułem Kontrola dostępu oparta na rolach (Azure RBAC) lub zapoznać się z artykułem dotyczącym dostosowywania ról.

Konto administratora serwera

Po pierwszym utworzeniu usługi Azure Database for PostgreSQL podano nazwę użytkownika i hasło administratora serwera. Aby uzyskać więcej informacji, możesz skorzystać z przewodnika Szybki start , aby zobaczyć podejście krok po kroku. Ponieważ nazwa użytkownika administratora serwera jest nazwą niestandardową, możesz zlokalizować wybraną nazwę użytkownika administratora serwera w witrynie Azure Portal.

Serwer usługi Azure Database for PostgreSQL jest tworzony przy użyciu zdefiniowanych 3 ról domyślnych. Te role można wyświetlić, uruchamiając polecenie: SELECT rolname FROM pg_roles;

  • azure_pg_admin
  • azure_superuser
  • administrator serwera

Administrator serwera jest członkiem roli azure_pg_admin. Jednak konto administratora serwera nie jest częścią roli azure_superuser. Ponieważ ta usługa jest zarządzaną usługą PaaS, tylko firma Microsoft jest częścią roli administratora.

Aparat PostgreSQL używa uprawnień do kontrolowania dostępu do obiektów bazy danych, zgodnie z opisem w dokumentacji produktu PostgreSQL. W usłudze Azure Database for PostgreSQL administrator serwera otrzymuje następujące uprawnienia: LOGIN, NOSUPERUSER, INHERIT, CREATEDB, CREATEROLE, REPLICATION

Konto użytkownika administratora serwera może służyć do tworzenia dodatkowych użytkowników i przydzielania tych użytkowników do roli azure_pg_admin. Ponadto konto administratora serwera może służyć do tworzenia mniej uprzywilejowanych użytkowników i ról, które mają dostęp do poszczególnych baz danych i schematów.

Jak utworzyć dodatkowych użytkowników administracyjnych w usłudze Azure Database for PostgreSQL

  1. Uzyskaj informacje o połączeniu i nazwę użytkownika administratora. Aby można było nawiązać połączenie z serwerem bazy danych, potrzebne są pełna nazwa serwera i poświadczenia logowania administratora. Nazwę serwera i informacje logowania można łatwo znaleźć na stronie Przegląd serwera lub na stronie Właściwości w witrynie Azure Portal.

  2. Użyj konta administratora i hasła, aby nawiązać połączenie z serwerem bazy danych. Użyj preferowanego narzędzia klienckiego, takiego jak pg Administracja lub psql. Jeśli nie masz pewności, jak nawiązać połączenie, zobacz przewodnik Szybki start

  3. Edytuj i uruchom następujący kod SQL. Zastąp nową nazwę użytkownika wartości <symbolu zastępczego new_user> i zastąp hasło symbolu zastępczego własnym silnym hasłem.

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

Jak tworzyć użytkowników bazy danych w usłudze Azure Database for PostgreSQL

  1. Uzyskaj informacje o połączeniu i nazwę użytkownika administratora. Aby można było nawiązać połączenie z serwerem bazy danych, potrzebne są pełna nazwa serwera i poświadczenia logowania administratora. Nazwę serwera i informacje logowania można łatwo znaleźć na stronie Przegląd serwera lub na stronie Właściwości w witrynie Azure Portal.

  2. Użyj konta administratora i hasła, aby nawiązać połączenie z serwerem bazy danych. Użyj preferowanego narzędzia klienckiego, takiego jak pg Administracja lub psql.

  3. Edytuj i uruchom następujący kod SQL. Zastąp wartość <db_user> symbolu zastępczego nazwą zamierzonego nowego użytkownika i wartością <newdb> symbolu zastępczego własną nazwą bazy danych. Zastąp hasło zastępcze własnym silnym hasłem.

    Ta składnia kodu SQL tworzy nową bazę danych o nazwie testdb, na przykład. Następnie tworzy nowego użytkownika w usłudze PostgreSQL i przyznaje uprawnienia połączenia z nową bazą danych dla tego użytkownika.

    CREATE DATABASE <newdb>;
    
    CREATE USER <db_user> PASSWORD '<StrongPassword!>';
    
    GRANT CONNECT ON DATABASE <newdb> TO <db_user>;
    
  4. Przy użyciu konta administratora może być konieczne przyznanie dodatkowych uprawnień w celu zabezpieczenia obiektów w bazie danych. Aby uzyskać więcej informacji na temat ról i uprawnień bazy danych, zapoznaj się z dokumentacją bazy danych PostgreSQL. Na przykład:

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

    Jeśli użytkownik utworzy tabelę "rola", tabela należy do tego użytkownika. Jeśli inny użytkownik potrzebuje dostępu do tabeli, musisz przyznać innym użytkownikom uprawnienia na poziomie tabeli.

    Na przykład:

    GRANT SELECT ON ALL TABLES IN SCHEMA <schema_name> TO <db_user>;
    
  5. Zaloguj się na serwerze, określając wyznaczoną bazę danych przy użyciu nowej nazwy użytkownika i hasła. W tym przykładzie pokazano wiersz polecenia psql. Za pomocą tego polecenia zostanie wyświetlony monit o podanie hasła dla nazwy użytkownika. Zastąp własną nazwę serwera, nazwę bazy danych i nazwę użytkownika.

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

Następne kroki

Otwórz zaporę dla adresów IP maszyn nowych użytkowników, aby umożliwić im łączenie: tworzenie reguł zapory usługi Azure Database for PostgreSQL i zarządzanie nimi przy użyciu witryny Azure Portal lub interfejsu wiersza polecenia platformy Azure.

Aby uzyskać więcej informacji na temat zarządzania kontami użytkowników, zobacz dokumentację produktu PostgreSQL dotyczącą ról i uprawnień bazy danych, składni GRANT i uprawnień.