Azure RBAC에서 적격 및 시간 제한 역할 할당
Microsoft Entra ID P2 또는 Microsoft Entra ID Governance 라이선스가 있는 경우 Microsoft Entra PIM(Privileged Identity Management)가 역할 할당 단계에 통합됩니다. 예를 들어, 제한된 기간 동안 사용자에게 역할을 할당할 수 있습니다. 사용자에게 역할 할당 자격을 부여하여 역할을 사용하기 위해 활성화해야 하는 경우도 있습니다(예: 승인 요청). 적격 역할 할당은 제한된 기간 동안 역할에 대한 Just-In-Time 액세스를 제공합니다.
이 문서에서는 Azure RBAC(Azure 역할 기반 액세스 제어) 및 Microsoft Entra PIM(Privileged Identity Management)을 통합하여 적격 및 시간 제한 역할 할당을 만드는 방법을 설명합니다.
PIM 기능
PIM이 있는 경우 Azure Portal의 액세스 제어(IAM) 페이지를 사용하여 적격 및 시간 제한 역할 할당을 만들 수 있습니다. 사용자에 대해 적격 역할 할당을 만들 수 있지만 애플리케이션, 서비스 주체 또는 관리 ID에 대한 적격 역할 할당은 활성화 단계를 수행할 수 없으므로 만들 수 없습니다. 액세스 제어(IAM) 페이지에서 관리 그룹, 구독 및 리소스 그룹 범위에서 적격 역할 할당을 만들 수 있지만 리소스 범위에서는 만들 수 없습니다.
다음은 IAM(액세스 제어) 페이지를 사용하여 역할 할당을 추가할 때 할당 유형 탭의 예입니다. 이 기능은 단계적으로 배포되므로 사용자의 테넌트에서 아직 사용할 수 없거나 인터페이스가 다를 수 있습니다.
사용 가능한 할당 유형 옵션은 PIM 정책에 따라 달라질 수 있습니다. 예를 들어, PIM 정책은 영구 할당을 만들 수 있는지 여부, 시간 제한이 있는 할당의 최대 기간, 역할 활성화 요구 사항(승인, 다단계 인증 또는 조건부 액세스 인증 컨텍스트) 및 기타 설정을 정의합니다. 자세한 내용은 Privileged Identity Management에서 Azure 리소스 역할 설정 구성을 참조하세요.
적격 및/또는 시간 제한 할당이 있는 사용자에게는 유효한 라이선스가 있어야 합니다. PIM 기능을 사용하지 않으려면 활성 할당 유형 및 영구 할당 기간 옵션을 선택합니다. 이러한 설정은 주체가 항상 역할에 대한 권한을 갖는 역할 할당을 만듭니다.
PIM을 더 잘 이해하려면 다음 용어를 검토해야 합니다.
용어 또는 개념 | 역할 할당 범주 | 설명 |
---|---|---|
적격 | Type | 사용자가 역할을 사용하기 위해 하나 이상의 작업을 수행해야 하는 역할 할당입니다. 사용자가 역할에 대한 자격을 얻은 경우 권한 있는 작업을 수행해야 할 때 해당 역할을 활성화할 수 있음을 의미합니다. 영구 및 적격 역할 할당을 비교했을 때 이 둘을 통해 다른 사람에게 주어진 액세스에는 차이가 없습니다. 유일한 차이는 사람들이 그 액세스를 항상 필요로 하지 않는다는 점입니다. |
활성 | Type | 사용자가 역할을 사용하기 위해 어떤 작업을 수행할 필요가 없는 역할 할당입니다. 활성으로 할당된 사용자에게는 역할에 할당된 권한이 있습니다. |
설치 | 사용자가 자격이 있는 역할을 사용하기 위해 하나 이상의 작업을 수행하는 프로세스입니다. 작업은 MFA(Multi-Factor Authentication) 검사를 수행하고, 비즈니스 근거를 제공하거나 지정된 승인자의 승인을 요청하는 과정을 포함할 수 있습니다. | |
영구 적격 | 기간 | 사용자가 항상 역할을 활성화할 수 있는 자격이 있는 역할 할당입니다. |
영구 활성 | 기간 | 사용자가 어떤 작업도 수행하지 않고 항상 역할을 사용할 수 있는 역할 할당입니다. |
시간 범위 적격 | 기간 | 사용자가 시작 및 종료 날짜 내에만 역할을 활성화할 수 있는 자격이 있는 역할 할당입니다. |
시간 범위 활성 | 기간 | 사용자가 시작 및 종료 날짜에만 역할을 사용할 수 있는 역할 할당입니다. |
JIT(Just In Time) 액세스 | 사용자가 권한 있는 작업을 수행하기 위해 임시 사용 권한을 받는 모델이며, 악의적 또는 권한이 없는 사용자가 권한이 만료된 후 액세스 권한을 획득하는 것을 방지합니다. 액세스 권한은 사용자에게 필요한 경우에만 부여됩니다. | |
최소 권한 액세스 원칙 | 모든 사용자에게 수행할 권한이 있는 작업을 수행하는 데 필요한 최소 권한만 제공하는 권장 보안 방법입니다. 이 방법은 글로벌 관리자 수를 최소화하고, 그 대신 특정 시나리오에 대해 구체적 관리자 역할을 사용합니다. |
자세한 내용은 Microsoft Entra Privileged Identity Management란?을 참조하세요.
적격 및 시간 제한 역할 할당을 나열하는 방법
PIM 기능을 사용하는 사용자를 확인하려면 적격 및 시간 제한 역할 할당을 나열하는 방법에 대한 옵션은 다음과 같습니다.
옵션 1: Azure Portal을 사용하여 나열
Azure Portal에 로그인하고, 액세스 제어(IAM) 페이지를 열고, 역할 할당 탭을 선택합니다.
적격 및 시간 제한 역할 할당을 필터링합니다.
상태별로 그룹화 및 정렬하고 활성 영구 형식이 아닌 역할 할당을 찾을 수 있습니다.
옵션 2: PowerShell을 사용하여 나열
적격 및 활성 시간 바인딩된 역할 할당을 모두 나열할 수 있는 단일 PowerShell 명령이 없습니다. 적격 역할 할당을 나열하려면 Get-AzRoleEligibilitySchedule 명령을 사용합니다. 활성 역할 할당을 나열하려면 Get-AzRoleAssignmentSchedule 명령을 사용합니다.
이 예제에서는 다음과 같은 역할 할당 유형을 포함하는 구독에서 적격 및 시간 제한 역할 할당을 나열하는 방법을 보여 줍니다.
- 영구 적격
- 시간 제한 적격
- 시간 제한 활성
이 Where-Object
명령은 PIM 없이 Azure RBAC 기능에서 사용할 수 있는 활성 영구 역할 할당을 필터링합니다.
Get-AzRoleEligibilitySchedule -Scope /subscriptions/<subscriptionId>
Get-AzRoleAssignmentSchedule -Scope /subscriptions/<subscriptionId> | Where-Object {$_.EndDateTime -ne $null }
범위가 생성되는 방법에 대한 자세한 내용은 Azure RBAC에 대한 이해 범위를 참조 하세요.
적격 및 시간 제한 역할 할당을 활성 영구로 변환하는 방법
조직에 PIM 사용을 제한하는 프로세스 또는 규정 준수 이유가 있는 경우 이러한 역할 할당을 활성 영구로 변환하는 방법에 대한 옵션은 다음과 같습니다.
옵션 1: Azure Portal을 사용하여 변환
Azure Portal의 역할 할당 탭 및 상태 열에서 변환하려는 각 역할 할당에 대해 적격 영구, 적격 시간 제한 및 활성 시간 제한 링크를 선택합니다.
할당 편집 창에서 할당 유형에 대해 활성을 선택하고 할당 기간 동안 영구를 선택합니다.
자세한 내용은 할당 편집을 참조 하세요.
완료되면 저장을 선택합니다.
사용자의 업데이트가 처리되어 포털에 반영되기까지 시간이 걸릴 수 있습니다.
변환하려는 관리 그룹, 구독 및 리소스 그룹 범위의 모든 역할 할당에 대해 이 단계를 반복합니다.
변환하려는 리소스 범위에서 역할 할당이 있는 경우 PIM에서 직접 변경해야 합니다.
옵션 2: PowerShell을 사용하여 변환
역할 할당을 다른 상태 또는 형식으로 직접 변환하는 명령 또는 API가 없으므로 대신 다음 단계를 수행할 수 있습니다.
Important
역할 할당을 제거하면 환경이 중단될 수 있습니다. 이러한 단계를 수행하기 전에 영향을 이해해야 합니다.
데이터 손실을 방지하기 위해 모든 적격 및 시간 제한 역할 할당 목록을 안전한 위치에 검색하고 저장합니다.
Important
이러한 단계에서는 활성 영구 역할 할당과 동일한 역할 할당을 만들기 전에 이러한 역할 할당을 제거해야 하므로 적격 및 시간 제한 역할 할당 목록을 저장하는 것이 중요합니다.
New-AzRoleEligibilityScheduleRequest 명령을 사용하여 적격 역할 할당을 제거합니다.
이 예제에서는 적격 역할 할당을 제거하는 방법을 보여줍니다.
$guid = New-Guid New-AzRoleEligibilityScheduleRequest -Name $guid -Scope <Scope> -PrincipalId <PrincipalId> -RoleDefinitionId <RoleDefinitionId> -RequestType AdminRemove
New-AzRoleAssignmentScheduleRequest 명령을 사용하여 활성 시간 바인딩된 역할 할당을 제거합니다.
이 예제에서는 활성 시간 바인딩된 역할 할당을 제거하는 방법을 보여줍니다.
$guid = New-Guid New-AzRoleAssignmentScheduleRequest -Name $guid -Scope <Scope> -PrincipalId <PrincipalId> -RoleDefinitionId <RoleDefinitionId> -RequestType AdminRemove
Get-AzRoleAssignment 명령을 사용하여 기존 역할 할당을 확인하고 New-AzRoleAssignment 명령을 사용하여 적격 및 시간 제한 역할 할당마다 Azure RBAC를 사용하여 활성 영구 역할 할당을 만듭니다.
이 예제에서는 기존 역할 할당을 확인하고 Azure RBAC를 사용하여 활성 영구 역할 할당을 만드는 방법을 보여줍니다.
$result = Get-AzRoleAssignment -ObjectId $RA.PrincipalId -RoleDefinitionName $RA.RoleDefinitionDisplayName -Scope $RA.Scope; if($result -eq $null) { New-AzRoleAssignment -ObjectId $RA.PrincipalId -RoleDefinitionName $RA.RoleDefinitionDisplayName -Scope $RA.Scope }
적격 또는 시간 제한 역할 할당 만들기를 제한하는 방법
조직에 PIM 사용을 제한하는 프로세스 또는 규정 준수 이유가 있는 경우 Azure Policy를 사용하여 적격 또는 시간 제한 역할 할당 생성을 제한할 수 있습니다. 자세한 내용은 Azure Policy란?을 참조하세요.
다음은 특정 ID 목록을 제외하고 적격 및 시간 제한 역할 할당 생성을 제한하는 예제 정책입니다. 다른 허용 조건에 대한 추가 매개 변수 및 검사를 추가할 수 있습니다.
{
"properties": {
"displayName": "Limit eligible and active time-bound role assignments except for allowed principal IDs",
"policyType": "Custom",
"mode": "All",
"metadata": {
"createdBy": "aaaaaaaa-bbbb-cccc-1111-222222222222",
"createdOn": "2024-11-05T02:31:25.1246591Z",
"updatedBy": "aaaaaaaa-bbbb-cccc-1111-222222222222",
"updatedOn": "2024-11-06T07:58:17.1699721Z"
},
"version": "1.0.0",
"parameters": {
"allowedPrincipalIds": {
"type": "Array",
"metadata": {
"displayName": "Allowed Principal IDs",
"description": "A list of principal IDs that can receive PIM role assignments."
},
"defaultValue": []
}
},
"policyRule": {
"if": {
"anyof": [
{
"allOf": [
{
"field": "type",
"equals": "Microsoft.Authorization/roleEligibilityScheduleRequests"
},
{
"not": {
"field": "Microsoft.Authorization/roleEligibilityScheduleRequests/principalId",
"in": "[parameters('allowedPrincipalIds')]"
}
}
]
},
{
"allOf": [
{
"field": "type",
"equals": "Microsoft.Authorization/roleAssignmentScheduleRequests"
},
{
"not": {
"field": "Microsoft.Authorization/roleAssignmentScheduleRequests/principalId",
"in": "[parameters('allowedPrincipalIds')]"
}
}
]
}
]
},
"then": {
"effect": "deny"
}
},
"versions": [
"1.0.0"
]
},
"id": "/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4ef/providers/Microsoft.Authorization/policyDefinitions/1aaaaaa1-2bb2-3cc3-4dd4-5eeeeeeeeee5",
"type": "Microsoft.Authorization/policyDefinitions",
"name": "1aaaaaa1-2bb2-3cc3-4dd4-5eeeeeeeeee5",
"systemData": {
"createdBy": "test1@contoso.com",
"createdByType": "User",
"createdAt": "2024-11-05T02:31:25.0836273Z",
"lastModifiedBy": "test1@contoso.com",
"lastModifiedByType": "User",
"lastModifiedAt": "2024-11-06T07:58:17.1651655Z"
}
}
PIM 리소스 속성에 대한 자세한 내용은 다음 REST API 문서를 참조하세요.
매개 변수를 사용하여 Azure Policy를 할당하는 방법에 대한 자세한 내용은 자습서: 규정 준수를 적용하는 정책 만들기 및 관리를 참조하세요.