Bereitstellen einer Richtlinie, die innerhalb eines delegierten Abonnements gewartet werden kann
Mit Azure Lighthouse können Dienstanbieter Richtliniendefinitionen innerhalb eines delegierten Abonnements erstellen und bearbeiten. Wenn Sie Richtlinien mit einem Wartungstask (also Richtlinien mit deployIfNotExists- oder modify-Effekt) bereitstellen möchten, müssen Sie eine verwaltete Identität im Kundenmandanten erstellen. Diese verwaltete Identität kann von Azure Policy verwendet werden, um die Vorlage innerhalb der Richtlinie bereitzustellen. In diesem Artikel werden die Schritte beschrieben, die für dieses Szenario erforderlich sind – sowohl beim Onboarding des Kunden für Azure Lighthouse als auch bei der Bereitstellung der eigentlichen Richtlinie.
Tipp
Zwar beziehen wir uns in diesem Thema auf Dienstanbieter und Kunden, doch können Unternehmen, die mehrere Mandanten verwalten, denselben Prozess verwenden.
Erstellen eines Benutzers, der einer verwalteten Identität im Kundenmandanten Rollen zuweisen kann
Beim Onboarding eines Kunden in Azure Lighthouse definieren Sie Autorisierungen, mit denen der Zugriff auf delegierte Ressourcen im Kundenmandanten erteilt wird. Bei jeder Autorisierung wird eine principalId angegeben, die einem Benutzer, einer Gruppe oder einem Dienstprinzipal von Microsoft Entra auf dem verwaltenden Mandanten entspricht, sowie eine roleDefinitionId für die integrierte Azure-Rolle angegeben, die gewährt wird.
Damit es einer principalId möglich ist, einer verwalteten Identität im Kundenmandanten Rollen zuzuweisen, müssen Sie deren roleDefinitionId auf Benutzerzugriffsadministrator festlegen. Diese Rolle wird zwar für Azure Lighthouse im Allgemeinen nicht unterstützt, in diesem spezifischen Szenario kann sie aber verwendet werden. Das Erteilen dieser Rolle für diese principalId ermöglicht es, verwalteten Identitäten bestimmte integrierte Rollen zuzuweisen. Diese Rollen sind in der Eigenschaft delegatedRoleDefinitionIds definiert und können eine beliebige unterstützte integrierte Azure-Rolle enthalten (mit Ausnahme von „Benutzerzugriffsadministrator“ und „Besitzer“).
Nach Abschluss des Kunden-Onboardings kann die in dieser Autorisierung erstellte Prinzipal-ID (principalId) verwalteten Identitäten im Kundenmandanten diese integrierten Rollen zuweisen. Sie besitzt keine der weiteren Berechtigungen, die normalerweise der Rolle „Benutzerzugriffsadministrator“ zugeordnet sind.
Hinweis
Rollenzuweisungen zwischen Mandanten müssen derzeit über APIs erfolgen und nicht im Azure-Portal.
Dieses Beispiel zeigt eine principalId mit der Rolle „Benutzerzugriffsadministrator“. Dieser Benutzer kann verwalteten Identitäten im Kundenmandanten zwei integrierte Rollen zuweisen: „Mitwirkender“ und „Log Analytics-Mitwirkender“.
{
"principalId": "00000000-0000-0000-0000-000000000000",
"principalIdDisplayName": "Policy Automation Account",
"roleDefinitionId": "18d7d88d-d35e-4fb5-a5c3-7773c20a72d9",
"delegatedRoleDefinitionIds": [
"b24988ac-6180-42a0-ab88-20f7382dd24c",
"92aaf0da-9dab-42b6-94a3-d43ce8d16293"
]
}
Bereitstellen von Richtlinien, die gewartet werden können
Nachdem Sie den Benutzer mit den erforderlichen Berechtigungen erstellt haben, kann dieser Benutzer Richtlinien mit Wartungsaufgaben innerhalb delegierter Kundenabonnements bereitstellen.
Nehmen wir beispielsweise an, Sie möchten Diagnosen für Azure Key Vault-Ressourcen im Kundenmandanten aktivieren, wie in diesem Beispiel veranschaulicht. In diesem Fall würde ein Benutzer im Verwaltungsmandanten mit entsprechenden Berechtigungen (wie oben beschrieben) eine Azure Resource Manager-Vorlage bereitstellen.
Die Richtlinienzuweisung zur Verwendung mit einem delegierten Abonnement muss aktuell über APIs erstellt werden, nicht über das Azure-Portal. Dabei muss die apiVersion auf 2019-04-01-preview oder höher festgelegt werden, die die neue Eigenschaft delegatedManagedIdentityResourceId enthält. Diese Eigenschaft ermöglicht es Ihnen, eine verwaltete Identität einzufügen, die sich im Kundenmandanten befindet (in einem Abonnement oder in einer Ressourcengruppe, das bzw. die mittels Onboarding in Azure Lighthouse integriert wurde).
Das folgende Beispiel zeigt eine Rollenzuweisung mit delegatedManagedIdentityResourceId:
"type": "Microsoft.Authorization/roleAssignments",
"apiVersion": "2019-04-01-preview",
"name": "[parameters('rbacGuid')]",
"dependsOn": [
"[variables('policyAssignment')]"
],
"properties": {
"roleDefinitionId": "[concat(subscription().id, '/providers/Microsoft.Authorization/roleDefinitions/', variables('rbacContributor'))]",
"principalType": "ServicePrincipal",
"delegatedManagedIdentityResourceId": "[concat(subscription().id, '/providers/Microsoft.Authorization/policyAssignments/', variables('policyAssignment'))]",
"principalId": "[toLower(reference(concat('/providers/Microsoft.Authorization/policyAssignments/', variables('policyAssignment')), '2018-05-01', 'Full' ).identity.principalId)]"
}
Tipp
In einem ähnlichen Beispiel wird gezeigt, wie eine Richtlinie zugewiesen wird, die unter Verwendung des modify-Effekts einem delegierten Abonnement ein Tag hinzufügt oder ein Tag daraus entfernt.
Nächste Schritte
- Informieren Sie sich über Azure Policy.
- Informieren Sie sich über verwaltete Identitäten für Azure-Ressourcen.