Nasazení zásady, které je možné napravit v rámci delegovaného předplatného
Azure Lighthouse umožňuje poskytovatelům služeb vytvářet a upravovat definice zásad v rámci delegovaného předplatného. Pokud chcete nasadit zásady, které používají úlohu nápravy (tj. zásady s efektem deployIfNotExists nebo upravit ), musíte vytvořit spravovanou identitu v tenantovi zákazníka. Tuto spravovanou identitu může Azure Policy použít k nasazení šablony v rámci zásad. Tento článek popisuje kroky potřebné k povolení tohoto scénáře, a to jak při nasazení zákazníka pro Azure Lighthouse, tak při nasazení samotné zásady.
Tip
Přestože v tomto tématu odkazujeme na poskytovatele služeb a zákazníky, podniky spravující více tenantů můžou používat stejné procesy.
Vytvoření uživatele, který může přiřadit role spravované identitě v tenantovi zákazníka
Když připojíte zákazníka ke službě Azure Lighthouse, definujete autorizace, které udělují přístup k delegovaným prostředkům v tenantovi zákazníka. Každá autorizace určuje id objektu zabezpečení, který odpovídá uživateli, skupině nebo instančnímu objektu Microsoftu ve správě tenanta, a id roleDefinitionId , která odpovídá předdefinované roli Azure, která se udělí.
Pokud chcete objektu zabezpečení povolit přiřazení rolí spravované identitě v tenantovi zákazníka, musíte jeho roliDefinitionId nastavit na správce uživatelských přístupů. I když tato role není obecně podporovaná pro Azure Lighthouse, můžete ji použít v tomto konkrétním scénáři. Udělení této role tomuto id objektu zabezpečení umožňuje přiřadit ke spravovaným identitám konkrétní předdefinované role. Tyto role jsou definovány v delegované vlastnostiRoleDefinitionIds a mohou zahrnovat jakoukoli podporovanou předdefinovanou roli Azure s výjimkou správce uživatelských přístupů nebo vlastníka.
Po nasazení zákazníka bude id objektu zabezpečení vytvořeného v této autorizaci moct přiřadit tyto předdefinované role spravovaným identitám v tenantovi zákazníka. K roli Správce uživatelských přístupů se obvykle nepřidružuje žádná další oprávnění.
Poznámka:
Přiřazení rolí napříč tenanty se v současné době musí provádět prostřednictvím rozhraní API, ne na webu Azure Portal.
Tento příklad ukazuje principalId s rolí Správce uživatelských přístupů. Tento uživatel bude moct přiřadit dvě předdefinované role spravovaným identitám v tenantovi zákazníka: Přispěvatel a Přispěvatel Log Analytics.
{
"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"
]
}
Nasazení zásad, které je možné napravit
Po vytvoření uživatele s potřebnými oprávněními může tento uživatel nasadit zásady, které používají úlohy nápravy v rámci delegovaných zákaznických předplatných.
Řekněme například, že jste chtěli povolit diagnostiku prostředků služby Azure Key Vault v tenantovi zákazníka, jak je znázorněno v této ukázce. Uživatel ve správě tenanta s příslušnými oprávněními (jak je popsáno výše) nasadí šablonu Azure Resource Manageru pro povolení tohoto scénáře.
Vytvoření přiřazení zásad pro použití s delegovaným předplatným se v současné době musí provádět prostřednictvím rozhraní API, nikoli na webu Azure Portal. Pokud to uděláte, musí být vlastnost apiVersion nastavená na 2019-04-01-preview nebo novější, aby zahrnovala novou vlastnost delegatedManagedIdentityResourceId. Tato vlastnost umožňuje zahrnout spravovanou identitu, která se nachází v tenantovi zákazníka (v předplatném nebo skupině prostředků, která byla onboardována do Azure Lighthouse).
Následující příklad ukazuje přiřazení role s delegovanýManagedIdentityResourceId.
"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)]"
}
Tip
K dispozici je podobná ukázka , která ukazuje, jak nasadit zásadu, která přidá nebo odebere značku (pomocí efektu úpravy) do delegovaného předplatného.
Další kroky
- Přečtěte si o službě Azure Policy.
- Seznamte se se spravovanými identitami pro prostředky Azure.