이 문서에서는 조건이 있는 다른 사용자에게 Azure 역할 할당 관리를 위임하는 방법의 예를 나열합니다.
사전 요구 사항
역할 할당 조건을 추가하거나 편집하기 위한 필수 구성 요소에 대한 자세한 내용은 조건 필수 조건을 참조하세요.
예: 역할 제한
이 조건을 사용하면 대리자가 백업 기여자 또는 백업 읽기 권한자 역할에 대한 역할 할당만 추가하거나 제거할 수 있습니다.
다음 작업을 포함하는 대리자의 역할 할당에 이 조건을 추가해야 합니다.
Microsoft.Authorization/roleAssignments/write
Microsoft.Authorization/roleAssignments/delete
Azure Portal 및 조건 템플릿을 사용하여 이 조건을 추가하는 설정은 다음과 같습니다.
Azure Portal 및 조건 편집기를 사용하여 이 조건을 추가하는 설정은 다음과 같습니다.
역할 할당 추가 및 제거 작업을 모두 대상으로 지정하려면 두 가지 조건을 추가해야 합니다. 특성 원본이 각 작업에 대해 다르기 때문에 두 조건을 추가해야 합니다. 동일한 조건에서 두 작업을 대상으로 지정하려고 하면 식을 추가할 수 없습니다. 자세한 내용은 증상 - 사용할 수 있는 옵션이 없음 오류를 참조하세요.
(
(
!(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}
)
)
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
예: 역할 및 주체 유형 제한
이 조건을 사용하면 대리자가 백업 기여자 또는 백업 읽기 권한자 역할에 대한 역할 할당만 추가하거나 제거할 수 있습니다. 또한 대리자는 사용자 또는 그룹 유형의 주체에게만 이러한 역할을 할당할 수 있습니다.
다음 작업을 포함하는 대리자의 역할 할당에 이 조건을 추가해야 합니다.
Microsoft.Authorization/roleAssignments/write
Microsoft.Authorization/roleAssignments/delete
Azure Portal 및 조건 템플릿을 사용하여 이 조건을 추가하는 설정은 다음과 같습니다.
Azure Portal 및 조건 편집기를 사용하여 이 조건을 추가하는 설정은 다음과 같습니다.
역할 할당 추가 및 제거 작업을 모두 대상으로 지정하려면 두 가지 조건을 추가해야 합니다. 특성 원본이 각 작업에 대해 다르기 때문에 두 조건을 추가해야 합니다. 동일한 조건에서 두 작업을 대상으로 지정하려고 하면 식을 추가할 수 없습니다. 자세한 내용은 증상 - 사용할 수 있는 옵션이 없음 오류를 참조하세요.
(
(
!(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'}
)
)
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
예: 역할 및 특정 그룹 제한
이 조건을 사용하면 대리자가 백업 기여자 또는 백업 읽기 권한자 역할에 대한 역할 할당만 추가하거나 제거할 수 있습니다. 또한 대리인은 마케팅(28c35fea-2099-4cf5-8ad9-473547bc9423) 또는 Sales(86951b8b-723a-407b-a74a-1bca3f0c95d0)라는 특정 그룹에만 이러한 역할을 할당할 수 있습니다.
다음 작업을 포함하는 대리자의 역할 할당에 이 조건을 추가해야 합니다.
Microsoft.Authorization/roleAssignments/write
Microsoft.Authorization/roleAssignments/delete
Azure Portal 및 조건 템플릿을 사용하여 이 조건을 추가하는 설정은 다음과 같습니다.
Azure Portal 및 조건 편집기를 사용하여 이 조건을 추가하는 설정은 다음과 같습니다.
역할 할당 추가 및 제거 작업을 모두 대상으로 지정하려면 두 가지 조건을 추가해야 합니다. 특성 원본이 각 작업에 대해 다르기 때문에 두 조건을 추가해야 합니다. 동일한 조건에서 두 작업을 대상으로 지정하려고 하면 식을 추가할 수 없습니다. 자세한 내용은 증상 - 사용할 수 있는 옵션이 없음 오류를 참조하세요.
(
(
!(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}
)
)
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
예: 가상 머신 관리 제한
이 조건을 사용하면 대리자가 Virtual Machine 관리자 로그인 또는 Virtual Machine사용자 로그인 역할에 대한 역할 할당만 추가하거나 제거할 수 있습니다. 또한 대리자는 Dara(ea585310-c95c-4a68-af22-49af4363bbb1)라는 특정 사용자에게만 이러한 역할을 할당할 수 있습니다.
이 조건은 대리자가 방금 만든 가상 머신에 대해 자신에게 가상 머신 로그인 역할을 할당하도록 허용하려는 경우에 유용합니다.
다음 작업을 포함하는 대리자의 역할 할당에 이 조건을 추가해야 합니다.
Microsoft.Authorization/roleAssignments/write
Microsoft.Authorization/roleAssignments/delete
Azure Portal 및 조건 템플릿을 사용하여 이 조건을 추가하는 설정은 다음과 같습니다.
Azure Portal 및 조건 편집기를 사용하여 이 조건을 추가하는 설정은 다음과 같습니다.
역할 할당 추가 및 제거 작업을 모두 대상으로 지정하려면 두 가지 조건을 추가해야 합니다. 특성 원본이 각 작업에 대해 다르기 때문에 두 조건을 추가해야 합니다. 동일한 조건에서 두 작업을 대상으로 지정하려고 하면 식을 추가할 수 없습니다. 자세한 내용은 증상 - 사용할 수 있는 옵션이 없음 오류를 참조하세요.
(
(
!(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}
)
)
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
예: AKS 클러스터 관리 제한
이 조건을 사용하면 대리자가 Azure Kubernetes Service RBAC 관리자, Azure Kubernetes Service RBAC클러스터 관리자, Azure Kubernetes Service RBAC 판독기 또는 Azure Kubernetes Service RBAC 기록기 역할에 대한 역할 할당만 추가하거나 제거할 수 있습니다. 또한 대리자는 Dara(ea585310-c95c-4a68-af22-49af4363bbb1)라는 특정 사용자에게만 이러한 역할을 할당할 수 있습니다.
이 조건은 대리자가 방금 만든 클러스터에 대해 AKS(Azure Kubernetes Service) 클러스터 데이터 평면 권한 부여 역할을 자신에게 할당하도록 허용하려는 경우에 유용합니다.
다음 작업을 포함하는 대리자의 역할 할당에 이 조건을 추가해야 합니다.
Microsoft.Authorization/roleAssignments/write
Microsoft.Authorization/roleAssignments/delete
Azure Portal 및 조건 템플릿을 사용하여 이 조건을 추가하는 설정은 다음과 같습니다.
Azure Portal 및 조건 편집기를 사용하여 이 조건을 추가하는 설정은 다음과 같습니다.
역할 할당 추가 및 제거 작업을 모두 대상으로 지정하려면 두 가지 조건을 추가해야 합니다. 특성 원본이 각 작업에 대해 다르기 때문에 두 조건을 추가해야 합니다. 동일한 조건에서 두 작업을 대상으로 지정하려고 하면 식을 추가할 수 없습니다. 자세한 내용은 증상 - 사용할 수 있는 옵션이 없음 오류를 참조하세요.
(
(
!(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}
)
)
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
예: ACR 관리 제한
이 조건을 사용하면 대리자가 AcrPull 역할에 대한 역할 할당만 추가하거나 제거할 수 있습니다. 또한 대리자는 서비스 주체 유형의 주체에게만 이러한 역할을 할당할 수 있습니다.
이 조건은 개발자가 ACR(Azure Container Registry)에서 이미지를 끌어올 수 있도록 AcrPull 역할을 관리 ID 자체에 할당하도록 허용하려는 경우에 유용합니다.
다음 작업을 포함하는 대리자의 역할 할당에 이 조건을 추가해야 합니다.
Microsoft.Authorization/roleAssignments/write
Microsoft.Authorization/roleAssignments/delete
Azure Portal 및 조건 템플릿을 사용하여 이 조건을 추가하는 설정은 다음과 같습니다.
| 상태 |
설정 |
| 템플릿 |
역할 및 주요자 유형 제한 |
| 역할 |
AcrPull |
| 주요 유형 |
서비스 프린시펄 |
Azure Portal 및 조건 편집기를 사용하여 이 조건을 추가하는 설정은 다음과 같습니다.
역할 할당 추가 및 제거 작업을 모두 대상으로 지정하려면 두 가지 조건을 추가해야 합니다. 특성 원본이 각 작업에 대해 다르기 때문에 두 조건을 추가해야 합니다. 동일한 조건에서 두 작업을 대상으로 지정하려고 하면 식을 추가할 수 없습니다. 자세한 내용은 증상 - 사용할 수 있는 옵션이 없음 오류를 참조하세요.
(
(
!(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'}
)
)
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
역할 할당 추가를 제한하기
이 조건을 사용하면 대리자가 백업 기여자 또는 백업 읽기 권한자 역할에 대한 역할 할당만 추가할 수 있습니다. 대리자는 역할 할당을 제거할 수 있습니다.
다음 작업을 포함하는 대리자의 역할 할당에 이 조건을 추가해야 합니다.
Microsoft.Authorization/roleAssignments/write
백업 기여자 및 백업 리더 역할에 제한된 역할 할당 추가 및 제거 다이어그램.
Azure Portal 및 조건 편집기를 사용하여 이 조건을 추가하는 설정은 다음과 같습니다.
(
(
!(ActionMatches{'Microsoft.Authorization/roleAssignments/write'})
)
OR
(
@Request[Microsoft.Authorization/roleAssignments:RoleDefinitionId] ForAnyOfAnyValues:GuidEquals {5e467623-bb1f-42f4-a55d-6e525e11384b, a795c7a0-d4a2-40c1-ae25-d81f01202912}
)
)
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
예: 대부분의 역할을 허용하지만 다른 사용자가 역할을 할당하도록 허용하지 않음
이 조건을 사용하면 대리자가 소유자, 역할 기반 액세스 제어 관리자 및 사용자 액세스 관리자 역할을 제외한 모든 역할에 대한 역할 할당을 추가하거나 제거할 수 있습니다.
이 조건은 대리자가 대부분의 역할을 할당하도록 허용하지만 대리자가 다른 사용자가 역할을 할당하도록 허용하지 않으려는 경우에 유용합니다.
메모
이 조건은 주의해서 사용해야 합니다. 역할 할당을 만들 수 있는 권한이 포함된 새 기본 제공 또는 사용자 지정 역할이 나중에 추가되는 경우 이 조건으로 인해 대리자가 역할을 할당할 수 없습니다. 새 기본 제공 또는 사용자 지정 역할을 포함하도록 조건을 업데이트해야 합니다.
다음 작업을 포함하는 대리자의 역할 할당에 이 조건을 추가해야 합니다.
Microsoft.Authorization/roleAssignments/write
Microsoft.Authorization/roleAssignments/delete
Azure Portal 및 조건 템플릿을 사용하여 이 조건을 추가하는 설정은 다음과 같습니다.
Azure Portal 및 조건 편집기를 사용하여 이 조건을 추가하는 설정은 다음과 같습니다.
역할 할당 추가 및 제거 작업을 모두 대상으로 지정하려면 두 가지 조건을 추가해야 합니다. 특성 원본이 각 작업에 대해 다르기 때문에 두 조건을 추가해야 합니다. 동일한 조건에서 두 작업을 대상으로 지정하려고 하면 식을 추가할 수 없습니다. 자세한 내용은 증상 - 사용할 수 있는 옵션이 없음 오류를 참조하세요.
(
(
!(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}
)
)
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
다음 단계