Azure Batch 服務的角色型訪問控制
Azure Batch Service 支援一組 內建的 Azure 角色 ,可為 Azure Batch 帳戶提供不同層級的許可權。 藉由使用 Azure 角色型存取控制 (Azure RBAC),管理對 Azure 資源的個別存取權的授權系統,您可以將特定許可權指派給使用者、服務主體或其他需要與您的 Batch 帳戶互動的身分識別。 您也可以 使用自定義、精細的許可權來指派自定義角色 ,以調整您的特定使用案例。
注意
所有 RBAC (內建和自定義) 角色都是針對由 Microsoft Entra 識別碼驗證的使用者,而不是 Batch 共用金鑰認證。 Batch 共用密鑰認證會授與 Batch 帳戶的完整許可權。
指派 Azure RBAC
請遵循下列步驟,將 Azure RBAC 角色指派給使用者、群組、服務主體或受控識別。 如需詳細步驟,請參閱使用 Azure 入口網站指派 Azure 角色。
在 Azure 入口網站 中,流覽至您的特定 Batch 帳戶。
提示
您也可以為整個資源群組、訂用帳戶或管理群組設定 Azure RBAC。 若要這麼做,請選取所需的範圍層級,然後瀏覽至所需的項目。 例如,選取 [資源群組],然後瀏覽至特定的資源群組。
從左側導覽列選取 [存取控制 (IAM)]。
在 [存取控制 (IAM)] 頁面上,選取 [新增角色指派]。
在 [ 新增角色指派 ] 頁面上,選取 [ 角色 ] 索引卷標,然後選取其中一個 Azure Batch 內建的 RBAC 角色。
選取 [成員] 索引標籤,然後選取 [成員] 下的 [選取成員]。
在 [選取成員] 畫面上,搜尋並選取使用者、群組、服務主體或受控識別,然後選取 [選取]。
注意
設定應用程式以使用服務主體驗證 Azure Batch 服務時,請在這裡搜尋並選取您的應用程式,以設定其 Azure Batch 帳戶的存取權和許可權。
在 [新增角色指派] 頁面上選取 [檢閱 + 指派]。
目標身分識別現在應該會出現在 Batch 帳戶存取控制 (IAM) 頁面的 [角色指派] 索引標籤上。
Azure Batch 內建 RBAC 角色
Azure Batch 有一些預先定義的角色可解決常見的使用者案例,確保 Azure Batch 帳戶上的適當存取層級可以有效率地指派給身分識別,以承擔其特定職責。
內建角色 描述 識別碼 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 帳戶上建立、更新或刪除作業排程 ✓ ✓ ✓
警告
Batch 帳戶憑證功能已 淘汰。
Azure Batch 帳戶參與者
授與管理所有 Batch 資源的完整存取權,包括 Batch 帳戶、集區和作業。
動作 描述 Microsoft.Authorization/*/read 讀取角色和角色指派。 Microsoft.Insights/alertRules/* 建立和管理傳統計量警示。 Microsoft.Resources/deployments/* 建立和管理部署。 Microsoft.Resources/subscriptions/resourceGroups/read 取得或列出資源群組。 Microsoft.Batch/batchAccounts/* NotActions none DataActions Microsoft.Batch/batchAccounts/* NotDataActions none
{
"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 帳戶中的集區和作業。
動作 描述 Microsoft.Batch/batchAccounts/read 列出 Batch 帳戶或取得 Batch 帳戶的屬性。 Microsoft.Batch/batchAccounts/*/read 檢視 Batch 帳戶中的所有資源。 Microsoft.Resources/subscriptions/resourceGroups/read 取得或列出資源群組。 NotActions none DataActions Microsoft.Batch/*/read 檢視 Batch 帳戶中的所有資源。 NotDataActions none
{
"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 集區和作業的許可權,但不授與修改帳戶的許可權。
動作 描述 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 none DataActions Microsoft.Batch/batchAccounts/jobSchedules/* 在 Batch 帳戶上建立和管理作業排程。 Microsoft.Batch/batchAccounts/jobs/* 在 Batch 帳戶上建立和管理作業。 NotDataActions none
{
"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 帳戶中提交和管理作業。
動作 描述 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 none DataActions Microsoft.Batch/batchAccounts/jobSchedules/* 在 Batch 帳戶上建立和管理作業排程。 Microsoft.Batch/batchAccounts/jobs/* 在 Batch 帳戶上建立和管理作業。 NotDataActions none
{
"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 標識符的許可權。
- 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":[
]
}
]
}
}