Skapa användare i Azure Database for PostgreSQL – flexibel server
GÄLLER FÖR: Azure Database for PostgreSQL – flexibel server
Den här artikeln beskriver hur du kan skapa användare i en flexibel Azure Database for PostgreSQL-serverinstans.
Anta att du vill lära dig hur du skapar och hanterar Azure-prenumerationsanvändare och deras behörigheter. I så fall kan du gå till artikeln om rollbaserad åtkomstkontroll i Azure (Azure RBAC) eller läsa hur du anpassar roller.
Serveradministratörskontot
När du först skapade azure database for PostgreSQL– flexibel serverinstans angav du ett användarnamn och lösenord för serveradministratören. Mer information finns i Skapa en instans av Azure Database for PostgreSQL – flexibel server för att se den stegvisa metoden. Eftersom serveradministratörens användarnamn är ett anpassat namn kan du hitta det valda serveradministratörsanvändarnamnet från Azure Portal.
Azure Database for PostgreSQL– flexibel serverinstans skapas med de tre standardrollerna definierade. Du kan se dessa roller genom att köra kommandot: SELECT rolname FROM pg_roles;
- azure_pg_admin
- azuresu
- din serveradministratörsanvändare
Serveradministratörsanvändaren är medlem i den azure_pg_admin rollen. Serveradministratörskontot ingår dock inte i azuresu-rollen. Eftersom den här tjänsten är en hanterad PaaS-tjänst är endast Microsoft en del av superanvändarrollen.
PostgreSQL-motorn använder behörigheter för att styra åtkomsten till databasobjekt, enligt beskrivningen i PostgreSQL-produktdokumentationen. I Azure Database for PostgreSQL – flexibel server beviljas serveradministratörsanvändaren följande behörigheter:
- Logga in, NOSUPERUSER, INHERIT, CREATEDB, CREATEROLE
Serveradministratörsanvändarkontot kan användas för att skapa fler användare och ge dessa användare rollen azure_pg_admin. Dessutom kan serveradministratörskontot användas för att skapa mindre privilegierade användare och roller som har åtkomst till enskilda databaser och scheman.
Så här skapar du fler administratörsanvändare i Azure Database for PostgreSQL – flexibel server
Hämta anslutningsinformationen och administratörens användarnamn. Du behöver det fullständiga servernamnet och autentiseringsuppgifterna för administratörsinloggning för att ansluta till din flexibla Azure Database for PostgreSQL-serverinstans. Du hittar enkelt servernamnet och inloggningsinformationen från sidan Serveröversikt eller sidan Egenskaper i Azure Portal.
Använd administratörskontot och lösenordet för att ansluta till din flexibla serverinstans i Azure Database for PostgreSQL. Använd önskat klientverktyg, till exempel pgAdmin eller psql. Om du är osäker på hur du ansluter kan du läsa Skapa en instans av Azure Database for PostgreSQL – flexibel server.
Redigera och kör följande SQL-kod. Ersätt ditt nya användarnamn med platshållarvärdet <new_user> och ersätt platshållarlösenordet med ditt eget starka lösenord.
CREATE USER <new_user> CREATEDB CREATEROLE PASSWORD '<StrongPassword!>'; GRANT azure_pg_admin TO <new_user>;
Så här skapar du databasanvändare i Azure Database for PostgreSQL – flexibel server
Hämta anslutningsinformationen och administratörens användarnamn. Du behöver det fullständiga servernamnet och autentiseringsuppgifterna för administratörsinloggning för att ansluta till din flexibla Azure Database for PostgreSQL-serverinstans. Du hittar enkelt servernamnet och inloggningsinformationen från sidan Serveröversikt eller sidan Egenskaper i Azure Portal.
Använd administratörskontot och lösenordet för att ansluta till din flexibla serverinstans i Azure Database for PostgreSQL. Använd önskat klientverktyg, till exempel pgAdmin eller psql.
Redigera och kör följande SQL-kod. Ersätt platshållarvärdet
<db_user>
med ditt avsedda nya användarnamn och platshållarvärde<newdb>
med ditt eget databasnamn. Ersätt platshållarlösenordet med ditt eget starka lösenord.Den här SQL-koden nedan skapar en ny databas och skapar sedan en ny användare i Azure Database for PostgreSQL– flexibel serverinstans och ger den användaren behörighet att ansluta till den nya databasen.
CREATE DATABASE <newdb>; CREATE USER <db_user> PASSWORD '<StrongPassword!>'; GRANT CONNECT ON DATABASE <newdb> TO <db_user>;
Med hjälp av ett administratörskonto kan du behöva bevilja andra behörigheter för att skydda objekten i databasen. Mer information om databasroller och behörigheter finns i PostgreSQL-dokumentationen . Till exempel:
GRANT ALL PRIVILEGES ON DATABASE <newdb> TO <db_user>;
Om en användare skapar en tabell "roll" tillhör tabellen den användaren. Om en annan användare behöver åtkomst till tabellen måste du ge den andra användaren behörighet på tabellnivå.
Till exempel:
GRANT SELECT ON ALL TABLES IN SCHEMA <schema_name> TO <db_user>;
Logga in på servern och ange den avsedda databasen med det nya användarnamnet och lösenordet. Det här exemplet visar psql-kommandoraden. Med det här kommandot uppmanas du att ange lösenordet för användarnamnet. Ersätt ditt eget servernamn, databasnamn och användarnamn.
psql --host=mydemoserver.postgres.database.azure.com --port=5432 --username=db_user --dbname=newdb
Nästa steg
Öppna brandväggen för IP-adresserna för de nya användarnas datorer så att de kan ansluta:
Relaterat innehåll
- Skapa och hantera Azure Database for PostgreSQL – brandväggsregler för flexibel server med hjälp av Azure Portal eller Azure CLI.
- Mer information om hantering av användarkonton finns i PostgreSQL-produktdokumentation för databasroller och behörigheter, GRANT-syntax och behörigheter.