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 instančnímu id přiřadit role spravované identitě v tenantovi zákazníka, musíte jeho roleDefinitionId nastavit na user Access Správa istrator. 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 definované ve vlastnosti delegatedRoleDefinitionIds a můžou zahrnovat libovolnou podporovanou předdefinovanou roli Azure s výjimkou role User Access Správa istrator nebo Owner.

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. Nebudou mít žádná další oprávnění, která jsou obvykle přidružena k roli Uživatelský přístup Správa istrator.

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.

Následující příklad ukazuje id objektu zabezpečení, který bude mít roli User Access Správa istrator. 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": "3kl47fff-5655-4779-b726-2cf02b05c7c4",
    "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

Jakmile vytvoříte uživatele s potřebnými oprávněními, jak je popsáno výše, 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