次の方法で共有


Azure Batch サービスのロールベースのアクセス制御

Azure Batch サービスは、Azure Batch アカウントにさまざまなレベルのアクセス許可を提供する、組み込みの Azure ロールのセットに対応しています。 Azure リソースへの個々のアクセスを管理するための認可システムである Azure ロールベースのアクセス制御 (Azure RBAC) を使用すると、Batch アカウントと対話する必要があるユーザー、サービス プリンシパル、またはその他の ID に特定のアクセス許可を割り当てることができます。 特定の使用シナリオに合わせて詳細に設定されたアクセス許可を使用して、カスタム ロールを割り当てることもできます。

Note

すべての RBAC ロール (組み込みとカスタムの両方) は、Batch 共有キーの資格情報向けではなく、Microsoft Entra ID によって認証されるユーザーを対象としています。 Batch 共有キーの資格情報によって、Batch アカウントに対する完全なアクセス許可が付与されます。

Azure RBAC を割り当てる

Azure RBAC ロールをユーザー、グループ、サービス プリンシパル、またはマネージド ID に割り当てるには、以下の手順に従います。 詳細な手順については、「Azure portal を使用して Azure ロールを割り当てる」を参照してください。

  1. Azure portal で、特定の Batch アカウントに移動します。

    ヒント

    また、リソース グループ、サブスクリプション、または管理グループ全体に対して Azure RBAC を設定することもできます。 これを行うには、目的のスコープ レベルを選択し、目的の項目に移動します。 たとえば、 [リソース グループ] を選択し、特定のリソース グループに移動します。

  2. 左側のナビゲーションから [アクセス制御 (IAM)] を選択します。

  3. [アクセス制御 (IAM)] ページで、[ロールの割り当てを追加] を選択します。

  4. [ロールの割り当ての追加] ページで、[ロール] タブを選択し、Azure Batch の組み込み RBAC ロールのいずれかを選択します。

  5. [メンバー] タブを選び、[メンバー][メンバーを選択する] を選びます。

  6. [メンバーの選択] 画面で、ユーザー、グループ、サービス プリンシパル、またはマネージド ID を検索して選択し、[選択] を選びます。

    Note

    サービス プリンシパルを使用して Azure Batch サービスを認証するようにアプリケーションを構成する場合は、ここでアプリケーションを検索して選択し、Azure Batch アカウントへのアクセスとアクセス許可を構成します。

  7. [ロールの割り当てを追加] ページで、[レビューと割り当て] を選びます。

これで、Batch アカウントの [アクセス制御 (IAM)] ページの [ロールの割り当て] タブに対象の ID が表示されるはずです。

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 アカウントのジョブ スケジュールを作成、更新、または削除する

警告

Batch アカウントの証明書機能が廃止されました

Azure Batch アカウント共同作成者

Batch のアカウント、プール、ジョブなど、すべての Batch リソースを管理するためのフル アクセスが付与されます。

アクション 説明
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 アカウント内のプールとジョブを含むすべてのリソースを表示できます。

アクション 説明
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 のプールとジョブを管理するためのアクセス許可が付与されますが、アカウントを変更することはできません。

アクション 説明
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 アカウントでジョブの送信と管理ができます。

アクション 説明
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。任意の操作用

ヒント

自動プールを使用するジョブには、プールレベルのアクセス許可が必要です。

Note

特定のロールの割り当ては、actions フィールドで指定する必要がありますが、それ以外は dataActions フィールドで指定する必要があります。 ロールに割り当てられているすべての機能を理解するには、actionsdataActions の両方を調べる必要があります。 詳細については、「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":[

        ]
      }
    ]
  }
}

次のステップ