Uruchamianie zasad aktualizacji przy użyciu tożsamości zarządzanej

Zasady aktualizacji należy skonfigurować przy użyciu tożsamości zarządzanej w następujących scenariuszach:

  • Gdy zapytanie zasad aktualizacji odwołuje się do tabel w innych bazach danych.
  • Gdy zapytanie zasad aktualizacji odwołuje się do tabel z włączonymi zasadami zabezpieczeń na poziomie wiersza.

Zasady aktualizacji skonfigurowane przy użyciu tożsamości zarządzanej są wykonywane w imieniu tożsamości zarządzanej.

Z tego artykułu dowiesz się, jak skonfigurować tożsamość zarządzaną przypisaną przez system lub przypisaną przez użytkownika i utworzyć zasady aktualizacji przy użyciu tej tożsamości.

Wymagania wstępne

Konfigurowanie tożsamości zarządzanej

Istnieją dwa typy tożsamości zarządzanych:

  • Przypisane przez system: tożsamość przypisana przez system jest połączona z klastrem i jest usuwana po usunięciu klastra. Tylko jedna tożsamość przypisana przez system jest dozwolona dla klastra.

  • Przypisane przez użytkownika: tożsamość zarządzana przypisana przez użytkownika jest autonomicznym zasobem platformy Azure. Do klastra można przypisać wiele tożsamości przypisanych przez użytkownika.

Wybierz jedną z poniższych kart, aby skonfigurować preferowany typ tożsamości zarządzanej.

  1. Wykonaj kroki, aby dodać tożsamość przypisaną przez użytkownika.

  2. W witrynie Azure Portal w menu po lewej stronie zasobu tożsamości zarządzanej wybierz pozycję Właściwości. Skopiuj i zapisz identyfikator dzierżawy i identyfikator podmiotu zabezpieczeń do użycia w poniższych krokach.

    Zrzut ekranu przedstawiający obszar witryny Azure Portal z identyfikatorami tożsamości zarządzanej.

  3. Uruchom następujące polecenie managed_identity zasad alter-merge, zastępując <objectId> element identyfikatorem obiektu tożsamości zarządzanej z poprzedniego kroku. To polecenie ustawia zasady tożsamości zarządzanej w klastrze, które umożliwiają używanie tożsamości zarządzanej z zasadami aktualizacji.

    .alter-merge cluster policy managed_identity ```[
        {
          "ObjectId": "<objectId>",
          "AllowedUsages": "AutomatedFlows"
        }
    ]```
    

    Uwaga

    Aby ustawić zasady dla określonej bazy danych, użyj polecenia database <DatabaseName> zamiast cluster.

  4. Uruchom następujące polecenie, aby udzielić tożsamości zarządzanej uprawnień podglądu bazy danych dla wszystkich baz danych, do których odwołuje się zapytanie zasad aktualizacji.

    .add database <DatabaseName> viewers ('aadapp=<objectId>;<tenantId>')
    

    Zastąp <DatabaseName> element odpowiednią bazą danych, <objectId> identyfikatorem jednostki tożsamości zarządzanej z kroku 2 i <tenantId> identyfikatorem dzierżawy Microsoft Entra ID z kroku 2.

Tworzenie zasad aktualizacji

Wybierz jedną z poniższych kart, aby utworzyć zasady aktualizacji, które będą uruchamiane w imieniu przypisanej przez użytkownika lub przypisanej przez system tożsamości zarządzanej.

Uruchom polecenie .alter table policy update z ManagedIdentity właściwością ustawioną na identyfikator obiektu tożsamości zarządzanej.

Na przykład następujące polecenie zmienia zasady aktualizacji tabeli MyTable w bazie danych MyDatabase. Należy pamiętać, że parametry Source i Query powinny odwoływać się tylko do obiektów w tej samej bazie danych, w której zdefiniowano zasady aktualizacji. Jednak kod zawarty w funkcji określonej w parametrze Query może wchodzić w interakcje z tabelami znajdującymi się w innych bazach danych. Na przykład funkcja MyUpdatePolicyFunction() może uzyskiwać dostęp OtherTable w OtherDatabase imieniu tożsamości zarządzanej przypisanej przez użytkownika. <objectId> powinien być identyfikatorem obiektu tożsamości zarządzanej.

.alter table MyDatabase.MyTable policy update
```
[
    {
        "IsEnabled": true,
        "Source": "MyTable",
        "Query": "MyUpdatePolicyFunction()",
        "IsTransactional": false,
        "PropagateIngestionProperties": false,
        "ManagedIdentity": "<objectId>"
    }
]
```