Freigeben über


Verwenden einer verwalteten Identität zum Ausführen einer Updaterichtlinie

Gilt für: ✅Azure Data Explorer

Die Updaterichtlinie muss in den folgenden Szenarien mit einer verwalteten Identität konfiguriert werden:

Eine mit einer verwalteten Identität konfigurierte Updaterichtlinie wird im Auftrag der verwalteten Identität ausgeführt.

In diesem Artikel erfahren Sie, wie Sie eine vom System zugewiesene oder vom Benutzer zugewiesene verwaltete Identität konfigurieren und mithilfe dieser Identität eine Updaterichtlinie erstellen.

Voraussetzungen

Konfigurieren einer verwalteten Identität

Es gibt zwei Arten von verwalteten Identitäten:

  • System zugewiesen: Eine vom System zugewiesene Identität ist mit Ihrem Cluster verbunden und wird entfernt, wenn der Cluster entfernt wird. Pro Cluster ist nur eine vom System zugewiesene Identität zulässig.

  • Benutzer zugewiesen: Eine vom Benutzer zugewiesene verwaltete Identität ist eine eigenständige Azure-Ressource. Ihrem Cluster können mehrere vom Benutzer zugewiesene Identitäten zugewiesen werden.

Wählen Sie eine der folgenden Registerkarten aus, um Ihren bevorzugten verwalteten Identitätstyp einzurichten.

  1. Führen Sie die Schritte aus, um eine vom Benutzer zugewiesene Identität hinzuzufügen.

  2. Wählen Sie im Azure-Portal im linken Menü Ihrer verwalteten Identitätsressource "Eigenschaften" aus. Kopieren Und speichern Sie die Mandanten-ID und Prinzipal-ID für die Verwendung in den folgenden Schritten.

    Screenshot des Bereichs Azure-Portal mit verwalteten Identitäts-IDs.

  3. Führen Sie die folgende .alter-merge-Richtlinie managed_identity Befehl aus, und ersetzen <objectId> Sie die verwaltete Identitätsprinzipal-ID aus dem vorherigen Schritt. Mit diesem Befehl wird eine Richtlinie für verwaltete Identitäten auf dem Cluster festgelegt, mit der die verwaltete Identität mit der Updaterichtlinie verwendet werden kann.

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

    Hinweis

    Um die Richtlinie für eine bestimmte Datenbank festzulegen, verwenden Sie database <DatabaseName> anstelle von cluster.

  4. Führen Sie den folgenden Befehl aus, um der verwalteten Identitätsdatenbank-Viewer Berechtigungen für alle Datenbanken zu erteilen, auf die von der Aktualisierungsrichtlinienabfrage verwiesen wird.

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

    Ersetzen Sie sie <DatabaseName> durch die relevante Datenbank durch <objectId> die verwaltete Identitätsprinzipal-ID aus Schritt 2 und <tenantId> durch die Microsoft Entra ID-Mandanten-ID aus Schritt 2.

Erstellen einer Updaterichtlinie

Wählen Sie eine der folgenden Registerkarten aus, um eine Updaterichtlinie zu erstellen, die im Auftrag einer vom Benutzer zugewiesenen oder vom System zugewiesenen verwalteten Identität ausgeführt wird.

Führen Sie den Befehl ".alter table policy update" aus, wobei die ManagedIdentity Eigenschaft auf die ID des verwalteten Identitätsobjekts festgelegt ist.

Mit dem folgenden Befehl wird beispielsweise die Aktualisierungsrichtlinie der Tabelle MyTable in der Datenbank MyDatabasegeändert. Beachten Sie, dass sowohl die Parameter als Query auch die Source Objekte nur innerhalb derselben Datenbank referenziert werden sollen, in der die Updaterichtlinie definiert ist. Der code, der in der im Query Parameter angegebenen Funktion enthalten ist, kann jedoch mit Tabellen interagieren, die sich in anderen Datenbanken befinden. Beispielsweise kann die Funktion MyUpdatePolicyFunction() im OtherDatabase Auftrag einer vom Benutzer zugewiesenen verwalteten Identität darauf zugreifenOtherTable. <objectId> sollte eine verwaltete Identitätsobjekt-ID sein.

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