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

DOTYCZY: Azure Database for PostgreSQL — serwer elastyczny

W tym artykule opisano sposób tworzenia użytkowników w ramach wystąpienia serwera elastycznego usługi Azure Database for PostgreSQL.

Załóżmy, że chcesz dowiedzieć się, jak tworzyć użytkowników subskrypcji platformy Azure i zarządzać nimi oraz ich uprawnienia. W takim przypadku możesz odwiedzić artykuł Kontrola dostępu oparta na rolach (RBAC) platformy Azure lub przejrzeć sposób dostosowywania ról.

Konto administratora serwera

Po pierwszym utworzeniu wystąpienia serwera elastycznego 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.

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

  • azure_pg_admin
  • azuresu
  • administrator serwera

Administrator serwera jest członkiem roli azure_pg_admin. Jednak konto administratora serwera nie jest częścią roli azuresu. 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. Na serwerze elastycznym usługi Azure Database for PostgreSQL administrator serwera ma następujące uprawnienia:

  • Logowanie, NOSUPERUSER, INHERIT, CREATEDB, CREATEROLE

Konto użytkownika administratora serwera może służyć do tworzenia większej liczby 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ć więcej użytkowników administracyjnych na serwerze elastycznym usługi Azure Database for PostgreSQL

  1. Uzyskaj informacje o połączeniu i nazwę użytkownika administratora. Do nawiązania połączenia z wystąpieniem serwera elastycznego usługi Azure Database for PostgreSQL potrzebne są pełne nazwy 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 wystąpieniem serwera elastycznego usługi Azure Database for PostgreSQL. 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 zastępcze 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 na serwerze elastycznym usługi Azure Database for PostgreSQL

  1. Uzyskaj informacje o połączeniu i nazwę użytkownika administratora. Do nawiązania połączenia z wystąpieniem serwera elastycznego usługi Azure Database for PostgreSQL potrzebne są pełne nazwy 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 wystąpieniem serwera elastycznego usługi Azure Database for PostgreSQL. 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ą 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.

    Poniższy kod SQL tworzy nową bazę danych, a następnie tworzy nowego użytkownika w wystąpieniu serwera elastycznego usługi Azure Database for PostgreSQL i przyznaje uprawnienia do łączenia się 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 innych 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 --dbname=newdb
    

Następne kroki

Otwórz zaporę dla adresów IP maszyn nowych użytkowników, aby umożliwić im nawiązywanie połączenia: