Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Eine Azure-Rollenzuweisungsbedingung ist eine zusätzliche Überprüfung, die Sie optional zu Ihrer Rollenzuweisung hinzufügen können, um eine differenziertere Zugriffssteuerung bereitzustellen. So können Sie beispielsweise eine Bedingung hinzufügen, die festlegt, dass ein Objekt über ein bestimmtes Tag verfügen muss, damit das Objekt gelesen werden kann. In diesem Artikel wird beschrieben, wie Sie Bedingungen für Ihre Rollenzuweisungen mit Azure CLI hinzufügen, bearbeiten, auflisten oder löschen.
Voraussetzungen
Informationen zu den Voraussetzungen zum Hinzufügen oder Bearbeiten von Rollenzuweisungsbedingungen finden Sie unter Bedingungen.
Bedingung hinzufügen
Verwenden Sie "az role assignment create", um eine Rollenzuweisungsbedingung hinzuzufügen. Der Befehl "az role assignment create " enthält die folgenden Parameter im Zusammenhang mit Bedingungen.
| Parameter | Typ | Description |
|---|---|---|
condition |
String | Bedingung, unter der dem Benutzer die Berechtigung erteilt werden kann. |
condition-version |
String | Version der Bedingungssyntax. Wenn --condition ohne --condition-version angegeben ist, wird die Version auf den Standardwert von 2.0 gesetzt. |
Das folgende Beispiel zeigt, wie Die Rolle " Storage Blob Data Reader " mit einer Bedingung zugewiesen wird. Die Bedingung prüft, ob der Containername mit "blobs-example-container" übereinstimmt.
az role assignment create --role "Storage Blob Data Reader" --scope /subscriptions/mySubscriptionID/resourceGroups/myResourceGroupName --assignee "user1@contoso.com" \
--description "Read access if container name equals blobs-example-container" \
--condition "((!(ActionMatches{'Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read'})) OR (@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:name] StringEquals 'blobs-example-container'))" \
--condition-version "2.0"
Im Folgenden sehen Sie ein Beispiel für die Ausgabe:
{
"canDelegate": null,
"condition": "((!(ActionMatches{'Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read'})) OR (@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:name] StringEquals 'blobs-example-container'))",
"conditionVersion": "2.0",
"description": "Read access if container name equals blobs-example-container",
"id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId}",
"name": "{roleAssignmentId}",
"principalId": "{userObjectId}",
"principalType": "User",
"resourceGroup": "{resourceGroup}",
"roleDefinitionId": "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/roleDefinitions/2a2b9908-6ea1-4ae2-8e65-a410df84e7d1",
"scope": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}",
"type": "Microsoft.Authorization/roleAssignments"
}
Bearbeiten einer Bedingung
Um eine vorhandene Rollenzuweisungsbedingung zu bearbeiten, verwenden Sie az-Rollenzuweisungsaktualisierung und eine JSON-Datei als Eingabe. Im folgenden Beispiel wird eine JSON-Beispieldatei gezeigt, in der Bedingung und Beschreibung aktualisiert werden. Nur die condition, conditionVersion und description Eigenschaften können bearbeitet werden. Sie müssen alle Eigenschaften angeben, um die Rollenzuweisungsbedingung zu aktualisieren.
{
"canDelegate": null,
"condition": "((!(ActionMatches{'Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read'})) OR (@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:name] StringEquals 'blobs-example-container' OR @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:name] StringEquals 'blobs-example-container2'))",
"conditionVersion": "2.0",
"description": "Read access if container name equals blobs-example-container or blobs-example-container2",
"id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId}",
"name": "{roleAssignmentId}",
"principalId": "{userObjectId}",
"principalType": "User",
"resourceGroup": "{resourceGroup}",
"roleDefinitionId": "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/roleDefinitions/2a2b9908-6ea1-4ae2-8e65-a410df84e7d1",
"scope": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}",
"type": "Microsoft.Authorization/roleAssignments"
}
Verwenden Sie az role assignment update, um die Bedingung für die Rollenzuweisung zu aktualisieren.
az role assignment update --role-assignment "./path/roleassignment.json"
Im Folgenden sehen Sie ein Beispiel für die Ausgabe:
{
"canDelegate": null,
"condition": "((!(ActionMatches{'Microsoft.Storage/storageAccounts/blobServices/containers/blobs/read'})) OR (@Resource[Microsoft.Storage/storageAccounts/blobServices/containers:name] StringEquals 'blobs-example-container' OR @Resource[Microsoft.Storage/storageAccounts/blobServices/containers:name] StringEquals 'blobs-example-container2'))",
"conditionVersion": "2.0",
"description": "Read access if container name equals blobs-example-container or blobs-example-container2",
"id": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}/providers/Microsoft.Authorization/roleAssignments/{roleAssignmentId}",
"name": "{roleAssignmentId}",
"principalId": "{userObjectId}",
"principalType": "User",
"resourceGroup": "{resourceGroup}",
"roleDefinitionId": "/subscriptions/{subscriptionId}/providers/Microsoft.Authorization/roleDefinitions/2a2b9908-6ea1-4ae2-8e65-a410df84e7d1",
"scope": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroup}",
"type": "Microsoft.Authorization/roleAssignments"
}
Auflisten einer Bedingung
Verwenden Sie die Az-Rollenzuweisungsliste, um eine Rollenzuweisungsbedingung auflisten zu können. Weitere Informationen finden Sie unter Auflisten von Azure-Rollenzuweisungen mit Azure CLI.
Löschen einer Bedingung
Um eine Rollenzuweisungsbedingung zu löschen, bearbeiten Sie die Rollenzuweisungsbedingung und setzen Sie sowohl die condition- als auch die condition-version-Eigenschaften entweder auf eine leere Zeichenfolge ("") oder auf null.
Wenn Sie auch die Rollenzuweisung und die Bedingung löschen möchten, können Sie den Befehl " az role assignment delete " verwenden. Weitere Informationen finden Sie unter Entfernen von Azure-Rollenzuweisungen.