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.
Di seguito sono riportate 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 principali
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 ai soggetti 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.
Di seguito sono riportate 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.
Di seguito sono riportate 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 amministratore macchina virtuale o account di accesso utente 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.
Di seguito sono riportate 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 AKS (Azure Kubernetes Service)
Questa condizione consente a un delegato di aggiungere o rimuovere assegnazioni di ruolo solo per i ruoli di Amministratore RBAC del servizio Azure Kubernetes, Amministratore del Cluster RBAC del servizio Azure Kubernetes, Lettore RBAC del servizio Azure Kubernetes, o Scrittore RBAC del servizio Azure Kubernetes. 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 del 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.
Di seguito sono riportate 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 di ACR (Azure Container Registry)
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 ai principali di tipo 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.
È 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.
| Condition |
Impostazione |
| Modello |
Vincolare ruoli e tipi di entità di sicurezza |
| ruoli |
AcrPull |
| Tipi principali |
Principali del servizio |
Di seguito sono riportate 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
Diagramma dell'aggiunta o rimozione di assegnazioni di ruolo vincolate ai ruoli Collaboratore backup e Lettore di backup.
Di seguito sono riportate 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 dei ruoli Proprietario, Amministratore controllo degli accessi in base al ruolo e Amministratore accesso utenti .
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.
Annotazioni
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.
Di seguito sono riportate 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