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:
- Wenn die Aktualisierungsrichtlinienabfrage tabellen in anderen Datenbanken referenziert
- Wenn die Aktualisierungsrichtlinienabfrage tabellen mit einer aktivierten Sicherheitsrichtlinie auf Zeilenebene verweist
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
- Ein Cluster und eine Datenbank Erstellen eines Clusters und einer Datenbank.
- AllDatabasesAdmin-Berechtigungen für die Datenbank.
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.
Führen Sie die Schritte aus, um eine vom Benutzer zugewiesene Identität hinzuzufügen.
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.
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 voncluster
.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 MyDatabase
geä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>"
}
]
```