Kommentar
Å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.
Note
Azure AI-sökning är tillgängligt via Azure-portalen, REST-API:er och Azure-SDK:er. Den ligger också till grund för Foundry IQ, det hanterade kunskapsskiktet som omvandlar företagsinnehåll till återanvändbara, behörighetsmedvetna kunskapsbaser för agenter i Microsoft Foundry-portalen.
Important
Funktioner, funktioner eller egenskaper som har markerats (förhandsversion) omfattas inte av ett serviceavtal, rekommenderas inte för produktionsarbetsbelastningar och kan ändras eller begränsas innan de blir allmänt tillgängliga. Villkoren för Azure AI-sökning förhandsgranskning gäller för alla förhandsgranskningsfunktioner, oavsett om de är fristående eller en del av en allmänt tillgänglig funktion.
Den här artikeln beskriver ett scenario mellan klientorganisationer där en tjänstleverantör är värd för Azure AI-sökning i sin egen klientorganisation och aktiverar anpassad hanterad nyckelkryptering med hjälp av ett Microsoft Entra program för flera klienter.
I den här konfigurationen använder kunden Azure Key Vault i sin egen klientorganisation för att hantera sin krypteringsnyckel. Tjänstleverantören har ingen åtkomst till den här nyckeln.
Förutsättningar
Tenant A: En klientorganisation och de behörigheter som krävs för att skapa Azure AI-sökning-tjänsten och associerade objekt (index, synonymlistor, indexerare, datakällor, vektoriserare, kompetensuppsättningar). Stöd för kundhanterade nycklar (CMK) kräver grundläggande prisnivå eller högre.
Konfigurera söktjänsten för rollbaserad åtkomst (rekommenderas för förbättrad säkerhet, krävs inte).
Tenant B: En separat kundtenant med ett Azure Key Vault och de nödvändiga behörigheterna i den tenanten:
- Key Vault-deltagare: Den här rollen krävs om du behöver skapa ett nytt nyckelvalv.
- Permission för att registrera program i Microsoft Entra ID: Om du vill installera den multitenantapp som konfigurerats av tjänstleverantören för CMK för flera klientorganisationer måste du ha behörighet att skapa appregistreringar i Microsoft Entra ID. Detta kräver vanligtvis rollen Programutvecklare eller en högre administrativ roll, till exempel programadministratör eller global administratör.
- Key Vault Crypto Officer: Den här rollen krävs för att lägga till en ny nyckel i key vault.
-
Key Vault Crypto Service Encryption User: Den här rollen måste tilldelas det tjänsthuvudnamn som skapades för det installerade programmet med flera klientorganisationer för att ge tjänsthuvudnamnet åtkomst till den kundhanterade nyckeln i Key Vault. Du måste ha behörighet som administratör för användaråtkomst för att kunna göra detta. Du kan visa tjänstens huvudnamns-GUID (även kallat objekt-ID) under:
Enterprise applications\<installed multitenant application>\Manage\Properties\Object ID.
Azure Key Vault måste också vara konfigurerad för rollbaserad åtkomst.
Azure CLI för att skicka begäranden.
Välj en autentiseringsmetod
Du kan konfigurera ett Microsoft Entra-program för flera klientorganisationer för att använda kundhanterade nycklar i ett scenario mellan klientorganisationer med någon av följande metoder:
Stöd för federerad identitet (förhandsversion, rekommenderas): Konfigurera Microsoft Entra federerade identitetsuppgifter (FIC) med en användartilldelad hanterad identitet (UAMI). Den här metoden använder hanterade identitetstoken och utbyter dem för åtkomsttoken, vilket eliminerar behovet av långvariga hemligheter och överensstämmer med principerna för arbetsbelastningsidentitetsfederation. Den här metoden kräver förhandsgranskningsegenskapen
federatedIdentityClientIdsom introducerades i API-versionen2026-05-01-preview.Klienthemligheter: Konfigurera en klienthemlighet med hjälp
accessCredentialsav egenskapen . Den här metoden är mindre säker och kräver ytterligare hantering för att rotera och skydda hemligheten.
Note
Azure Key Vault och Azure Key Vault Managed HSM använder samma API:er och hanteringsgränssnitt för kundhanterade nycklar. Alla åtgärder som stöds i Azure Key Vault stöds också i Azure Key Vault Managed HSM.
Skapa ett Microsoft Entra-program för flera klienter i klient A
Använd Azure CLI för att skicka begäranden. Tjänstleverantörens klientorganisation som innehåller Azure AI-sökning kallas klient A.
Hämta innehavar-ID:t:
az account show --query tenantId --output tsvKontrollera att du är inloggad på klient A:
az login --tenant \<tenant-A-id\>Skapa programregistreringen:
az ad app create --display-name cross-tenant-auth --sign-in-audience AzureADMultipleOrgsSpara app-ID-utdata från det här steget.
Använda federerat identitetsstöd (förhandsversion)
Så här använder du federerad identitet för ett CMK-scenario mellan klientorganisationer:
Tjänstleverantören konfigurerar AI Search-tjänsten i sin tenant (Tenant A). Mer information om hur du gör detta finns i Skapa en söktjänst (i Azure-portalen) eller använd kommandot az search service create i Azure CLI.
Tjänstleverantören skapar en multitenant-appregistrering i Microsoft Entra. Information om hur du gör detta finns i Hur du registrerar en app i Microsoft Entra ID eller använder kommandot Azure CLI: az ad app create. Registrera program-ID :t (klient) när du har slutfört appregistreringen.
Tjänstleverantören konfigurerar en användartilldelad hanterad identitet. Information om hur du gör detta finns i Hantera användartilldelade hanterade identiteter med hjälp av Azure portalen eller Hantera användartilldelade hanterade identiteter med hjälp av Azure CLI.
Tjänstleverantören konfigurerar de användartilldelade hanterade identiteterna som en federerad identitetsautentiseringsuppgift i appen. Mer information om hur du gör detta finns i Konfigurera en app för att lita på en extern identitetsprovider.
När tjänsteleverantören delar app-ID:t för flera klienter ger kunden tjänstleverantörens app åtkomst till Key Vault i klientorganisationen (klient B). Om du vill installera appen i klient B måste ett huvudnamn för tjänsten skapas med app-ID:t för flera klienter. Om du vill skapa tjänsthuvudnamnet skapar du en admin-consent-URL och beviljar medgivande för hela klientorganisationen, eller använder kommandot az ad sp i Azure CLI.
Om kunden inte redan har ett nyckelvalv att använda kan du läsa Snabbstart – Skapa en Azure Key Vault med Azure-portalen eller snabbstart – Skapa en Azure Key Vault med Azure CLI. Key Vault måste ha behörighetsmodellen inställd på "Azure rollbaserad åtkomstkontroll (RBAC)", där tjänstleverantörens flerklientprogram har beviljats behörighet genom att tilldelas rollen Key Vault Crypto Service Encryption User. Kunden kan sedan skapa en krypteringsnyckel. Vägledning om hur du gör detta finns i Bevilja behörighet för program att få åtkomst till ett Azure-nyckelvalv med hjälp av Azure RBAC.
När de här stegen har slutförts har tjänstleverantören nu:
Ett program-ID för ett program med flera klienter installerat i kundens klientorganisation, som har beviljats åtkomst till den kundhanterade nyckeln.
En hanterad identitet som konfigurerats som federerad autentiseringsuppgift i programmet för flera klientorganisationer.
Platsen för nyckeln i kundens nyckelvalv.
Med dessa tre parametrar kan tjänstleverantören nu skapa Azure AI-sökning objekt i Tenant A som kan krypteras med den kundhanterade nyckeln som lagras i Tenant B. Information om hur du konfigurerar kundhanterade nycklar för nya sökobjekt finns i Konfigurera kundhanterade nycklar för Azure AI-sökning krypterade data.
Verifiera den klientorganisationsövergripande CMK-konfigurationen för federerad identitet
När du har konfigurerat Microsoft Entra program för flera klienter och anslutit det till kundens Key Vault kontrollerar du konfigurationen genom att skapa ett testobjekt i söktjänsten (klient A). Det här exemplet skapar ett index för att bekräfta att söktjänsten kan komma åt den kundhanterade nyckeln med hjälp av federerad identitetsautentisering.
Se Konfigurera kundhanterade nycklar för Azure AI-sökning krypterade data för vägledning om hur du skapar en söktjänst och ett nytt indexobjekt med en kundhanterad nyckel.
När indexobjektet har skapats måste du fylla i följande:
-
keyVaultUri: URI-adressen från kunden. -
keyVaultKeyName: Nyckelnamnet från kunden. -
keyVaultKeyVersion: nyckelversion från kunden. -
userAssignedIdentity:<subscription-id>och<resource-group>från din klientorganisation, och<identity-name>är namnet på den användartilldelade hanterade identiteten. -
federatedIdentityClientId: Det här egenskapsvärdet,<application-client-id>, är multitenantprogrammets (klient)-ID.
{ "name": "cross-tenant-cmk-test", "fields": [ { "name": "id", "type": "Edm.String", "key": true } ], "encryptionKey": { "keyVaultUri": "https://<key-vault-name>.vault.azure.net/", "keyVaultKeyName": "<key-name>", "keyVaultKeyVersion": "<key-version>", "identity": { "@odata.type": "#Microsoft.Azure.Search.DataUserAssignedIdentity", "userAssignedIdentity": "/subscriptions/<subscription-id>/resourceGroups/<resource-group>/providers/Microsoft.ManagedIdentity/userAssignedIdentities/<identity-name>", "federatedIdentityClientId": "<application-client-id>" } } }-
Verifiera indexet genom att skicka en
GETbegäran:GET https://<search-service>.search.windows.net/indexes/cross-tenant-cmk-test?api-version=2026-08-01-preview
Om begäran lyckas fungerar CMK-konfigurationen mellan klientorganisationer korrekt.
Om indexskapandet misslyckas med ett nyckelåtkomstfel kontrollerar du att:
- Den användartilldelade hanterade identiteten är korrekt konfigurerad
- Den federerade identitetsautentiseringsuppgiften har angetts i appen
- Key Vault-åtkomstprincipen eller RBAC-rolltilldelningarna är korrekta
Använd en klienthemlighet (om det inte är ett alternativ att använda federerad identitet)
Om federerad identitet inte är ett alternativ kan du lägga till en klienthemlighet i flerklientprogrammet för att stödja ett klientorganisationsövergripande CMK-scenario:
Om du vill lägga till klienthemligheten i programmet för flera klienter i klient A kör du följande kommando:
az ad app credential reset --id <multitenant-app-id>Spara lösenordsutdata från det här steget. Lösenordets utdata är en nödvändig indata för att konfigurera CMK i Azure AI-sökning.
Om du vill ange när klienthemligheten upphör att gälla kan du ange en slutdatumparameter för det här kommandot.
az ad app credential reset --id <multitenant-app-id> --end-date <end-date>Parametern slutdatum accepterar ett datum i ISO 8601-format. Till exempel:
az ad app credential reset --id <multitenant-app-id> --end-date 2026-12-31.
Skapa ett huvudnamn för tjänsten i klient B för programmet för flera klienter
Vi kallar klientorganisationen som innehåller Azure Key Vault för klient B. I klient B skapar du ett tjänsthuvudnamn för den flerklientsapplikationen hos klient A.
Logga in på klient B:
az login --tenant <tenant-B-id>Skapa tjänstens huvudnamn med hjälp av app-ID:t för flera klientorganisationer från det första steget:
az ad sp create --id <multitenant-app-id>Den här tjänstens huvudanvändarkonto är en instans av den multitenanta applikationen i klient A. Roller som tilldelas detta tjänstens huvudanvändarkonto i klient B tilldelas också den multitenanta applikationen i klient A.
Kontrollera länken mellan klient A och B genom att granska "appOwnerOrganizationId" i följande kommando:
az ad sp show --id <multitenant-app-id>Det här kommandot visar information om tjänstens huvudnamn i JSON. Leta efter fältet "appOwnerOrganizationId" i utdata för att bekräfta att det matchar klient-A:s ID.
Spara objekt-ID för tjänstens huvudnamn (från fältet
"id") från det här steget. Objekt-ID:t är en nödvändig indata för att konfigurera CMK i Azure AI-sökning.Hämta resurs-ID:t för Azure Key Vault:
az keyvault show --name <key-vault-name> --query id --output tsvTilldela rollen Key Vault Crypto Service Encryption User i nyckelvalvet hos klient B till den nya tjänstens huvudkonto.
az role assignment create --assignee <service-principal-object-id> --role "Key Vault Crypto Service Encryption User" --scope <key-vault-resource-id>Ett exempel på den här tilldelningen kan se ut så här:
az role assignment create --assignee 00001111-aaaa-2222-bbbb-3333cccc4444 --role "Key Vault Crypto Service Encryption User" --scope /subscriptions/87654321-4321-4321-4321-210987654321/resourceGroups/myKeyVaultRG/providers/Microsoft.KeyVault/vaults/myCompanyKeyVault
Verifiera cmk-konfigurationen för klienthemligheter mellan klientorganisationer
När du har konfigurerat Microsoft Entra program för flera klienter och anslutit det till kundens Key Vault kontrollerar du konfigurationen genom att skapa ett testobjekt i söktjänsten (klient A). Det här exemplet skapar ett index för att bekräfta att söktjänsten kan komma åt den kundhanterade nyckeln med hjälp av klienthemligheten.
Se Konfigurera kundhanterade nycklar för Azure AI-sökning krypterade data för vägledning om hur du skapar en söktjänst och ett nytt indexobjekt med en kundhanterad nyckel.
Du kan använda Azure-portalen för att lägga till ett index och ange denna JSON, eller använda en REST-klient för att skicka en
Create Indexbegäran. När indexobjektet har skapats måste du fylla i följande:-
keyVaultUri: URI-adressen från kunden. -
keyVaultKeyName: Nyckelnamnet från kunden. -
keyVaultKeyVersion: nyckelversion från kunden. -
accessCredentials:applicationIdär ungefär som00001111-aaaa-2222-bbbb-3333cccc4444, ochapplicationSecretär det värde som du just skapade.
-
{
"name": "cross-tenant-cmk-test",
"fields": [
{
"name": "id",
"type": "Edm.String",
"key": true
}
],
"encryptionKey": {
"keyVaultUri": "https://<key-vault-name>.vault.azure.net/",
"keyVaultKeyName": "<key-name>",
"keyVaultKeyVersion": "<key-version>",
"accessCredentials": {
"applicationId": "<application-client-id>",
"applicationSecret": "<application-client-secret>"
}
}
}
Kontrollera att indexet har skapats:
GET https://<search-service>.search.windows.net/indexes/cross-tenant-cmk-test?api-version=2026-04-01
Mer information om hur du roterar eller hanterar nycklar finns i Konfigurera kundhanterade nycklar för datakryptering.