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
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.
Użyj konta administratora i hasła, aby nawiązać połączenie z serwerem bazy danych. Użyj preferowanego narzędzia klienckiego, takiego jak pgAdmin lub psql. Jeśli nie masz pewności, jak nawiązać połączenie, zobacz przewodnik Szybki start
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
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.
Użyj konta administratora i hasła, aby nawiązać połączenie z serwerem bazy danych. Użyj preferowanego narzędzia klienckiego, takiego jak pgAdmin lub psql.
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>;
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>;
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ń.