Azure Batch 서비스에 대한 역할 기반 액세스 제어
Azure Batch 서비스는 Azure Batch 계정에 다양한 수준의 권한을 제공하는 기본 제공 Azure 역할 집합을 지원합니다. Azure 리소스에 대한 개별 액세스를 관리하기 위한 권한 부여 시스템인 Azure RBAC(Azure 역할 기반 액세스 제어)를 사용하여 Batch 계정과 상호 작용해야 하는 사용자, 서비스 주체 또는 기타 ID에 특정 권한을 할당할 수 있습니다. 특정 사용 시나리오를 조정하는 사용자 지정 세분화된 권한으로 사용자 지정 역할을 할당할 수도 있습니다.
참고 항목
모든 RBAC(기본 제공 및 사용자 지정) 역할은 Batch 공유 키 자격 증명이 아니라 Microsoft Entra ID로 인증된 사용자를 위한 것입니다. Batch 공유 키 자격 증명은 Batch 계정에 대한 전체 권한을 부여합니다.
Azure RBAC 할당
다음 단계에 따라 사용자, 그룹, 서비스 주체 또는 관리 ID에 Azure RBAC 역할을 할당합니다. 자세한 단계는 Azure Portal을 사용하여 Azure 역할 할당을 참조하세요.
Azure Portal에서 특정 Batch 계정으로 이동합니다.
팁
또한 전체 리소스 그룹, 구독 또는 관리 그룹에 대해 Azure RBAC를 설정할 수 있습니다. 원하는 범위 수준을 선택한 다음, 원하는 항목으로 이동하여 이 작업을 수행합니다. 예를 들어 리소스 그룹을 선택한 다음, 특정 리소스 그룹으로 이동합니다.
왼쪽 탐색 영역에서 액세스 제어(IAM)를 선택합니다.
액세스 제어(IAM) 페이지에서 역할 할당 추가를 선택합니다.
역할 할당 추가 페이지에서 역할 탭을 선택한 다음, Azure Batch 기본 제공 RBAC 역할 중 하나를 선택합니다.
구성원 탭을 선택하고 구성원 아래에서 구성원 선택을 선택합니다.
구성원 선택 화면에서 사용자, 그룹, 서비스 주체 또는 관리 ID를 검색하여 선택한 다음 선택을 선택합니다.
참고 항목
서비스 주체를 사용하여 Azure Batch 서비스를 인증하도록 애플리케이션을 구성할 때 여기에서 애플리케이션을 검색하고 선택하여 Azure Batch 계정에 대한 액세스 및 권한을 구성합니다.
역할 할당 추가 페이지에서 검토 + 할당을 선택합니다.
이제 대상 ID가 Batch 계정의 IAM(액세스 제어) 페이지의 역할 할당 탭에 표시됩니다.
Azure Batch 기본 제공 RBAC 역할
Azure Batch에는 일반적인 사용자 시나리오를 해결하기 위해 미리 정의된 몇 가지 역할이 있으므로 Azure Batch 계정의 적절한 액세스 수준을 특정 의무에 대한 ID에 효율적으로 할당할 수 있습니다.
기본 제공 역할 설명 ID Azure Batch 계정 기여자 Batch 계정, 풀 및 작업을 비롯한 모든 Batch 리소스를 관리할 수 있는 모든 권한을 부여합니다. 29fe4964-1e60-436b-bd3a-77fd4c178b3c Azure Batch 계정 읽기 권한자 Batch 계정에서 풀 및 작업을 포함한 모든 리소스를 볼 수 있습니다. 11076f67-66f6-4be0-8f6b-f0609fd05cc9 Azure Batch 데이터 기여자 Batch 풀 및 작업을 관리할 수 있는 권한을 부여하지만 계정을 수정할 수는 없습니다. 6aaa78f1-f7de-44ca-8722-c64a23943cae Azure Batch 작업 제출자 Batch 계정에서 작업을 제출하고 관리할 수 있습니다. 48e5e92e-a480-4e71-aa9c-2778f4c13781
사용 권한 Azure Batch 계정 기여자 Azure Batch 계정 읽기 권한자 Azure Batch 데이터 기여자 Azure Batch 작업 제출자 Batch 계정 나열 또는 Batch 계정의 속성 보기 ✓ ✓ ✓ Batch 계정 만들기, 업데이트 또는 삭제 ✓ Batch 계정에 대한 액세스 키 나열 ✓ Batch 계정에 대한 액세스 키 다시 생성 ✓ Batch 계정에서 애플리케이션 및 애플리케이션 패키지의 속성 나열 또는 보기 ✓ ✓ ✓ ✓ Batch 계정에서 애플리케이션 및 애플리케이션 패키지 만들기, 업데이트 또는 삭제 ✓ ✓ Batch 계정에서 인증서의 속성 나열 또는 보기 ✓ ✓ ✓ Batch 계정에서 인증서 만들기, 업데이트 또는 삭제 ✓ ✓ Batch 계정의 풀 속성 나열 또는 보기 ✓ ✓ ✓ ✓ Batch 계정에서 풀 만들기, 업데이트 또는 삭제 ✓ ✓ Batch 계정에서 작업의 속성 나열 또는 보기 ✓ ✓ ✓ ✓ Batch 계정에서 작업 만들기, 업데이트 또는 삭제 ✓ ✓ ✓ Batch 계정에서 작업 일정의 속성 나열 또는 보기 ✓ ✓ ✓ ✓ Batch 계정에서 작업 일정 만들기, 업데이트 또는 삭제 ✓ ✓ ✓
Azure Batch 계정 기여자
Batch 계정, 풀 및 작업을 비롯한 모든 Batch 리소스를 관리할 수 있는 모든 권한을 부여합니다.
actions 설명 Microsoft.Authorization/*/read 역할 및 역할 할당을 읽습니다. Microsoft.Insights/alertRules/* 클래식 메트릭 경고를 만들고 관리합니다. Microsoft.Resources/deployments/* 배포를 만들고 관리합니다. Microsoft.Resources/subscriptions/resourceGroups/read 리소스 그룹을 가져오거나 나열합니다. Microsoft.Batch/batchAccounts/* NotActions 없음 DataActions Microsoft.Batch/batchAccounts/* NotDataActions 없음
{
"assignableScopes": [
"/"
],
"description": "Grants full access to manage all Batch resources, including Batch accounts, pools and jobs.",
"id": "/providers/Microsoft.Authorization/roleDefinitions/29fe4964-1e60-436b-bd3a-77fd4c178b3c",
"permissions": [
{
"actions": [
"Microsoft.Authorization/*/read",
"Microsoft.Batch/batchAccounts/*",
"Microsoft.Insights/alertRules/*",
"Microsoft.Resources/deployments/*",
"Microsoft.Resources/subscriptions/resourceGroups/read"
],
"dataActions": [
"Microsoft.Batch/batchAccounts/*"
],
"notActions": [],
"notDataActions": []
}
],
"roleName": "Azure Batch Account Contributor",
"roleType": "BuiltInRole",
"type": "Microsoft.Authorization/roleDefinitions"
}
Azure Batch 계정 읽기 권한자
Batch 계정에서 풀 및 작업을 포함한 모든 리소스를 볼 수 있습니다.
actions 설명 Microsoft.Batch/batchAccounts/read Batch 계정을 나열하거나 Batch 계정의 속성을 가져옵니다. Microsoft.Batch/batchAccounts/*/read Batch 계정의 모든 리소스를 봅니다. Microsoft.Resources/subscriptions/resourceGroups/read 리소스 그룹을 가져오거나 나열합니다. NotActions 없음 DataActions Microsoft.Batch/*/read Batch 계정의 모든 리소스를 봅니다. NotDataActions 없음
{
"assignableScopes": [
"/"
],
"description": "Lets you view all resources including pools and jobs in the Batch account.",
"id": "/providers/Microsoft.Authorization/roleDefinitions/11076f67-66f6-4be0-8f6b-f0609fd05cc9",
"permissions": [
{
"actions": [
"Microsoft.Batch/batchAccounts/read",
"Microsoft.Batch/batchAccounts/*/read",
"Microsoft.Resources/subscriptions/resourceGroups/read"
],
"dataActions": [
"Microsoft.Batch/batchAccounts/*/read"
],
"notActions": [],
"notDataActions": []
}
],
"roleName": "Azure Batch Account Reader",
"roleType": "BuiltInRole",
"type": "Microsoft.Authorization/roleDefinitions"
}
Azure Batch 데이터 기여자
Batch 풀 및 작업을 관리할 수 있는 권한을 부여하지만 계정을 수정할 수는 없습니다.
actions 설명 Microsoft.Authorization/*/read 역할 및 역할 할당을 읽습니다. Microsoft.Batch/batchAccounts/read Batch 계정을 나열하거나 Batch 계정의 속성을 가져옵니다. Microsoft.Batch/batchAccounts/applications/* Batch 계정에서 애플리케이션 및 애플리케이션 패키지를 만들고 관리합니다. Microsoft.Batch/batchAccounts/certificates/* Batch 계정에서 인증서를 만들고 관리합니다. Microsoft.Batch/batchAccounts/certificateOperationResults/* Batch 계정에서 장기 실행 인증서 작업의 결과를 가져옵니다. Microsoft.Batch/pools/* Batch 계정에서 풀을 만들고 관리합니다. Microsoft.Batch/poolOperationResults/* Batch 계정에서 장기 실행 풀 작업의 결과를 가져옵니다. Microsoft.Batch/locations/*/read 지정된 위치에서 Batch 계정 작업 결과/Batch 할당량/지원되는 VM 크기를 가져옵니다. Microsoft.Insights/alertRules/* 클래식 메트릭 경고를 만들고 관리합니다. Microsoft.Resources/deployments/* 배포를 만들고 관리합니다. Microsoft.Resources/subscriptions/resourceGroups/read 리소스 그룹을 가져오거나 나열합니다. NotActions 없음 DataActions Microsoft.Batch/batchAccounts/jobSchedules/* Batch 계정에서 작업 일정을 만들고 관리합니다. Microsoft.Batch/batchAccounts/jobs/* Batch 계정에서 작업을 만들고 관리합니다. NotDataActions 없음
{
"assignableScopes": [
"/"
],
"description": "Grants permissions to manage Batch pools and jobs but not to modify accounts.",
"id": "/providers/Microsoft.Authorization/roleDefinitions/6aaa78f1-f7de-44ca-8722-c64a23943cae",
"permissions": [
{
"actions": [
"Microsoft.Authorization/*/read",
"Microsoft.Batch/batchAccounts/read",
"Microsoft.Batch/batchAccounts/applications/*",
"Microsoft.Batch/batchAccounts/certificates/*",
"Microsoft.Batch/batchAccounts/certificateOperationResults/*",
"Microsoft.Batch/batchAccounts/pools/*",
"Microsoft.Batch/batchAccounts/poolOperationResults/*",
"Microsoft.Batch/locations/*/read",
"Microsoft.Insights/alertRules/*",
"Microsoft.Resources/deployments/*",
"Microsoft.Resources/subscriptions/resourceGroups/read"
],
"dataActions": [
"Microsoft.Batch/batchAccounts/jobSchedules/*",
"Microsoft.Batch/batchAccounts/jobs/*"
],
"notActions": [],
"notDataActions": []
}
],
"roleName": "Azure Batch Data Contributor",
"roleType": "BuiltInRole",
"type": "Microsoft.Authorization/roleDefinitions"
}
Azure Batch 작업 제출자
Batch 계정에서 작업을 제출하고 관리할 수 있습니다.
actions 설명 Microsoft.Batch/batchAccounts/applications/read 애플리케이션을 나열하거나 애플리케이션의 속성을 가져옵니다. Microsoft.Batch/batchAccounts/applications/versions/read 애플리케이션 패키지의 속성을 가져옵니다. Microsoft.Batch/pools/read Batch 계정의 풀을 나열하거나 풀의 속성을 가져옵니다. Microsoft.Insights/alertRules/* 클래식 메트릭 경고를 만들고 관리합니다. Microsoft.Resources/subscriptions/resourceGroups/read 리소스 그룹을 가져오거나 나열합니다. NotActions 없음 DataActions Microsoft.Batch/batchAccounts/jobSchedules/* Batch 계정에서 작업 일정을 만들고 관리합니다. Microsoft.Batch/batchAccounts/jobs/* Batch 계정에서 작업을 만들고 관리합니다. NotDataActions 없음
{
"assignableScopes": [
"/"
],
"description": "Lets you submit and manage jobs in the Batch account.",
"id": "/providers/Microsoft.Authorization/roleDefinitions/48e5e92e-a480-4e71-aa9c-2778f4c13781",
"permissions": [
{
"actions": [
"Microsoft.Batch/batchAccounts/applications/read",
"Microsoft.Batch/batchAccounts/applications/versions/read",
"Microsoft.Batch/batchAccounts/pools/read",
"Microsoft.Insights/alertRules/*",
"Microsoft.Resources/subscriptions/resourceGroups/read"
],
"dataActions": [
"Microsoft.Batch/batchAccounts/jobSchedules/*",
"Microsoft.Batch/batchAccounts/jobs/*"
],
"notActions": [],
"notDataActions": []
}
],
"roleName": "Azure Batch Job Submitter",
"roleType": "BuiltInRole",
"type": "Microsoft.Authorization/roleDefinitions"
}
사용자 지정 역할 할당
Azure Batch 기본 제공 역할이 요구 사항을 충족하지 않는 경우 Azure 사용자 지정 역할을 사용하여 작업, 작업 등을 제출하기 위한 세분화된 권한을 사용자에게 부여할 수 있습니다. 사용자 지정 역할을 사용하여 다음 Azure Batch RBAC 작업에 대한 Microsoft Entra ID에 권한을 부여하거나 거부할 수 있습니다.
- Microsoft.Batch/batchAccounts/pools/write
- Microsoft.Batch/batchAccounts/pools/delete
- Microsoft.Batch/batchAccounts/pools/read
- Microsoft.Batch/batchAccounts/jobSchedules/write
- Microsoft.Batch/batchAccounts/jobSchedules/delete
- Microsoft.Batch/batchAccounts/jobSchedules/read
- Microsoft.Batch/batchAccounts/jobs/write
- Microsoft.Batch/batchAccounts/jobs/delete
- Microsoft.Batch/batchAccounts/jobs/read
- Microsoft.Batch/batchAccounts/certificates/write
- Microsoft.Batch/batchAccounts/certificates/delete
- Microsoft.Batch/batchAccounts/certificates/read
- Microsoft.Batch/batchAccounts/applications/write
- Microsoft.Batch/batchAccounts/applications/delete
- Microsoft.Batch/batchAccounts/applications/read
- Microsoft.Batch/batchAccounts/applications/versions/write
- Microsoft.Batch/batchAccounts/applications/versions/delete
- Microsoft.Batch/batchAccounts/applications/versions/read
- Microsoft.Batch/batchAccounts/read(읽기 작업의 경우)
- Microsoft.Batch/batchAccounts/listKeys/action(모든 작업의 경우)
팁
자동 풀을 사용하는 작업에는 풀 수준 쓰기 권한이 필요합니다.
참고 항목
특정 역할 할당은 actions
필드에 지정되어야 하지만 다른 역할 할당은 dataActions
필드에 지정되어야 합니다. 역할에 할당된 기능의 전체 범위를 모두 actions
검사하고 dataActions
이해해야 합니다. 자세한 내용은 Azure 리소스 공급자 작업을 참조하세요.
다음 예제에서는 Azure Batch 사용자 지정 역할 정의를 보여줍니다.
{
"properties":{
"roleName":"Azure Batch Custom Job Submitter",
"type":"CustomRole",
"description":"Allows a user to submit autopool jobs to Azure Batch",
"assignableScopes":[
"/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e"
],
"permissions":[
{
"actions":[
"Microsoft.Batch/*/read",
"Microsoft.Batch/batchAccounts/pools/write",
"Microsoft.Batch/batchAccounts/pools/delete",
"Microsoft.Authorization/*/read",
"Microsoft.Resources/subscriptions/resourceGroups/read",
"Microsoft.Support/*",
"Microsoft.Insights/alertRules/*"
],
"notActions":[
],
"dataActions":[
"Microsoft.Batch/batchAccounts/jobs/*",
"Microsoft.Batch/batchAccounts/jobSchedules/*"
],
"notDataActions":[
]
}
]
}
}