Microsoft Entra ID en PostgreSQL-verificatie met Azure Cosmos DB for PostgreSQL
VAN TOEPASSING OP: Azure Cosmos DB for PostgreSQL (mogelijk gemaakt door de Citus-database-extensie naar PostgreSQL)
Azure Cosmos DB for PostgreSQL ondersteunt PostgreSQL-verificatie en -integratie met Microsoft Entra ID. Elk Azure Cosmos DB for PostgreSQL-cluster wordt gemaakt met systeemeigen PostgreSQL-verificatie ingeschakeld en één ingebouwde PostgreSQL-rol met de naam citus
. U kunt meer systeemeigen PostgreSQL-rollen toevoegen nadat het inrichten van clusters is voltooid.
U kunt ook Microsoft Entra ID-verificatie (voorheen Azure Active Directory) inschakelen op een cluster, naast de PostgreSQL-verificatiemethode of in plaats daarvan. U kunt verificatiemethoden op elk Azure Cosmos DB for PostgreSQL-cluster onafhankelijk configureren. Als u de verificatiemethode wilt wijzigen, kunt u dit op elk gewenst moment doen nadat het inrichten van het cluster is voltooid. Voor het wijzigen van verificatiemethoden is het opnieuw opstarten van het cluster niet vereist.
PostgreSQL-verificatie
De PostgreSQL-engine gebruikt rollen om de toegang tot databaseobjecten te beheren. Een nieuw gemaakt Azure Cosmos DB for PostgreSQL-cluster wordt geleverd met verschillende vooraf gedefinieerde rollen:
- De standaard PostgreSQL-rollen
postgres
citus
Omdat Azure Cosmos DB for PostgreSQL een beheerde PaaS-service is, kan alleen Microsoft zich aanmelden met de postgres
rol superuser. Voor beperkte beheerderstoegang biedt Azure Cosmos DB for PostgreSQL de citus
rol.
De beheerde service moet alle PostgreSQL-rollen repliceren naar alle knooppunten in een cluster. Om deze vereiste te vergemakkelijken, moeten alle andere PostgreSQL-rollen worden gemaakt met behulp van Azure Cosmos DB for PostgreSQL-beheermogelijkheden.
De rol Citus
Machtigingen voor de citus
rol:
- Lees alle configuratievariabelen, zelfs variabelen die normaal gesproken alleen zichtbaar zijn voor supergebruikers.
- Lees alle pg_stat_* weergaven en gebruik verschillende statistiekengerelateerde extensies, zelfs weergaven of extensies die normaal gesproken alleen zichtbaar zijn voor supergebruikers.
- Voer bewakingsfuncties uit waarvoor ACCESS SHARE-vergrendelingen voor tabellen kunnen duren, mogelijk lang.
- PostgreSQL-extensies maken.
Met name de citus
rol heeft enkele beperkingen:
- Kan geen rollen maken
- Kan geen databases maken
citus
rol kan niet worden verwijderd, maar wordt uitgeschakeld als verificatiemethode 'Alleen Microsoft Entra ID-verificatie' is geselecteerd op het cluster.
Microsoft Entra ID-verificatie
Microsoft Entra ID-verificatie (voorheen Azure Active Directory) is een mechanisme om verbinding te maken met Azure Cosmos DB for PostgreSQL met behulp van identiteiten die zijn gedefinieerd in Microsoft Entra ID. Met Microsoft Entra ID-verificatie kunt u databasegebruikersidentiteiten en andere Microsoft-services beheren op een centrale locatie, wat het beheer van machtigingen vereenvoudigt.
Voordelen van het gebruik van Microsoft Entra ID zijn:
- Verificatie van gebruikers in Azure Services op een uniforme manier
- Beheer van wachtwoordbeleid en wachtwoordrotatie op één plaats
- Meerdere vormen van verificatie die worden ondersteund door Microsoft Entra ID, waardoor wachtwoorden niet meer hoeven te worden opgeslagen
- Microsoft Entra ID-verificatie maakt gebruik van PostgreSQL-databaserollen om identiteiten op databaseniveau te verifiëren
- Ondersteuning van verificatie op basis van tokens voor toepassingen die verbinding maken met Azure Cosmos DB for PostgreSQL
PostgreSQL-toegang beheren voor Microsoft Entra ID-principals
Wanneer Microsoft Entra ID-verificatie is ingeschakeld en Microsoft Entra ID-principal wordt toegevoegd als Microsoft Entra ID-beheerder, krijgt het account dezelfde bevoegdheden als de citus
rol. De aanmelding van de Microsoft Entra-id-beheerder kan een Microsoft Entra ID-gebruiker, service-principal of beheerde identiteit zijn. Meerdere Microsoft Entra ID-beheerders kunnen op elk gewenst moment worden geconfigureerd en u kunt optioneel PostgreSQL-verificatie (wachtwoord) uitschakelen voor het Azure Cosmos DB for PostgreSQL-cluster voor betere controle- en nalevingsbehoeften.
Daarnaast kan een willekeurig aantal niet-beheerdersrollen voor Microsoft Entra-id's op elk gewenst moment worden toegevoegd aan een cluster zodra Microsoft Entra ID-verificatie is ingeschakeld. Databasemachtigingen voor niet-beheerdersrollen voor Microsoft Entra-id's worden beheerd op dezelfde manier als gewone rollen.
Verbinding maken met behulp van Microsoft Entra ID-identiteiten
Microsoft Entra ID-verificatie ondersteunt de volgende methoden om verbinding te maken met een database met behulp van Microsoft Entra ID-identiteiten:
- Wachtwoord voor Microsoft Entra-id
- Geïntegreerde Microsoft Entra-id
- Microsoft Entra ID Universal met MFA
- Microsoft Entra ID-toepassingscertificaten of clientgeheimen gebruiken
- Beheerde identiteit
Nadat u zich hebt geverifieerd met de Microsoft Entra-id, haalt u vervolgens een token op. Dit token is uw wachtwoord voor aanmelden.
Andere overwegingen
- Meerdere Microsoft Entra ID-principals (een gebruiker, service-principal of beheerde identiteit) kunnen op elk gewenst moment worden geconfigureerd als Microsoft Entra ID-beheerder voor een Azure Cosmos DB for PostgreSQL-cluster.
- Als een Microsoft Entra ID-principal wordt verwijderd uit de Microsoft Entra ID-service, blijft deze nog steeds een PostgreSQL-rol op het cluster, maar kan het geen nieuw toegangstoken meer verkrijgen. In dit geval bestaat de overeenkomende rol nog steeds in de Postgres-database, maar kan deze niet worden geverifieerd bij de clusterknooppunten. Databasebeheerders moeten het eigendom overdragen en dergelijke rollen handmatig verwijderen.
Notitie
Aanmelden met de verwijderde Microsoft Entra ID-gebruiker kan nog steeds worden uitgevoerd totdat het token verloopt (maximaal 90 minuten van het verlenen van tokens). Als u de gebruiker ook verwijdert uit een Azure Cosmos DB for PostgreSQL-cluster, wordt deze toegang onmiddellijk ingetrokken.
- Azure Cosmos DB for PostgreSQL komt overeen met toegangstokens voor de databaserol met behulp van de unieke Microsoft Entra ID-gebruikers-id van de gebruiker, in tegenstelling tot het gebruik van de gebruikersnaam. Als een Microsoft Entra ID-gebruiker wordt verwijderd en er een nieuwe gebruiker met dezelfde naam wordt gemaakt, is Azure Cosmos DB voor PostgreSQL van mening dat een andere gebruiker. Als een gebruiker wordt verwijderd uit Microsoft Entra ID en er een nieuwe gebruiker met dezelfde naam wordt toegevoegd, kan de nieuwe gebruiker geen verbinding maken met de bestaande rol.
Volgende stappen
- Bekijk limieten en beperkingen voor Microsoft Entra-id's in Azure Cosmos DB for PostgreSQL
- Meer informatie over het configureren van verificatie voor Azure Cosmos DB voor PostgreSQL-clusters
- Privénetwerktoegang tot de clusterknooppunten instellen, zie Privétoegang beheren
- Openbare netwerktoegang tot de clusterknooppunten instellen, zie Openbare toegang beheren