Beispiele zum Delegieren der Azure-Rollenzuweisungsverwaltung mit Bedingungen
Artikel
In diesem Artikel werden Beispiele für das Delegieren der Azure-Rollenzuweisungsverwaltung an andere Benutzer mit Bedingungen aufgeführt.
Voraussetzungen
Informationen zu den Voraussetzungen für das Hinzufügen oder Bearbeiten von Rollenzuweisungsbedingungen finden Sie unter Voraussetzungen für Bedingungen.
Beispiel: Einschränken von Rollen
Mit dieser Bedingung kann ein Delegat nur Rollenzuweisungen für die Rollen Backup Mitwirkender oder Backup Leser hinzufügen oder entfernen.
Sie müssen diese Bedingung allen Rollenzuweisungen für den Delegat hinzufügen, die die folgenden Aktionen enthalten.
Hier sind die Einstellungen zum Hinzufügen dieser Bedingung über das Azure-Portal und den Bedingungseditor.
Wenn Sie sowohl die Aktionen zum Hinzufügen als auch entfernen möchten, beachten Sie, dass Sie zwei Bedingungen hinzufügen müssen. Sie müssen zwei Bedingungen hinzufügen, da die Attributquelle für jede Aktion unterschiedlich ist. Wenn Sie versuchen, beide Aktionen in derselben Bedingung als Ziel festzulegen, können Sie keinen Ausdruck hinzufügen. Weitere Informationen finden Sie unter Symptom – Fehler, keine verfügbaren Optionen.
Beispiel: Einschränken von Rollen und Prinzipaltypen
Mit dieser Bedingung kann ein Delegat nur Rollenzuweisungen für die Rollen Backup Mitwirkender oder Backup Leser hinzufügen oder entfernen. Außerdem kann der Delegat diese Rollen nur Prinzipale des Typs "Benutzer" oder "Gruppe" zuweisen.
Sie müssen diese Bedingung allen Rollenzuweisungen für den Delegat hinzufügen, die die folgenden Aktionen enthalten.
Hier sind die Einstellungen zum Hinzufügen dieser Bedingung über das Azure-Portal und den Bedingungseditor.
Wenn Sie sowohl die Aktionen zum Hinzufügen als auch entfernen möchten, beachten Sie, dass Sie zwei Bedingungen hinzufügen müssen. Sie müssen zwei Bedingungen hinzufügen, da die Attributquelle für jede Aktion unterschiedlich ist. Wenn Sie versuchen, beide Aktionen in derselben Bedingung als Ziel festzulegen, können Sie keinen Ausdruck hinzufügen. Weitere Informationen finden Sie unter Symptom – Fehler, keine verfügbaren Optionen.
(
(
!(ActionMatches{'Microsoft.Authorization/roleAssignments/write'})
)
OR
(
@Request[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAnyValues:GuidEquals {5e467623-bb1f-42f4-a55d-6e525e11384b, a795c7a0-d4a2-40c1-ae25-d81f01202912}
AND
@Request[Microsoft.Authorization/roleAssignments:PrincipalType] ForAnyOfAnyValues:StringEqualsIgnoreCase {'User', 'Group'}
)
)
AND
(
(
!(ActionMatches{'Microsoft.Authorization/roleAssignments/delete'})
)
OR
(
@Resource[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAnyValues:GuidEquals {5e467623-bb1f-42f4-a55d-6e525e11384b, a795c7a0-d4a2-40c1-ae25-d81f01202912}
AND
@Resource[Microsoft.Authorization/roleAssignments:PrincipalType] ForAnyOfAnyValues:StringEqualsIgnoreCase {'User', 'Group'}
)
)
So fügen Sie diese Bedingung mithilfe von Azure PowerShell hinzu:
$roleDefinitionId = "f58310d9-a9f6-439a-9e8d-f62e7b41a168"
$principalId = "<principalId>"
$scope = "/subscriptions/<subscriptionId>"
$condition = "((!(ActionMatches{'Microsoft.Authorization/roleAssignments/write'})) OR (@Request[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAnyValues:GuidEquals {5e467623-bb1f-42f4-a55d-6e525e11384b, a795c7a0-d4a2-40c1-ae25-d81f01202912} AND @Request[Microsoft.Authorization/roleAssignments:PrincipalType] ForAnyOfAnyValues:StringEqualsIgnoreCase {'User', 'Group'})) AND ((!(ActionMatches{'Microsoft.Authorization/roleAssignments/delete'})) OR (@Resource[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAnyValues:GuidEquals {5e467623-bb1f-42f4-a55d-6e525e11384b, a795c7a0-d4a2-40c1-ae25-d81f01202912} AND @Resource[Microsoft.Authorization/roleAssignments:PrincipalType] ForAnyOfAnyValues:StringEqualsIgnoreCase {'User', 'Group'}))"
$conditionVersion = "2.0"
New-AzRoleAssignment -ObjectId $principalId -Scope $scope -RoleDefinitionId $roleDefinitionId -Condition $condition -ConditionVersion $conditionVersion
Beispiel: Einschränken von Rollen und bestimmten Gruppen
Mit dieser Bedingung kann ein Delegat nur Rollenzuweisungen für die Rollen Backup Mitwirkender oder Backup Leser hinzufügen oder entfernen. Außerdem kann der Delegat diese Rollen nur bestimmten Gruppen mit dem Namen Marketing (28c35fea-2099-4cf5-8ad9-473547bc9423) oder Sales (86951b8b-723a-407b-a74a-1bca3f0c95d0) zuweisen.
Sie müssen diese Bedingung allen Rollenzuweisungen für den Delegat hinzufügen, die die folgenden Aktionen enthalten.
Hier sind die Einstellungen zum Hinzufügen dieser Bedingung über das Azure-Portal und den Bedingungseditor.
Wenn Sie sowohl die Aktionen zum Hinzufügen als auch entfernen möchten, beachten Sie, dass Sie zwei Bedingungen hinzufügen müssen. Sie müssen zwei Bedingungen hinzufügen, da die Attributquelle für jede Aktion unterschiedlich ist. Wenn Sie versuchen, beide Aktionen in derselben Bedingung als Ziel festzulegen, können Sie keinen Ausdruck hinzufügen. Weitere Informationen finden Sie unter Symptom – Fehler, keine verfügbaren Optionen.
Diese Bedingung ist nützlich, wenn Sie zulassen möchten, dass eine Stellvertretung eine Anmelderolle eines virtuellen Computers selbst für einen virtuellen Computer zuweist, den sie gerade erstellt haben.
Sie müssen diese Bedingung allen Rollenzuweisungen für den Delegat hinzufügen, die die folgenden Aktionen enthalten.
Hier sind die Einstellungen zum Hinzufügen dieser Bedingung über das Azure-Portal und den Bedingungseditor.
Wenn Sie sowohl die Aktionen zum Hinzufügen als auch entfernen möchten, beachten Sie, dass Sie zwei Bedingungen hinzufügen müssen. Sie müssen zwei Bedingungen hinzufügen, da die Attributquelle für jede Aktion unterschiedlich ist. Wenn Sie versuchen, beide Aktionen in derselben Bedingung als Ziel festzulegen, können Sie keinen Ausdruck hinzufügen. Weitere Informationen finden Sie unter Symptom – Fehler, keine verfügbaren Optionen.
Diese Bedingung ist nützlich, wenn Sie zulassen möchten, dass ein Delegat Azure Kubernetes Service (AKS)-Clusterdatenebenenautorisierungsrollen sich selbst für einen soeben erstellten Cluster zuweisen kann.
Sie müssen diese Bedingung allen Rollenzuweisungen für den Delegat hinzufügen, die die folgenden Aktionen enthalten.
Hier sind die Einstellungen zum Hinzufügen dieser Bedingung über das Azure-Portal und den Bedingungseditor.
Wenn Sie sowohl die Aktionen zum Hinzufügen als auch entfernen möchten, beachten Sie, dass Sie zwei Bedingungen hinzufügen müssen. Sie müssen zwei Bedingungen hinzufügen, da die Attributquelle für jede Aktion unterschiedlich ist. Wenn Sie versuchen, beide Aktionen in derselben Bedingung als Ziel festzulegen, können Sie keinen Ausdruck hinzufügen. Weitere Informationen finden Sie unter Symptom – Fehler, keine verfügbaren Optionen.
(
(
!(ActionMatches{'Microsoft.Authorization/roleAssignments/write'})
)
OR
(
@Request[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAnyValues:GuidEquals {3498e952-d568-435e-9b2c-8d77e338d7f7, b1ff04bb-8a4e-4dc4-8eb5-8693973ce19b, 7f6c6a51-bcf8-42ba-9220-52d62157d7db, a7ffa36f-339b-4b5c-8bdf-e2c188b2c0eb}
AND
@Request[Microsoft.Authorization/roleAssignments:PrincipalId] ForAnyOfAnyValues:GuidEquals {ea585310-c95c-4a68-af22-49af4363bbb1}
)
)
AND
(
(
!(ActionMatches{'Microsoft.Authorization/roleAssignments/delete'})
)
OR
(
@Resource[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAnyValues:GuidEquals {3498e952-d568-435e-9b2c-8d77e338d7f7, b1ff04bb-8a4e-4dc4-8eb5-8693973ce19b, 7f6c6a51-bcf8-42ba-9220-52d62157d7db, a7ffa36f-339b-4b5c-8bdf-e2c188b2c0eb}
AND
@Resource[Microsoft.Authorization/roleAssignments:PrincipalId] ForAnyOfAnyValues:GuidEquals {ea585310-c95c-4a68-af22-49af4363bbb1}
)
)
So fügen Sie diese Bedingung mithilfe von Azure PowerShell hinzu:
$roleDefinitionId = "f58310d9-a9f6-439a-9e8d-f62e7b41a168"
$principalId = "<principalId>"
$scope = "/subscriptions/<subscriptionId>"
$condition = "((!(ActionMatches{'Microsoft.Authorization/roleAssignments/write'})) OR (@Request[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAnyValues:GuidEquals {3498e952-d568-435e-9b2c-8d77e338d7f7, b1ff04bb-8a4e-4dc4-8eb5-8693973ce19b, 7f6c6a51-bcf8-42ba-9220-52d62157d7db, a7ffa36f-339b-4b5c-8bdf-e2c188b2c0eb} AND @Request[Microsoft.Authorization/roleAssignments:PrincipalId] ForAnyOfAnyValues:GuidEquals {ea585310-c95c-4a68-af22-49af4363bbb1})) AND ((!(ActionMatches{'Microsoft.Authorization/roleAssignments/delete'})) OR (@Resource[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAnyValues:GuidEquals {3498e952-d568-435e-9b2c-8d77e338d7f7, b1ff04bb-8a4e-4dc4-8eb5-8693973ce19b, 7f6c6a51-bcf8-42ba-9220-52d62157d7db, a7ffa36f-339b-4b5c-8bdf-e2c188b2c0eb} AND @Resource[Microsoft.Authorization/roleAssignments:PrincipalId] ForAnyOfAnyValues:GuidEquals {ea585310-c95c-4a68-af22-49af4363bbb1}))"
$conditionVersion = "2.0"
New-AzRoleAssignment -ObjectId $principalId -Scope $scope -RoleDefinitionId $roleDefinitionId -Condition $condition -ConditionVersion $conditionVersion
Beispiel: Einschränken der ACR-Verwaltung
Mit dieser Bedingung kann ein Delegat nur Rollenzuweisungen für die AcrPull-Rolle hinzufügen oder entfernen. Außerdem kann der Delegat diese Rollen nur Prinzipale des Dienstprinzipals zuweisen.
Diese Bedingung ist nützlich, wenn Sie es einem Entwickler ermöglichen möchten, die AcrPull-Rolle einer verwalteten Identität selbst zuzuweisen, damit Bilder aus der Azure Container Registry (ACR) abgerufen werden können.
Sie müssen diese Bedingung allen Rollenzuweisungen für den Delegat hinzufügen, die die folgenden Aktionen enthalten.
Hier sind die Einstellungen zum Hinzufügen dieser Bedingung über das Azure-Portal und den Bedingungseditor.
Wenn Sie sowohl die Aktionen zum Hinzufügen als auch entfernen möchten, beachten Sie, dass Sie zwei Bedingungen hinzufügen müssen. Sie müssen zwei Bedingungen hinzufügen, da die Attributquelle für jede Aktion unterschiedlich ist. Wenn Sie versuchen, beide Aktionen in derselben Bedingung als Ziel festzulegen, können Sie keinen Ausdruck hinzufügen. Weitere Informationen finden Sie unter Symptom – Fehler, keine verfügbaren Optionen.
(
(
!(ActionMatches{'Microsoft.Authorization/roleAssignments/write'})
)
OR
(
@Request[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAnyValues:GuidEquals {7f951dda-4ed3-4680-a7ca-43fe172d538d}
AND
@Request[Microsoft.Authorization/roleAssignments:PrincipalType] ForAnyOfAnyValues:StringEqualsIgnoreCase {'ServicePrincipal'}
)
)
AND
(
(
!(ActionMatches{'Microsoft.Authorization/roleAssignments/delete'})
)
OR
(
@Resource[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAnyValues:GuidEquals {7f951dda-4ed3-4680-a7ca-43fe172d538d}
AND
@Resource[Microsoft.Authorization/roleAssignments:PrincipalType] ForAnyOfAnyValues:StringEqualsIgnoreCase {'ServicePrincipal'}
)
)
So fügen Sie diese Bedingung mithilfe von Azure PowerShell hinzu:
$roleDefinitionId = "f58310d9-a9f6-439a-9e8d-f62e7b41a168"
$principalId = "<principalId>"
$scope = "/subscriptions/<subscriptionId>"
$condition = "((!(ActionMatches{'Microsoft.Authorization/roleAssignments/write'})) OR (@Request[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAnyValues:GuidEquals {7f951dda-4ed3-4680-a7ca-43fe172d538d} AND @Request[Microsoft.Authorization/roleAssignments:PrincipalType] ForAnyOfAnyValues:StringEqualsIgnoreCase {'ServicePrincipal'})) AND ((!(ActionMatches{'Microsoft.Authorization/roleAssignments/delete'})) OR (@Resource[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAnyValues:GuidEquals {7f951dda-4ed3-4680-a7ca-43fe172d538d} AND @Resource[Microsoft.Authorization/roleAssignments:PrincipalType] ForAnyOfAnyValues:StringEqualsIgnoreCase {'ServicePrincipal'}))"
$conditionVersion = "2.0"
New-AzRoleAssignment -ObjectId $principalId -Scope $scope -RoleDefinitionId $roleDefinitionId -Condition $condition -ConditionVersion $conditionVersion
Beispiel: Einschränken des Hinzufügens von Rollenzuweisungen
Mit dieser Bedingung kann ein Delegat nur Rollenzuweisungen für die Rollen Backup Mitwirkender oder Backup Leser hinzufügen. Der Delegat kann alle Rollenzuweisungen entfernen.
Sie müssen diese Bedingung allen Rollenzuweisungen hinzufügen, die die folgende Aktion enthalten.
Diese Bedingung ist nützlich, wenn Sie zulassen möchten, dass eine Stellvertretung die meisten Rollen zuweist, aber nicht zulassen, dass andere Personen Rollen zuweisen können.
Hinweis
Diese Bedingung sollte mit Vorsicht verwendet werden. Wenn später eine neue integrierte oder benutzerdefinierte Rolle hinzugefügt wird, die die Berechtigung zum Erstellen von Rollenzuweisungen enthält, würde diese Bedingung nicht verhindern, dass der Delegat Rollen zuweist. Die Bedingung muss aktualisiert werden, um die neue integrierte oder benutzerdefinierte Rolle einzuschließen.
Sie müssen diese Bedingung allen Rollenzuweisungen für den Delegat hinzufügen, die die folgenden Aktionen enthalten.
Hier sind die Einstellungen zum Hinzufügen dieser Bedingung über das Azure-Portal und den Bedingungseditor.
Wenn Sie sowohl die Aktionen zum Hinzufügen als auch entfernen möchten, beachten Sie, dass Sie zwei Bedingungen hinzufügen müssen. Sie müssen zwei Bedingungen hinzufügen, da die Attributquelle für jede Aktion unterschiedlich ist. Wenn Sie versuchen, beide Aktionen in derselben Bedingung als Ziel festzulegen, können Sie keinen Ausdruck hinzufügen. Weitere Informationen finden Sie unter Symptom – Fehler, keine verfügbaren Optionen.