Konfigurowanie kluczy zarządzanych przez klienta w różnych dzierżawach

Note

Wyszukiwanie AI platformy Azure jest dostępna za pośrednictwem portalu Azure, interfejsów API REST i Azure SDKs. Jest także podstawą Foundry IQ — zarządzanej warstwy wiedzy, która przekształca treści przedsiębiorstwa w bazy wiedzy wielokrotnego użytku z uwzględnieniem uprawnień dla agentów w portalu Microsoft Foundry.

Ważna

Funkcje, możliwości lub właściwości oznaczone (wersja zapoznawcza) nie są objęte umową dotyczącą poziomu usług, nie są zalecane w przypadku obciążeń produkcyjnych i mogą ulec zmianie lub ograniczeniu, zanim staną się one ogólnie dostępne. Warunki Wyszukiwanie AI platformy Azure wersji zapoznawczej mają zastosowanie do wszystkich funkcji w wersji zapoznawczej, niezależnie od tego, czy jest ona autonomiczna, czy częścią ogólnie dostępnej funkcji.

W tym artykule opisano scenariusz międzydzierżawowy, w którym dostawca usług hostuje usługę Wyszukiwanie AI platformy Azure we własnej dzierżawie i włącza szyfrowanie przy użyciu klucza zarządzanego przez klienta (CMK) za pomocą wielodzierżawowej aplikacji Microsoft Entra.

W tej konfiguracji klient używa Azure Key Vault we własnej dzierżawie do zarządzania kluczem szyfrowania. Dostawca usług nie ma dostępu do tego klucza.

Wymagania wstępne

  • Tenant A: Dzierżawca oraz uprawnienia niezbędne do utworzenia usługi Wyszukiwanie AI platformy Azure i powiązanych obiektów (indeksy, listy synonimów, indeksatory, źródła danych, wektoryzatory, zestawy umiejętności). Obsługa kluczy zarządzanych przez klienta wymaga warstwy cenowej Podstawowa lub nowsza.

  • Skonfiguruj usługę wyszukiwania dla kontroli dostępu opartej na rolach (zalecane dla zwiększenia bezpieczeństwa, ale niewymagane).

  • Tenant B: Oddzielna dzierżawa klienta z Azure Key Vault i niezbędne uprawnienia do tej dzierżawy:

    • Key Vault Współautor: Ta rola jest wymagana, jeśli musisz utworzyć nową key vault.
    • Uprawnienie do rejestrowania aplikacji w usłudze Microsoft Entra ID: Aby zainstalować aplikację wielodostępną skonfigurowaną przez dostawcę usług dla międzydzierżawnego klucza zarządzanego przez klienta (CMK), musisz mieć uprawnienie do tworzenia rejestracji aplikacji w usłudze Microsoft Entra ID. Zazwyczaj wymaga to roli dewelopera aplikacji lub wyższej roli administracyjnej, takiej jak administrator aplikacji lub administrator globalny.
    • Key Vault Crypto Officer: Ta rola jest wymagana do dodania nowego klucza do key vault.
    • Key Vault Użytkownik szyfrowania usług kryptograficznych: Ta rola musi zostać przypisana do jednostki usługi utworzonej dla zainstalowanej aplikacji wielodostępnej w celu udzielenia jednostce usługi dostępu do klucza zarządzanego przez klienta w key vault. Aby to zrobić, musisz mieć uprawnienia administratora dostępu użytkowników . Można wyświetlić identyfikator GUID jednostki usługi (znany również jako identyfikator obiektu) w obszarze: Enterprise applications\<installed multitenant application>\Manage\Properties\Object ID.
  • Azure Key Vault musi być również konfigurowany dla dostępu opartego na rolach.

  • Azure CLI do wysyłania żądań.

Wybieranie podejścia do uwierzytelniania

Możesz skonfigurować aplikację Microsoft Entra z obsługą wielu dzierżaw tak, aby używała kluczy zarządzanych przez klienta w scenariuszu międzydzierżawnym, stosując jedno z następujących podejść:

  1. Obsługa tożsamości federacyjnych (wersja zapoznawcza, zalecana): konfigurowanie Microsoft Entra poświadczeń tożsamości federacyjnej (FIC) przy użyciu tożsamości zarządzanej przypisanej przez użytkownika (UAMI). To podejście wykorzystuje tokeny tożsamości zarządzanej i wymienia je na tokeny dostępu, eliminując potrzebę stosowania długotrwałych sekretów i zapewniając zgodność z zasadami federacji tożsamości obciążeń. Takie podejście wymaga właściwości w wersji zapoznawczej federatedIdentityClientId, wprowadzonej w wersji interfejsu API 2026-05-01-preview.

  2. Wpisy tajne klienta: skonfiguruj klucz tajny klienta przy użyciu accessCredentials właściwości . Takie podejście jest mniej bezpieczne i wymaga dodatkowego zarządzania w celu rotowania i ochrony sekretu.

Note

Azure Key Vault i Azure Key Vault Managed HSM używają tych samych interfejsów API i interfejsów zarządzania w przypadku kluczy zarządzanych przez klienta. Każda operacja obsługiwana w usłudze Azure Key Vault jest również obsługiwana w usłudze Azure Key Vault Managed HSM.

Tworzenie wielodostępnej aplikacji Firmy Microsoft Entra w dzierżawie A

Wysyłanie żądań przy użyciu interfejsu wiersza polecenia platformy Azure. Dzierżawa dostawcy usług, która zawiera usługę Wyszukiwanie AI platformy Azure, będzie określana jako dzierżawa A.

  1. Pobierz identyfikator dzierżawy: az account show --query tenantId --output tsv

  2. Upewnij się, że jesteś zalogowany do dzierżawy A: az login --tenant \<tenant-A-id\>

  3. Utwórz rejestrację aplikacji: az ad app create --display-name cross-tenant-auth --sign-in-audience AzureADMultipleOrgs

  4. Zapisz dane wyjściowe identyfikatora aplikacji z tego kroku.

Korzystanie z obsługi tożsamości federacyjnych (wersja zapoznawcza)

Aby używać tożsamości federacyjnej na potrzeby scenariusza CMK między dzierżawcami:

  1. Dostawca usług konfiguruje usługę AI Search w swojej dzierżawie (dzierżawca A). Aby uzyskać wskazówki dotyczące tego, jak to zrobić, zobacz Tworzenie usługi wyszukiwania (w portalu Azure) lub użyj polecenia az search service create w Azure CLI.

  2. Dostawca usług tworzy wielodzierżawną rejestrację aplikacji Microsoft Entra. Aby uzyskać wskazówki dotyczące tego, jak to zrobić, zobacz Jak zarejestrować aplikację w Microsoft Entra ID lub użyć polecenia Azure CLI: az ad app create. Zarejestruj identyfikator aplikacji (klienta) po zakończeniu rejestracji aplikacji.

  3. Dostawca usług konfiguruje tożsamość zarządzaną przypisaną przez użytkownika. Aby uzyskać wskazówki dotyczące tego, jak to zrobić, zobacz Zarządzanie tożsamościami zarządzanymi przypisanymi przez użytkownika przy użyciu portalu Azure lub Zarządzanie tożsamościami zarządzanymi przypisanymi przez użytkownika przy użyciu Azure CLI.

  4. Dostawca usług konfiguruje tożsamości zarządzane przypisane przez użytkownika jako poświadczenie federacyjnej tożsamości w aplikacji. Aby uzyskać wskazówki dotyczące tego, jak to zrobić, zobacz Konfigurowanie aplikacji pod kątem zaufania zewnętrznemu dostawcy tożsamości.

  5. Gdy dostawca usług udostępni identyfikator aplikacji wielodostępnej, klient nadaje aplikacji dostawcy usług dostęp do usługi Key Vault w swojej dzierżawie (dzierżawa B). Aby zainstalować aplikację w dzierżawie B, należy utworzyć nazwę główną usługi przy użyciu identyfikatora aplikacji wielodzierżawnej. Aby utworzyć jednostkę usługi, skonstruuj admin-consent URL i udziel zgody dla całej dzierżawy lub użyj polecenia az ad sp w Azure CLI.

  6. Jeśli klient nie ma jeszcze magazynu kluczy do użycia, zobacz Szybki start — tworzenie Azure Key Vault przy użyciu portalu Azure lub przewodnika Szybki start — tworzenie Azure Key Vault przy użyciu Azure CLI. Magazyn kluczy będzie wymagać ustawienia modelu uprawnień na „Kontrola dostępu oparta na rolach platformy Azure (RBAC)” oraz przyznania uprawnień wielodostępnej aplikacji dostawcy usług przez przypisanie jej roli Key Vault Crypto Service Encryption User. Klient może następnie utworzyć klucz szyfrowania. Aby uzyskać wskazówki, jak to zrobić, zobacz Przyznawanie aplikacjom uprawnień dostępu do usługi Azure Key Vault przy użyciu kontroli dostępu opartej na rolach platformy Azure (Azure RBAC).

Po wykonaniu tych kroków dostawca usług ma teraz następujące elementy:

  • Identyfikator aplikacji dla aplikacji wielodostępnej zainstalowanej w dzierżawie klienta, której udzielono dostępu do klucza zarządzanego przez klienta.

  • Tożsamość zarządzana skonfigurowana jako poświadczenie federacyjne w aplikacji wielodzierżawnej.

  • Lokalizacja klucza w sejfie kluczy klienta.

Za pomocą tych trzech parametrów dostawca usług może teraz tworzyć obiekty Wyszukiwanie AI platformy Azure w Tenant A które można zaszyfrować przy użyciu klucza zarządzanego przez klienta przechowywanego w Tenant B. Aby uzyskać wskazówki dotyczące konfigurowania kluczy zarządzanych przez klienta na nowych obiektach wyszukiwania, zobacz Konfigurowanie kluczy zarządzanych przez klienta dla Wyszukiwanie AI platformy Azure zaszyfrowanych danych.

Zweryfikuj konfigurację klucza zarządzanego przez klienta (CMK) dla federacyjnej tożsamości między dzierżawami

Po skonfigurowaniu wielodostępnej aplikacji Microsoft Entra i połączeniu jej z Key Vault klienta sprawdź konfigurację, tworząc obiekt testowy w usłudze wyszukiwania (dzierżawa A). W tym przykładzie tworzony jest indeks w celu potwierdzenia, że usługa wyszukiwania może uzyskać dostęp do klucza zarządzanego przez klienta przy użyciu uwierzytelniania tożsamości federacyjnej.

  1. Zobacz Konfiguruj klucze zarządzane przez klienta dla Wyszukiwanie AI platformy Azure zaszyfrowanych danych aby uzyskać wskazówki dotyczące tworzenia usługi wyszukiwania i nowego obiektu indeksu przy użyciu klucza zarządzanego przez klienta.

  2. Po utworzeniu obiektu indeksu należy wypełnić następujące elementy:

    • keyVaultUri: adres URI od klienta.
    • keyVaultKeyName: Nazwa klucza podana przez klienta.
    • keyVaultKeyVersion: wersja klucza od klienta.
    • userAssignedIdentity: <subscription-id> i <resource-group> z Twojej dzierżawy, a <identity-name> to nazwa tożsamości zarządzanej przypisanej przez użytkownika.
    • federatedIdentityClientId: ta wartość właściwości, <application-client-id>, będzie identyfikatorem aplikacji wielodostępnych (klienta).
    {
      "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>"
        }
      }
    }
    
  3. Sprawdź indeks, wysyłając GET żądanie: GET https://<search-service>.search.windows.net/indexes/cross-tenant-cmk-test?api-version=2026-08-01-preview

Jeśli żądanie zakończy się pomyślnie, konfiguracja CMK między dzierżawami działa poprawnie.

Jeśli tworzenie indeksu zakończy się niepowodzeniem z powodu błędu dostępu klucza, sprawdź, czy:

  • Tożsamość zarządzana przypisana przez użytkownika jest poprawnie skonfigurowana
  • Poświadczenie tożsamości federacyjnej jest ustawione w aplikacji
  • Zasady dostępu Key Vault lub przypisania ról RBAC są poprawne

Użyj klucza tajnego klienta (jeśli użycie tożsamości federacyjnej nie jest możliwe)

Jeśli tożsamość federacyjna nie wchodzi w grę, możesz dodać klucz tajny klienta do aplikacji wielodzierżawowej, aby obsługiwać scenariusz CMK między dzierżawami:

  1. Aby dodać klucz tajny klienta do aplikacji wielodostępnej w dzierżawie A, uruchom następujące polecenie:

    az ad app credential reset --id <multitenant-app-id>

  2. Zapisz dane wyjściowe hasła z tego kroku. Hasło wyjściowe jest wymaganym danymi wejściowymi do konfigurowania klucza zarządzanego przez klienta (CMK) w Wyszukiwanie AI platformy Azure.

  3. Aby określić, kiedy tajny klucz klienta wygaśnie, możesz określić parametr daty zakończenia w tym poleceniu.

    az ad app credential reset --id <multitenant-app-id> --end-date <end-date>

    Parametr daty zakończenia akceptuje datę w formacie ISO 8601. Na przykład: az ad app credential reset --id <multitenant-app-id> --end-date 2026-12-31.

Tworzenie jednostki usługi w dzierżawie B dla aplikacji wielodostępnej

Odwołujemy się do dzierżawy zawierającej usługę Azure Key Vault jako dzierżawę B. W dzierżawie B utwórz jednostkę usługi dla aplikacji wielodostępnej w dzierżawie A.

  1. Zaloguj się do klienta B:

    az login --tenant <tenant-B-id>

  2. Utwórz główny element usługi, korzystając z wyniku identyfikatora aplikacji wielodostępnej uzyskanego w pierwszym kroku.

    az ad sp create --id <multitenant-app-id>

    Ta jednostka usługi jest wystąpieniem aplikacji wielodostępnej w dzierżawie A. Role przypisane do tej jednostki usługi w dzierżawie B są również przypisywane do aplikacji wielodostępnej w dzierżawie A.

  3. Zweryfikuj połączenie między najemcą A i B, analizując „appOwnerOrganizationId” w następującej komendzie:

    az ad sp show --id <multitenant-app-id>

    To polecenie wyświetla szczegóły głównej usługi w formacie JSON. Wyszukaj pole "appOwnerOrganizationId" w danych wyjściowych, aby potwierdzić, że pasuje do identyfikatora dzierżawy A.

  4. Zapisz identyfikator obiektu jednostki usługi (z "id" pola) z tego kroku. Identyfikator obiektu jest wymaganym wejściem do skonfigurowania CMK w usłudze Wyszukiwanie AI platformy Azure.

  5. Pobierz identyfikator zasobu dla usługi Azure Key Vault:

    az keyvault show --name <key-vault-name> --query id --output tsv

  6. Przypisz rolę użytkownika szyfrowania usługi Kryptograficznej usługi Key Vault w magazynie kluczy w dzierżawie B do nowej jednostki usługi.

    az role assignment create --assignee <service-principal-object-id> --role "Key Vault Crypto Service Encryption User" --scope <key-vault-resource-id>

    Przykład tego zadania może wyglądać w sposób następujący.

    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

Zweryfikuj konfigurację CMK między dzierżawami dla klucza tajnego klienta

Po skonfigurowaniu wielodostępnej aplikacji Microsoft Entra i połączeniu jej z Key Vault klienta sprawdź konfigurację, tworząc obiekt testowy w usłudze wyszukiwania (dzierżawa A). W tym przykładzie utworzono indeks w celu potwierdzenia, że usługa wyszukiwania może uzyskać dostęp do klucza zarządzanego przez klienta przy użyciu klucza tajnego klienta.

  1. Zobacz Konfiguruj klucze zarządzane przez klienta dla Wyszukiwanie AI platformy Azure zaszyfrowanych danych aby uzyskać wskazówki dotyczące tworzenia usługi wyszukiwania i nowego obiektu indeksu przy użyciu klucza zarządzanego przez klienta.

  2. Za pomocą portalu Azure można dodać indeks i podać ten kod JSON lub użyć klienta REST wysłać żądanie Create Index. Po utworzeniu obiektu indeksu należy wypełnić następujące elementy:

    • keyVaultUri: adres URI od klienta.
    • keyVaultKeyName: Nazwa klucza podana przez klienta.
    • keyVaultKeyVersion: wersja klucza od klienta.
    • accessCredentials: element applicationId jest czymś w rodzaju 00001111-aaaa-2222-bbbb-3333cccc4444, a applicationSecret to wartość, którą właśnie utworzyłeś(-aś).
{
  "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>"
    }
  }
}

Sprawdź, czy indeks został utworzony pomyślnie:

GET https://<search-service>.search.windows.net/indexes/cross-tenant-cmk-test?api-version=2026-04-01

Aby uzyskać więcej informacji na temat obracania kluczy lub zarządzania nimi, zobacz Konfigurowanie kluczy zarządzanych przez klienta na potrzeby szyfrowania danych.