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 adição e remoção de atribuição de função, 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 será possível adicionar uma expressão. Para obter mais informações, veja Sintoma - Erro sem opções disponíveis.
Esta condição permite que um delegado adicione ou remova apenas atribuições de função para as funções 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 quaisquer atribuições de função para o delegado que incluam as ações a seguir.
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 adição e remoção de atribuição de função, 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 será possível adicionar uma expressão. Para obter mais informações, veja 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
Esta condição permite que um delegado adicione ou remova apenas atribuições de função para as funções Colaborador de Backup ou Leitor de Backup. Além disso, o delegado só pode atribuir essas funções a grupos específicos denominados Marketing (28c35fea-2099-4cf5-8ad9-473547bc9423) ou Vendas (86951b8b-723a-407b-a74a-1bca3f0c95d0).
Você deve adicionar essa condição a quaisquer atribuições de função para o delegado que incluam as ações a seguir.
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 adição e remoção de atribuição de função, 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 será possível adicionar uma expressão. Para obter mais informações, veja 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 a si mesmo uma função de login de máquina virtual para uma máquina virtual que acabou de criar.
Você deve adicionar essa condição a quaisquer atribuições de função para o delegado que incluam as ações a seguir.
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 adição e remoção de atribuição de função, 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 será possível adicionar uma expressão. Para obter mais informações, veja Sintoma - Erro sem opções disponíveis.
Essa condição é útil quando pretende permitir que um delegado atribua funções de autorização de plano de dados de cluster do Azure Kubernetes Service (AKS) a si próprio para um cluster que acabou de criar.
Você deve adicionar essa condição a quaisquer atribuições de função para o delegado que incluam as ações a seguir.
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 adição e remoção de atribuição de função, 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 será possível adicionar uma expressão. Para obter mais informações, veja 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 do 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 pretende permitir que um desenvolvedor atribua a função AcrPull a uma identidade gerida para que possa extrair imagens do Registo de Contêiner do Azure (ACR).
Você deve adicionar essa condição a quaisquer atribuições de função para o delegado que incluam as ações a seguir.
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 adição e remoção de atribuição de função, 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 será possível adicionar uma expressão. Para obter mais informações, veja 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 quaisquer 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.
Observação
Essa condição deve ser usada com cautela. Se uma nova função interna ou personalizada for adicionada posteriormente e 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 quaisquer atribuições de função para o delegado que incluam as ações a seguir.
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 adição e remoção de atribuição de função, 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 será possível adicionar uma expressão. Para obter mais informações, veja Sintoma - Erro sem opções disponíveis.