Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Azure Lighthouse позволяет поставщикам служб создавать и изменять определения политик в делегированной подписке. Для развертывания политик, использующих задачу исправления (т. е. политики с эффектом deployIfNotExists или modify), в клиентском арендаторе необходимо создать управляемое удостоверение. Политика Azure может использовать это управляемое удостоверение для развертывания шаблона в рамках политики.
В этой статье описаны шаги по включению этого сценария, как при подключении клиента к Azure Lighthouse, так и при развертывании политики.
Совет
Хотя эта статья относится к поставщикам услуг и клиентам, предприятия, управляющие несколькими клиентами , могут использовать одни и те же процессы.
Создать пользователя, который может назначать роли идентификации в клиентском тенанте.
При подключении клиента к Azure Lighthouse вы определяете авторизации, которые предоставляют доступ к делегированным ресурсам в арендаторе клиента. Каждая авторизация указывает идентификатор принципала, соответствующий пользователю Microsoft Entra, группе или субъекту-службе в управляющем арендаторе, а также идентификаторОпределенияРоли, соответствующий встроенной роли Azure, которую вы назначаете.
Чтобы разрешить principalId назначать роли управляемому удостоверению в клиентском окружении, задайте для параметра roleDefinitionId значение "Администратор доступа пользователей". Хотя эта роль обычно не поддерживается для Azure Lighthouse, ее можно использовать в этом конкретном сценарии. Назначьте эту роль principalId, чтобы можно было назначать определенные встроенные роли управляемым удостоверениям. Эти роли определяются в свойстве delegatedRoleDefinitionIds . Вы можете включить любую встроенную роль Azure , за исключением администратора доступа пользователей или владельца.
После подключения клиента principalId, созданный в этой авторизации, может назначить эти встроенные роли управляемым удостоверениям в арендатории клиента. У него нет других разрешений, обычно связанных с ролью администратора доступа пользователей.
Примечание.
В настоящее время необходимо использовать API, а не портал Azure для создания назначений ролей в клиентах.
В этом примере показан principalId с ролью администратором доступа пользователей. Этот пользователь может назначить две встроенные роли управляемым удостоверениям в клиенте клиента: участник и участник 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"
]
}
Внедрите политики, поддающиеся исправлению
После того как вы создадите пользователя с необходимыми разрешениями, этот пользователь сможет развернуть политики, использующие задачи по исправлению в делегированных подписках клиента.
Например, предположим, что вы хотите включить диагностику ресурсов Azure Key Vault в клиентском tenantе, как показано в этом примере. Пользователь в клиенте управления с соответствующими разрешениями (как описано ранее) развертывает шаблон Azure Resource Manager , чтобы включить этот сценарий.
В настоящее время необходимо использовать API для создания назначения политики для использования с делегированной подпиской; Вы не можете использовать портал Azure. При создании назначения политики задайте для apiVersion значение 2019-04-01-preview или более поздней версии, чтобы включить свойство delegatedManagedIdentityResourceId. Это свойство позволяет включить управляемое удостоверение, находящееся в арендаторе клиента (в подписке или группе ресурсов, которые вы подключили к Azure Lighthouse).
В следующем примере показано назначение роли с 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)]"
}
Совет
Доступен аналогичный пример, демонстрирующий, как развернуть политику, которая добавляет или удаляет тег (используя эффект изменения) в делегированной подписке.
Следующие шаги
- Узнайте о Политиках Azure.
- Узнайте об управляемых удостоверениях для ресурсов Azure.