Skapa användare i Azure Database for PostgreSQL – enskild server

GÄLLER FÖR: Azure Database for PostgreSQL – enskild server

Viktigt!

Azure Database for PostgreSQL – enskild server är på väg att dras tillbaka. Vi rekommenderar starkt att du uppgraderar till Azure Database for PostgreSQL – flexibel server. Mer information om hur du migrerar till Azure Database for PostgreSQL – flexibel server finns i Vad händer med Azure Database for PostgreSQL – enskild server?.

Den här artikeln beskriver hur du kan skapa användare i en Azure Database for PostgreSQL-server.

Om du vill lära dig hur du skapar och hanterar Azure-prenumerationsanvändare och deras behörigheter kan du gå till artikeln 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 angav du ett användarnamn och lösenord för serveradministratören. Mer information finns i snabbstarten 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-portalen.

Azure Database for PostgreSQL-servern skapas med de tre standardrollerna definierade. Du kan se dessa roller genom att köra kommandot: SELECT rolname FROM pg_roles;

  • azure_pg_admin
  • azure_superuser
  • din serveradministratörsanvändare

Serveradministratörsanvändaren är medlem i den azure_pg_admin rollen. Serveradministratörskontot ingår dock inte i den azure_superuser 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 beviljas serveradministratörsanvändaren följande behörigheter: LOGIN, NOSUPERUSER, INHERIT, CREATEDB, CREATEROLE, REPLICATION

Serveradministratörsanvändarkontot kan användas för att skapa ytterligare 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 ytterligare administratörsanvändare i Azure Database for PostgreSQL

  1. Hämta anslutningsinformationen och administratörens användarnamn. Du behöver det fullständiga servernamnet och inloggningsuppgifterna för administratör för att ansluta till databasservern. Du hittar enkelt servernamnet och inloggningsinformationen från sidan Serveröversikt eller sidan Egenskaper i Azure-portalen.

  2. Använd administratörskontot och lösenordet för att ansluta till databasservern. Använd önskat klientverktyg, till exempel pgAdmin eller psql. Om du är osäker på hur du ansluter kan du läsa snabbstarten

  3. Redigera och kör följande SQL-kod. Ersätt ditt nya användarnamn för 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

  1. Hämta anslutningsinformationen och administratörens användarnamn. Du behöver det fullständiga servernamnet och inloggningsuppgifterna för administratör för att ansluta till databasservern. Du hittar enkelt servernamnet och inloggningsinformationen från sidan Serveröversikt eller sidan Egenskaper i Azure-portalen.

  2. Använd administratörskontot och lösenordet för att ansluta till databasservern. Använd önskat klientverktyg, till exempel pgAdmin eller psql.

  3. Redigera och kör följande SQL-kod. Ersätt platshållarvärdet <db_user> med det avsedda nya användarnamnet och platshållarvärdet <newdb> med ditt eget databasnamn. Ersätt platshållarlösenordet med ditt eget starka lösenord.

    Den här sql-kodsyntaxen skapar en ny databas med namnet testdb, till exempel. Sedan skapar den en ny användare i PostgreSQL-tjänsten och beviljar anslutningsbehörigheter till den nya databasen för den användaren.

    CREATE DATABASE <newdb>;
    
    CREATE USER <db_user> PASSWORD '<StrongPassword!>';
    
    GRANT CONNECT ON DATABASE <newdb> TO <db_user>;
    
  4. Med hjälp av ett administratörskonto kan du behöva bevilja ytterligare 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>;
    
  5. 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@mydemoserver --dbname=newdb
    

Nästa steg

Öppna brandväggen för IP-adresserna för de nya användarnas datorer så att de kan ansluta: Skapa och hantera Azure Database for PostgreSQL-brandväggsregler med hjälp av Azure-portalen 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.