Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
I den här artikeln får du lära dig hur du konfigurerar Microsoft Entra ID-autentisering för en Azure Cosmos DB för MongoDB vCore. Stegen i den här guiden konfigurerar ett befintligt Azure Cosmos DB for MongoDB vCore-kluster för att använda Microsoft Entra-ID-autentisering med din mänskliga identitet (för närvarande inloggat konto) eller ett Säkerhetsobjekt för Microsoft Entra ID, till exempel hanterad identitet. Microsoft Entra ID-autentisering ger säker och sömlös åtkomst till databasen med hjälp av organisationens befintliga identiteter. Den här guiden går igenom stegen för att konfigurera autentisering, registrera användare eller tjänstens huvudnamn och verifiera konfigurationen.
När du skapar ett Azure Cosmos DB for MongoDB vCore-kluster konfigureras klustret att använda intern autentisering som standard. Om du vill aktivera autentisering med Hjälp av Entra-ID aktiverar du Entra ID-autentiseringsmetoden och lägger till Entra-ID-användare i klustret.
Förutsättningar
- Ett befintligt Azure Cosmos DB for MongoDB-kluster (vCore).
- Om du inte har en Azure-prenumeration skapar du ett konto kostnadsfritt.
 - Om du har en befintlig Azure-prenumeration skapar du ett nytt Azure Cosmos DB för MongoDB vCore-kluster.
 
 
Den senaste versionen av Azure CLI i Azure Cloud Shell.
- Om du föredrar att köra CLI-referenskommandon lokalt loggar du in på Azure CLI med hjälp 
az loginav kommandot . 
- Om du föredrar att köra CLI-referenskommandon lokalt loggar du in på Azure CLI med hjälp 
 
Hämta identitetsmetadata
Hämta unik identifierare för Entra ID-användarhantering
Hämta först den unika identifierare som används för att hantera Entra ID-huvudnamn i klustret.
Hämta information för det inloggade kontot med hjälp av
az ad signed-in-user.az ad signed-in-user showHämta information för ett annat konto med hjälp av
az ad user show.az ad user show --id kai@adventure-works.comKommandot matar ut ett JSON-svar som innehåller olika fält.
{ "@odata.context": "<https://graph.microsoft.com/v1.0/$metadata#users/$entity>", "businessPhones": [], "displayName": "Kai Carter", "givenName": "Kai", "id": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb", "jobTitle": "Senior Sales Representative", "mail": "<kai@adventure-works.com>", "mobilePhone": null, "officeLocation": "Redmond", "preferredLanguage": null, "surname": "Carter", "userPrincipalName": "<kai@adventure-works.com>" }Registrera värdet för
idegenskapen. Den här egenskapen är den unika identifieraren för din huvudman och kallas ibland för huvudmans-ID. Du använder det här värdet i nästa stegserie.
Hämta eget namn med hjälp av unik identifierare
Följ dessa steg när du behöver hämta ett eget namn med hjälp av unik identifierare.
Hämta information för ett annat konto med hjälp av
az ad user show.az ad user show --id aaaaaaaa-0000-1111-2222-bbbbbbbbbbbbKommandot matar ut ett JSON-svar som innehåller olika fält.
{ "@odata.context": "<https://graph.microsoft.com/v1.0/$metadata#users/$entity>", "businessPhones": [], "displayName": "Kai Carter", "givenName": "Kai", "id": "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb", "jobTitle": "Senior Sales Representative", "mail": "<kai@adventure-works.com>", "mobilePhone": null, "officeLocation": "Redmond", "preferredLanguage": null, "surname": "Carter", "userPrincipalName": "<kai@adventure-works.com>" }Observera värdet för
mailegenskaperna ochdisplayName.
Hämta unik identifierare för Entra ID-tjänstens huvudidentitet
Om du vill använda en hanterad identitet i ditt program eller för att logga in med Entra-ID autentiseringsuppgifter i verktyg som MongoDB-gränssnittet eller Compass måste du hämta både principalID och clientID för den hanterade identiteten.
Hämta information om den hanterade identiteten med hjälp av ett
GETREST API-anrop. Ersätt variabler som börjar med$-tecknet med de faktiska värdena.az rest --method "GET" --url "https://management.azure.com/subscriptions/$subscription-id/resourcegroups/$resource-group-name/providers/microsoft.managedidentity/userassignedidentities/$managed-identity-name?api-version=2024-11-30"Kommandot matar ut ett JSON-svar som innehåller olika fält.
{ "location": "eastus", "name": "managed-identity-name", "properties": { "clientId": "00001111-aaaa-2222-bbbb-3333cccc4444", "isolationScope": "None", "principalId": "aaaaaaaa-bbbb-cccc-1111-222222222222", "tenantId": "aaaabbbb-0000-cccc-1111-dddd2222eeee" }, "tags": {}, "type": "Microsoft.ManagedIdentity/userAssignedIdentities" }Observera
clientID- ochprincipalId-värdena i utdata.- Använd 
principalIdför att lägga till den hanterade identiteten i klustret som en Entra-ID-entitet. - Använd 
clientIDför att ansluta till klustret via MongoDB Shell eller Compass eller i din programkod med entra-ID-autentisering. 
- Använd 
 
Hantera klusterautentiseringsmetoder
Använd följande steg för att ändra autentiseringsmetoder i ditt befintliga kluster. Lägg sedan till en Entra-ID-användare som mappats till din inloggade identitet i klustret. Du kan aktivera följande autentiseringsmetoder i klustret:
- Endast intern DocumentDB-autentiseringsmetod
 - Interna DocumentDB- och Microsoft Entra ID-autentiseringsmetoder
 - Microsoft Entra ID-autentiseringsmetod
 
Viktigt!
När klustret skapas måste du ha den interna DocumentDB-autentiseringsmetoden aktiverad och ange interna autentiseringsuppgifter för administrativa användare. Du kan inaktivera den interna DocumentDB-autentiseringsmetoden när det nya klustret har slutfört etableringen.
Välj Autentisering under Inställningar i sidopanelen för klustret.
I avsnittet Autentiseringsmetoder väljer du Internt DocumentDB- och Microsoft Entra-ID för att aktivera Microsoft Entra-ID-autentisering.
Välj Spara för att bekräfta att autentiseringsmetoden ändras.
Anmärkning
Om du behöver inaktivera den interna DocumentDB-autentiseringsmetoden i klustret använder du Azure CLI- eller REST API-anrop.
Visa autentiseringsmetoder som är aktiverade i klustret
Följ de här stegen för att se autentiseringsmetoder som för närvarande är aktiverade i klustret.
Hantera administrativa Entra-ID-användare i klustret
Följ de här stegen för att lägga tilladministrativa Entra-ID-användare i klustret eller ta bort administrativa Entra-ID-användare från det.
Välj ett kluster med Microsoft Entra ID-autentiseringsmetod aktiverad.
Välj Autentisering under Inställningar i sidopanelen för klustret.
Så här lägger du till administrativa Entra-ID-användare:
I avsnittet Microsoft Entra-ID-autentisering väljer du +Lägg till Microsoft Entra-ID för att öppna sidopanelen som gör det möjligt att lägga till Entra-ID-användare och säkerhetsobjekt i klustret.
I panelen Välj Microsoft Entra-ID-roller väljer du en eller flera Entra-ID-användare och bekräftar ditt val genom att välja Välj.
Anmärkning
När administrativa Microsoft Entra-ID-användare läggs till i klustret läggs deras identifierare i
aaaaaaaa-0000-1111-2222-bbbbbbbbbbbbformatet inte till mänskliga läsbara namn somkai@adventure-works.comläggs till i klustret.Välj Spara för att bekräfta att autentiseringsmetoden ändras.
Så här tar du bort administrativa Entra-ID-användare från klustret:
Hämta Entra-ID-identifierare för de användare som ska tas bort från klustret.
I avsnittet Microsoft Entra-ID-autentisering väljer du Ta bort bredvid användarens identifierare för att ta bort användaren från klustret.
Viktigt!
Användaren tas bort från klustret direkt efter att Ta bort har valts.
Visa administrativa Entra-ID-användare i klustret
När du visar administrativa användare i ett kluster finns det alltid en inbyggd inbyggd administrativ användare som skapats under klusteretablering och alla administrativa Entra-ID-användare har lagts till i klustret i listan. Alla administrativa Entra-ID-användare replikeras till databasen.
Icke-administrativa Entra-ID-användare skapas i databasen. När du listar icke-administrativa användare i databasen innehåller listan alla administrativa och icke-administrativa Entra-ID-användare och alla sekundära (icke-administrativa) interna DocumentDB-användare.
Följ de här stegen för att se alla administrativa Entra-ID-användare som har lagts till i klustret.
Välj ett kluster med Microsoft Entra ID-autentiseringsmetod aktiverad.
Välj Autentisering under Inställningar i sidopanelen för klustret.
I avsnittet Microsoft Entra-ID-autentisering hittar du listan över objekt-ID:er (unika identifierare) för de administrativa Entra-ID-användare som lagts till i klustret.
Följ dessa steg för att hämta egna namn med hjälp av en unik identifierare.
Anmärkning
Ett Azure Cosmos DB for MongoDB vCore-kluster skapas med en inbyggd inbyggd DocumentDB-användare. Du kan lägga till fler interna DocumentDB-användare när klusteretablering har slutförts. Microsoft Entra-ID-användare som läggs till i klustret kommer att vara utöver interna DocumentDB-användare som definierats i samma kluster.
Hantera icke-administrativa Entra-ID-användare i klustret
Om du vill utföra hanteringsåtgärder för icke-administrativa Säkerhetsobjekt för Entra-ID, till exempel användare, måste du logga in på klustret med en administrativ Entra-ID-användare. Du kan göra det från programkoden eller från verktyg som MongoDB Shell och Compass.
Alla hanteringskommandon för icke-administrativa användare stöds för huvudtyperna servicePrincipal och user.
Logga in på klustret med hjälp av en administrativ Entra-ID-användare i MongoDB-gränssnittet eller MongoDB Compass.
Om du vill lägga till en icke-administrativ Entra-ID-användare med läs- och skrivbehörighet i klustret använder du följande
createUserkommando:db.runCommand( { createUser:"user's-Entra-ID-identifier", roles : [ { role:"clusterAdmin",db:"admin" }, { role:"readWriteAnyDatabase", db:"admin" } ], customData:{"IdentityProvider":{"type":"MicrosoftEntraID", "properties":{"principalType":"user"}}} } )Om du vill lägga till en icke-administrativ Entra-ID-användare med skrivskyddad behörighet i klustret använder du följande
createUserkommando:db.runCommand( { createUser:"user's-Entra-ID-identifier", roles : [ { role:"readAnyDatabase", db:"admin" } ], customData:{"IdentityProvider":{"type":"MicrosoftEntraID", "properties":{"principalType":"user"}}} } )Om du vill ta bort en icke-administrativ Entra-ID-användare från klustret använder du
dropUserkommandot:db.runCommand( { dropUser:"user's-Entra-ID-identifier" } )Om du vill visa en lista över alla Entra-ID och interna DocumentDB-användare i klustret använder du
userInfokommandot:db.runCommand( { usersInfo:1 } )Anmärkning
Alla Administrativa Entra-ID och interna DocumentDB-användare replikeras till databasen. På grund av den här replikeringen innehåller listan över användare alla administrativa och icke-administrativa Entra ID-användare samt inhemska DocumentDB-användare i klustret.
Ansluta till klustret
Du kan ansluta till klustret med antingen en anslutnings-URI eller ett objekt för anpassade inställningar från drivrutinen för önskat språk. I båda alternativen måste schemat vara inställt mongodb+srv på för att ansluta till klustret. 
              Värden finns på antingen domänen *.global.mongocluster.cosmos.azure.com eller *.mongocluster.cosmos.azure.com beroende på om du använder det aktuella klustrets slutpunkt eller den globala läs- och skrivslutpunkten. Schemat +srv och värden *.global.* ser till att din klient är ansluten dynamiskt till lämpligt skrivbart kluster i en multiklusterkonfiguration även om en regionväxlingsåtgärd inträffar. I en konfiguration med ett kluster kan du använda antingen anslutningssträngen urskillningslöst.
Inställningen tls måste också vara aktiverad. De återstående rekommenderade inställningarna är konfigurationsinställningar för bästa praxis.
| Alternativ | Värde | 
|---|---|
| schema | mongodb+srv | 
| värd | 
              <cluster-name>.global.mongocluster.cosmos.azure.com eller <cluster-name>.mongocluster.cosmos.azure.com | 
tls | 
true | 
authMechanism | 
MONGODB-OIDC | 
retrywrites | 
false | 
maxIdleTimeMS | 
120000 | 
Öppna Anslutningssträngar under Inställningar på sidan klusteregenskaper i Azure-portalen. Sidan Anslutningssträngar innehåller anslutningssträngar för de autentiseringsmetoder som är aktiverade i klustret. Anslutningssträngar för Microsoft Entra-ID finns i avsnittet Microsoft Entra-ID .
Global
mongodb+srv://<cluster-name>.global.mongocluster.cosmos.azure.com/?tls=true&authMechanism=MONGODB-OIDC&retrywrites=false&maxIdleTimeMS=120000Kluster
mongodb+srv://<cluster-name>.mongocluster.cosmos.azure.com/?tls=true&authMechanism=MONGODB-OIDC&retrywrites=false&maxIdleTimeMS=120000
Använda Entra-ID med Visual Studio Code, MongoDB Shell och MongoDB Compass
Du kan använda Entra ID-autentisering i olika verktyg, inklusive Visual Studio Code med DocumentDB-tillägget, MongoDB-gränssnittet och MongoDB Compass-verktygen. I Visual Studio Code kan du autentisera till klustret med den aktuella användaren som är inloggad i Visual Studio Code.
En hanterad Azure-identitet används för att logga in med hjälp av Etttra-ID till MonogDB-gränssnittet och Compass. Tilldela hanterad identitet till en virtuell Azure-dator (VM) och logga in på klustret från den virtuella datorn med MongoDB-gränssnittet eller Compass. En av de vanliga uppgifter som utförs i verktygen med Entra ID-autentisering är hantering av sekundära Entra-ID-användare i klustret. Den administrativa Entra-ID-användaren måste autentiseras i MongoDB-gränssnittet, Compass eller andra MongoDB-hanteringsverktyg för att kunna hantera sekundära Entra-ID-användare i klustret.
Ansluta till klustret med ett Entra-ID i Visual Studio Code
Följ den här vägledningen om du vill ansluta till ett Azure Cosmos DB for MongoDB vCore-kluster med Visual Studio Code med DocumentDB-tillägget och Entra ID-autentisering.
Anmärkning
När du autentiserar mot ett Azure Cosmos DB for MongoDB vCore-kluster med Entra ID i Visual Studio Code med DocumentDB-tillägget stöds inte funktionen shell. Följ dessa steg om du behöver använda MongoDB-gränssnittet med Entra-ID-autentisering.
Ansluta till klustret med entra-ID i MongoDB-gränssnittet
Skapa en användartilldelad hanterad identitet.
Lägg till hanterad identitet i klustret som en Entra-ID-användare med hjälp av metadata för hanterad identitet.
Om du vill ansluta till klustret använder du följande anslutningssträng i MongoDB-gränssnittet på den virtuella datorn:
mongosh "mongodb+srv://<client-id>@<cluster-name>.global.mongocluster.cosmos.azure.com/?tls=true&authMechanism=MONGODB-OIDC&authMechanismProperties=ENVIRONMENT:azure,TOKEN_RESOURCE:https://ossrdbms-aad.database.windows.net" --oidcTrustedEndpointdär
clientIDär den hanterade identitetens klient-ID.
Ansluta till klustret med Hjälp av Entra-ID i MongoDB Compass
Använd följande steg för att använda Entra-ID för att autentisera till klustret i MongoDB Compass.
Skapa en användartilldelad hanterad identitet.
Lägg till hanterad identitet i klustret som en Entra-ID-användare med hjälp av metadata för hanterad identitet.
Kör MongoDB Compass på den virtuella datorn.
Välj
+logga in till vänster bredvid Anslutningar för att lägga till en ny anslutning.Kontrollera att växlingsknappen Redigera anslutningssträng är aktiverad i fönstret Ny anslutning .
Klistra in följande anslutningssträng i URI-indatarutan.
mongodb+srv://<client-id>@<cluster-name>.global.mongocluster.cosmos.azure.com/?tls=true&authMechanism=MONGODB-OIDC&authMechanismProperties=ENVIRONMENT:azure,TOKEN_RESOURCE:https://ossrdbms-aad.database.windows.netdär
clientIDär den hanterade identitetens klient-ID.Öppna Avancerade anslutningsalternativ.
På fliken Allmänt kontrollerar du att
mongodb+srvär markerat under Anslutningssträngschema.Gå till fliken Autentisering .
Kontrollera att OIDC är markerat.
Öppna OIDC-alternativ.
Ange alternativet Överväg betrodd målslutpunkt .
Välj Spara och anslut.
Relaterat innehåll
- Översikt över Microsoft Entra ID-autentisering i Azure Cosmos DB for MongoDB vCore
 - Kontrollera begränsningarna för Microsoft Entra-ID i Azure Cosmos DB för MongoDB vCore
 - Ansluta med ett konsolprogram