이 문서에는 조건을 사용하여 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) 또는 영업(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
예: 가상 머신 관리 제한
이 조건을 사용하면 대리자는 가상 머신 관리자 로그인 또는 가상 머신 사용자 로그인 역할에 대한 역할 할당만 추가하거나 제거할 수 있습니다. 또한 대리자는 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)에서 이미지를 가져올 수 있도록 관리 ID 자체에 AcrPull 역할을 할당하도록 허용하려는 경우에 유용합니다.
다음 작업을 포함하는 대리자에 대한 모든 역할 할당에 이 조건을 추가해야 합니다.
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
예: 대부분의 역할을 허용하지만 다른 사람이 역할을 할당하는 것을 허용하지 않음
이 조건을 사용하면 대리자가 소유자, 역할 기반 Access Control 관리자 및 사용자 액세스 관리자 역할을 제외한 모든 역할에 대한 역할 할당을 추가하거나 제거할 수 있습니다.
이 조건은 대리자가 대부분의 역할을 할당하도록 허용하지만 다른 대리자가 역할을 할당하는 것을 허용하지 않으려는 경우에 유용합니다.
참고 항목
이 조건은 주의해서 사용해야 합니다. 역할 할당을 만들 수 있는 권한이 포함된 새 기본 제공 또는 사용자 지정 역할이 나중에 추가되는 경우 이 조건으로 인해 대리자가 역할을 할당할 수 있습니다. 새로운 기본 제공 역할 또는 사용자 지정 역할을 포함하려면 조건을 업데이트해야 합니다.
다음 작업을 포함하는 대리자에 대한 모든 역할 할당에 이 조건을 추가해야 합니다.
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
다음 단계