Aqui estão as configurações para adicionar essa condição usando o portal do Azure e o editor de condições.
Para direcionar as ações de atribuição de função adicionar e remover, observe que você deve adicionar duas condições. Você deve adicionar duas condições porque a origem do atributo é diferente para cada ação. Se você tentar direcionar ambas as ações na mesma condição, não poderá adicionar uma expressão. Para obter mais informações, consulte Sintoma - Erro sem opções disponíveis.
Essa condição permite que um delegado adicione ou remova apenas atribuições de função para as funções de Colaborador de Backup ou Leitor de Backup . Além disso, o delegado só pode atribuir essas funções a entidades do tipo usuário ou grupo.
Você deve adicionar essa condição a todas as atribuições de função para o delegado que incluam as seguintes ações.
Aqui estão as configurações para adicionar essa condição usando o portal do Azure e o editor de condições.
Para direcionar as ações de atribuição de função adicionar e remover, observe que você deve adicionar duas condições. Você deve adicionar duas condições porque a origem do atributo é diferente para cada ação. Se você tentar direcionar ambas as ações na mesma condição, não poderá adicionar uma expressão. Para obter mais informações, consulte Sintoma - Erro sem opções disponíveis.
(
(
!(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'}
)
)
Veja como adicionar essa condição usando o Azure PowerShell.
$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
Exemplo: restringir funções e grupos específicos
Essa condição permite que um delegado adicione ou remova apenas atribuições de função para as funções de Colaborador de Backup ou Leitor de Backup . Além disso, o delegado só pode atribuir essas funções a grupos específicos chamados Marketing (28c35fea-2099-4cf5-8ad9-473547bc9423) ou Sales (86951b8b-723a-407b-a74a-1bca3f0c95d0).
Você deve adicionar essa condição a todas as atribuições de função para o delegado que incluam as seguintes ações.
Aqui estão as configurações para adicionar essa condição usando o portal do Azure e o editor de condições.
Para direcionar as ações de atribuição de função adicionar e remover, observe que você deve adicionar duas condições. Você deve adicionar duas condições porque a origem do atributo é diferente para cada ação. Se você tentar direcionar ambas as ações na mesma condição, não poderá adicionar uma expressão. Para obter mais informações, consulte Sintoma - Erro sem opções disponíveis.
(
(
!(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:PrincipalId] ForAnyOfAnyValues:GuidEquals {28c35fea-2099-4cf5-8ad9-473547bc9423, 86951b8b-723a-407b-a74a-1bca3f0c95d0}
)
)
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:PrincipalId] ForAnyOfAnyValues:GuidEquals {28c35fea-2099-4cf5-8ad9-473547bc9423, 86951b8b-723a-407b-a74a-1bca3f0c95d0}
)
)
Veja como adicionar essa condição usando o Azure PowerShell.
$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:PrincipalId] ForAnyOfAnyValues:GuidEquals {28c35fea-2099-4cf5-8ad9-473547bc9423, 86951b8b-723a-407b-a74a-1bca3f0c95d0})) 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:PrincipalId] ForAnyOfAnyValues:GuidEquals {28c35fea-2099-4cf5-8ad9-473547bc9423, 86951b8b-723a-407b-a74a-1bca3f0c95d0}))"
$conditionVersion = "2.0"
New-AzRoleAssignment -ObjectId $principalId -Scope $scope -RoleDefinitionId $roleDefinitionId -Condition $condition -ConditionVersion $conditionVersion
Exemplo: restringir o gerenciamento de máquinas virtuais
Essa condição permite que um delegado adicione ou remova apenas atribuições de função para as funções Login de Administrador de Máquina Virtual ou Login de Usuário de Máquina Virtual. Além disso, o delegado só pode atribuir essas funções a um usuário específico chamado Dara (ea585310-c95c-4a68-af22-49af4363bbb1).
Essa condição é útil quando você deseja permitir que um delegado atribua uma função de logon de máquina virtual a si mesmo para uma máquina virtual que acabou de criar.
Você deve adicionar essa condição a todas as atribuições de função para o delegado que incluam as seguintes ações.
Aqui estão as configurações para adicionar essa condição usando o portal do Azure e o editor de condições.
Para direcionar as ações de atribuição de função adicionar e remover, observe que você deve adicionar duas condições. Você deve adicionar duas condições porque a origem do atributo é diferente para cada ação. Se você tentar direcionar ambas as ações na mesma condição, não poderá adicionar uma expressão. Para obter mais informações, consulte Sintoma - Erro sem opções disponíveis.
(
(
!(ActionMatches{'Microsoft.Authorization/roleAssignments/write'})
)
OR
(
@Request[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAnyValues:GuidEquals {1c0163c0-47e6-4577-8991-ea5c82e286e4, fb879df8-f326-4884-b1cf-06f3ad86be52}
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 {1c0163c0-47e6-4577-8991-ea5c82e286e4, fb879df8-f326-4884-b1cf-06f3ad86be52}
AND
@Resource[Microsoft.Authorization/roleAssignments:PrincipalId] ForAnyOfAnyValues:GuidEquals {ea585310-c95c-4a68-af22-49af4363bbb1}
)
)
Veja como adicionar essa condição usando o Azure PowerShell.
$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 {1c0163c0-47e6-4577-8991-ea5c82e286e4, fb879df8-f326-4884-b1cf-06f3ad86be52} 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 {1c0163c0-47e6-4577-8991-ea5c82e286e4, fb879df8-f326-4884-b1cf-06f3ad86be52} 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
Exemplo: Restringir a gestão de clusters AKS
Essa condição permite que um delegado adicione ou remova apenas atribuições de função para as funções Administrador RBAC do Serviço Kubernetes do Azure, Administração de Cluster RBAC do Serviço Kubernetes do Azure, Leitor RBAC do Serviço Kubernetes do Azure ou Gravador RBAC do Serviço Kubernetes do Azure. Além disso, o delegado só pode atribuir essas funções a um usuário específico chamado Dara (ea585310-c95c-4a68-af22-49af4363bbb1).
Essa condição é útil quando você deseja permitir que um delegado atribua funções de autorização de plano de dados de cluster do Serviço Kubernetes do Azure (AKS) a si mesmo para um cluster que acabou de criar.
Você deve adicionar essa condição a todas as atribuições de função para o delegado que incluam as seguintes ações.
Aqui estão as configurações para adicionar essa condição usando o portal do Azure e o editor de condições.
Para direcionar as ações de atribuição de função adicionar e remover, observe que você deve adicionar duas condições. Você deve adicionar duas condições porque a origem do atributo é diferente para cada ação. Se você tentar direcionar ambas as ações na mesma condição, não poderá adicionar uma expressão. Para obter mais informações, consulte Sintoma - Erro sem opções disponíveis.
(
(
!(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}
)
)
Veja como adicionar essa condição usando o Azure PowerShell.
$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
Exemplo: Restringir o gerenciamento de ACR
Essa condição permite que um delegado adicione ou remova apenas atribuições de função para a função AcrPull . Além disso, o delegado só pode atribuir essas funções a entidades do tipo entidade de serviço.
Essa condição é útil quando você deseja permitir que um desenvolvedor atribua a função AcrPull a uma identidade gerenciada para que ele possa extrair imagens do Registro de Contêiner do Azure (ACR).
Você deve adicionar essa condição a todas as atribuições de função para o delegado que incluam as seguintes ações.
Aqui estão as configurações para adicionar essa condição usando o portal do Azure e o editor de condições.
Para direcionar as ações de atribuição de função adicionar e remover, observe que você deve adicionar duas condições. Você deve adicionar duas condições porque a origem do atributo é diferente para cada ação. Se você tentar direcionar ambas as ações na mesma condição, não poderá adicionar uma expressão. Para obter mais informações, consulte Sintoma - Erro sem opções disponíveis.
(
(
!(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'}
)
)
Veja como adicionar essa condição usando o Azure PowerShell.
$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
Exemplo: restringir a adição de atribuições de função
Essa condição permite que um delegado adicione apenas atribuições de função para as funções de Colaborador de Backup ou Leitor de Backup . O delegado pode remover quaisquer atribuições de função.
Você deve adicionar essa condição a todas as atribuições de função para o delegado que incluam a ação a seguir.
Essa condição é útil quando você deseja permitir que um delegado atribua a maioria das funções, mas não permite que o delegado permita que outros atribuam funções.
Nota
Esta condição deve ser utilizada com precaução. Se uma nova função interna ou personalizada for adicionada posteriormente que inclua a permissão para criar atribuições de função, essa condição não impedirá o delegado de atribuir funções. A condição teria que ser atualizada para incluir a nova função interna ou personalizada.
Você deve adicionar essa condição a todas as atribuições de função para o delegado que incluam as seguintes ações.
Aqui estão as configurações para adicionar essa condição usando o portal do Azure e o editor de condições.
Para direcionar as ações de atribuição de função adicionar e remover, observe que você deve adicionar duas condições. Você deve adicionar duas condições porque a origem do atributo é diferente para cada ação. Se você tentar direcionar ambas as ações na mesma condição, não poderá adicionar uma expressão. Para obter mais informações, consulte Sintoma - Erro sem opções disponíveis.