Questo articolo elenca esempi di come delegare la gestione delle assegnazioni di ruolo di Azure ad altri utenti con condizioni.
Prerequisiti
Per informazioni sui prerequisiti per aggiungere o modificare condizioni di assegnazione di ruolo, vedere Prerequisiti delle condizioni.
Esempio: Vincolare i ruoli
Questa condizione consente a un delegato di aggiungere o rimuovere solo le assegnazioni di ruolo per i ruoli Collaboratore backup o Lettore di backup.
È necessario aggiungere questa condizione a tutte le assegnazioni di ruolo per il delegato che includono le azioni seguenti.
Microsoft.Authorization/roleAssignments/write
Microsoft.Authorization/roleAssignments/delete
Ecco le impostazioni per aggiungere questa condizione usando il portale di Azure e un modello di condizione.
Ecco le impostazioni per aggiungere questa condizione usando il portale di Azure e l'editor di condizioni.
Per impostare come destinazione le azioni di aggiunta e rimozione dell'assegnazione di ruolo, si noti che è necessario aggiungere due condizioni. È necessario aggiungere due condizioni perché l'origine dell'attributo è diversa per ogni azione. Se si tenta di impostare come destinazione entrambe le azioni nella stessa condizione, non sarà possibile aggiungere un'espressione. Per altre informazioni, vedere Sintomo - Nessuna opzione disponibile.
(
(
!(ActionMatches{'Microsoft.Authorization/roleAssignments/write'})
)
OR
(
@Request[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAnyValues:GuidEquals {5e467623-bb1f-42f4-a55d-6e525e11384b, a795c7a0-d4a2-40c1-ae25-d81f01202912}
)
)
AND
(
(
!(ActionMatches{'Microsoft.Authorization/roleAssignments/delete'})
)
OR
(
@Resource[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAnyValues:GuidEquals {5e467623-bb1f-42f4-a55d-6e525e11384b, a795c7a0-d4a2-40c1-ae25-d81f01202912}
)
)
Ecco come aggiungere questa condizione usando 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 ((!(ActionMatches{'Microsoft.Authorization/roleAssignments/delete'})) OR (@Resource[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAnyValues:GuidEquals {5e467623-bb1f-42f4-a55d-6e525e11384b, a795c7a0-d4a2-40c1-ae25-d81f01202912}))"
$conditionVersion = "2.0"
New-AzRoleAssignment -ObjectId $principalId -Scope $scope -RoleDefinitionId $roleDefinitionId -Condition $condition -ConditionVersion $conditionVersion
Esempio: Vincolare ruoli e tipi di entità
Questa condizione consente a un delegato di aggiungere o rimuovere solo le assegnazioni di ruolo per i ruoli Collaboratore backup o Lettore di backup. Inoltre, il delegato può assegnare questi ruoli solo alle entità di tipo utente o gruppo.
È necessario aggiungere questa condizione a tutte le assegnazioni di ruolo per il delegato che includono le azioni seguenti.
Microsoft.Authorization/roleAssignments/write
Microsoft.Authorization/roleAssignments/delete
Ecco le impostazioni per aggiungere questa condizione usando il portale di Azure e un modello di condizione.
Ecco le impostazioni per aggiungere questa condizione usando il portale di Azure e l'editor di condizioni.
Per impostare come destinazione le azioni di aggiunta e rimozione dell'assegnazione di ruolo, si noti che è necessario aggiungere due condizioni. È necessario aggiungere due condizioni perché l'origine dell'attributo è diversa per ogni azione. Se si tenta di impostare come destinazione entrambe le azioni nella stessa condizione, non sarà possibile aggiungere un'espressione. Per altre informazioni, vedere Sintomo - Nessuna opzione disponibile.
(
(
!(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'}
)
)
Ecco come aggiungere questa condizione usando 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
Esempio: Vincolare ruoli e gruppi specifici
Questa condizione consente a un delegato di aggiungere o rimuovere solo le assegnazioni di ruolo per i ruoli Collaboratore backup o Lettore di backup. Inoltre, il delegato può assegnare questi ruoli solo a gruppi specifici denominati Marketing (28c35fea-2099-4cf5-8ad9-473547bc9423) o Sales (86951b8b-723a-407b-a74a-1bca3f0c95d0).
È necessario aggiungere questa condizione a tutte le assegnazioni di ruolo per il delegato che includono le azioni seguenti.
Microsoft.Authorization/roleAssignments/write
Microsoft.Authorization/roleAssignments/delete
Ecco le impostazioni per aggiungere questa condizione usando il portale di Azure e un modello di condizione.
Ecco le impostazioni per aggiungere questa condizione usando il portale di Azure e l'editor di condizioni.
Per impostare come destinazione le azioni di aggiunta e rimozione dell'assegnazione di ruolo, si noti che è necessario aggiungere due condizioni. È necessario aggiungere due condizioni perché l'origine dell'attributo è diversa per ogni azione. Se si tenta di impostare come destinazione entrambe le azioni nella stessa condizione, non sarà possibile aggiungere un'espressione. Per altre informazioni, vedere Sintomo - Nessuna opzione disponibile.
(
(
!(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}
)
)
Ecco come aggiungere questa condizione usando 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
Esempio: Vincolare la gestione delle macchine virtuali
Questa condizione consente a un delegato di aggiungere o rimuovere solo le assegnazioni di ruolo per i ruoli di accesso della macchina virtuale Amministrazione istrator o dell'account di accesso utente della macchina virtuale. Inoltre, il delegato può assegnare questi ruoli solo a un utente specifico denominato Dara (ea585310-c95c-4a68-af22-49af4363bbb1).
Questa condizione è utile quando si vuole consentire a un delegato di assegnare a se stesso un ruolo di accesso della macchina virtuale per una macchina virtuale appena creata.
È necessario aggiungere questa condizione a tutte le assegnazioni di ruolo per il delegato che includono le azioni seguenti.
Microsoft.Authorization/roleAssignments/write
Microsoft.Authorization/roleAssignments/delete
Ecco le impostazioni per aggiungere questa condizione usando il portale di Azure e un modello di condizione.
Ecco le impostazioni per aggiungere questa condizione usando il portale di Azure e l'editor di condizioni.
Per impostare come destinazione le azioni di aggiunta e rimozione dell'assegnazione di ruolo, si noti che è necessario aggiungere due condizioni. È necessario aggiungere due condizioni perché l'origine dell'attributo è diversa per ogni azione. Se si tenta di impostare come destinazione entrambe le azioni nella stessa condizione, non sarà possibile aggiungere un'espressione. Per altre informazioni, vedere Sintomo - Nessuna opzione disponibile.
(
(
!(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}
)
)
Ecco come aggiungere questa condizione usando 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
Esempio: Vincolare la gestione del cluster del servizio Azure Kubernetes
Questa condizione consente a un delegato di aggiungere o rimuovere solo le assegnazioni di ruolo per il Amministrazione controllo degli accessi in base al ruolo servizio Azure Kubernetes, servizio Azure Kubernetes Amministrazione del cluster controllo degli accessi in base al ruolo, servizio Azure Kubernetes ruolo Lettore controllo degli accessi in base al ruolo o servizio Azure Kubernetes ruolo writer controllo degli accessi in base al ruolo. Inoltre, il delegato può assegnare questi ruoli solo a un utente specifico denominato Dara (ea585310-c95c-4a68-af22-49af4363bbb1).
Questa condizione è utile quando si vuole consentire a un delegato di assegnare ruoli di autorizzazione del piano dati del cluster servizio Azure Kubernetes (servizio Azure Kubernetes) a se stessi per un cluster appena creato.
È necessario aggiungere questa condizione a tutte le assegnazioni di ruolo per il delegato che includono le azioni seguenti.
Microsoft.Authorization/roleAssignments/write
Microsoft.Authorization/roleAssignments/delete
Ecco le impostazioni per aggiungere questa condizione usando il portale di Azure e un modello di condizione.
Ecco le impostazioni per aggiungere questa condizione usando il portale di Azure e l'editor di condizioni.
Per impostare come destinazione le azioni di aggiunta e rimozione dell'assegnazione di ruolo, si noti che è necessario aggiungere due condizioni. È necessario aggiungere due condizioni perché l'origine dell'attributo è diversa per ogni azione. Se si tenta di impostare come destinazione entrambe le azioni nella stessa condizione, non sarà possibile aggiungere un'espressione. Per altre informazioni, vedere Sintomo - Nessuna opzione disponibile.
(
(
!(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}
)
)
Ecco come aggiungere questa condizione usando 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
Esempio: Vincolare la gestione del Registro Azure Container
Questa condizione consente a un delegato di aggiungere o rimuovere solo le assegnazioni di ruolo per il ruolo AcrPull . Inoltre, il delegato può assegnare questi ruoli solo alle entità di tipo entità servizio.
Questa condizione è utile quando si vuole consentire a uno sviluppatore di assegnare il ruolo AcrPull a un'identità gestita in modo che possa eseguire il pull delle immagini dal Registro Azure Container (Registro Azure Container).
È necessario aggiungere questa condizione a tutte le assegnazioni di ruolo per il delegato che includono le azioni seguenti.
Microsoft.Authorization/roleAssignments/write
Microsoft.Authorization/roleAssignments/delete
Ecco le impostazioni per aggiungere questa condizione usando il portale di Azure e un modello di condizione.
| Condizione |
Impostazione |
| Template |
Vincolare ruoli e tipi di entità |
| Ruoli |
AcrPull |
| Tipi di entità |
Entità servizio |
Ecco le impostazioni per aggiungere questa condizione usando il portale di Azure e l'editor di condizioni.
Per impostare come destinazione le azioni di aggiunta e rimozione dell'assegnazione di ruolo, si noti che è necessario aggiungere due condizioni. È necessario aggiungere due condizioni perché l'origine dell'attributo è diversa per ogni azione. Se si tenta di impostare come destinazione entrambe le azioni nella stessa condizione, non sarà possibile aggiungere un'espressione. Per altre informazioni, vedere Sintomo - Nessuna opzione disponibile.
(
(
!(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'}
)
)
Ecco come aggiungere questa condizione usando 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
Esempio: Vincolare l'aggiunta di assegnazioni di ruolo
Questa condizione consente a un delegato di aggiungere solo assegnazioni di ruolo per i ruoli Collaboratore backup o Lettore di backup. Il delegato può rimuovere qualsiasi assegnazione di ruolo.
È necessario aggiungere questa condizione a tutte le assegnazioni di ruolo per il delegato che includono l'azione seguente.
Microsoft.Authorization/roleAssignments/write
Ecco le impostazioni per aggiungere questa condizione usando il portale di Azure e l'editor di condizioni.
(
(
!(ActionMatches{'Microsoft.Authorization/roleAssignments/write'})
)
OR
(
@Request[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAnyValues:GuidEquals {5e467623-bb1f-42f4-a55d-6e525e11384b, a795c7a0-d4a2-40c1-ae25-d81f01202912}
)
)
Ecco come aggiungere questa condizione usando 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}))"
$conditionVersion = "2.0"
New-AzRoleAssignment -ObjectId $principalId -Scope $scope -RoleDefinitionId $roleDefinitionId -Condition $condition -ConditionVersion $conditionVersion
Esempio: consentire la maggior parte dei ruoli, ma non consentire ad altri di assegnare ruoli
Questa condizione consente a un delegato di aggiungere o rimuovere assegnazioni di ruolo per tutti i ruoli, ad eccezione del proprietario, del Controllo di accesso Amministrazione istrator basato su ruoli e di accesso utenti Amministrazione istrator.
Questa condizione è utile quando si vuole consentire a un delegato di assegnare la maggior parte dei ruoli, ma non consentire al delegato di assegnare ruoli ad altri utenti.
Nota
Questa condizione deve essere usata con cautela. Se in un secondo momento viene aggiunto un nuovo ruolo predefinito o personalizzato che include l'autorizzazione per creare assegnazioni di ruolo, questa condizione non impedisce al delegato di assegnare ruoli. La condizione deve essere aggiornata per includere il nuovo ruolo predefinito o personalizzato.
È necessario aggiungere questa condizione a tutte le assegnazioni di ruolo per il delegato che includono le azioni seguenti.
Microsoft.Authorization/roleAssignments/write
Microsoft.Authorization/roleAssignments/delete
Ecco le impostazioni per aggiungere questa condizione usando il portale di Azure e un modello di condizione.
Ecco le impostazioni per aggiungere questa condizione usando il portale di Azure e l'editor di condizioni.
Per impostare come destinazione le azioni di aggiunta e rimozione dell'assegnazione di ruolo, si noti che è necessario aggiungere due condizioni. È necessario aggiungere due condizioni perché l'origine dell'attributo è diversa per ogni azione. Se si tenta di impostare come destinazione entrambe le azioni nella stessa condizione, non sarà possibile aggiungere un'espressione. Per altre informazioni, vedere Sintomo - Nessuna opzione disponibile.
(
(
!(ActionMatches{'Microsoft.Authorization/roleAssignments/write'})
)
OR
(
@Request[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAllValues:GuidNotEquals {8e3af657-a8ff-443c-a75c-2fe8c4bcb635, f58310d9-a9f6-439a-9e8d-f62e7b41a168, 18d7d88d-d35e-4fb5-a5c3-7773c20a72d9}
)
)
AND
(
(
!(ActionMatches{'Microsoft.Authorization/roleAssignments/delete'})
)
OR
(
@Resource[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAllValues:GuidNotEquals {8e3af657-a8ff-443c-a75c-2fe8c4bcb635, f58310d9-a9f6-439a-9e8d-f62e7b41a168, 18d7d88d-d35e-4fb5-a5c3-7773c20a72d9}
)
)
Ecco come aggiungere questa condizione usando 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] ForAnyOfAllValues:GuidNotEquals {8e3af657-a8ff-443c-a75c-2fe8c4bcb635, f58310d9-a9f6-439a-9e8d-f62e7b41a168, 18d7d88d-d35e-4fb5-a5c3-7773c20a72d9})) AND ((!(ActionMatches{'Microsoft.Authorization/roleAssignments/delete'})) OR (@Resource[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAllValues:GuidNotEquals {8e3af657-a8ff-443c-a75c-2fe8c4bcb635, f58310d9-a9f6-439a-9e8d-f62e7b41a168, 18d7d88d-d35e-4fb5-a5c3-7773c20a72d9}))"
$conditionVersion = "2.0"
New-AzRoleAssignment -ObjectId $principalId -Scope $scope -RoleDefinitionId $roleDefinitionId -Condition $condition -ConditionVersion $conditionVersion
Passaggi successivi