日本語

Azure仮想マシンスキャンのセットアップ

この機能は〜で利用できます Pro と Advanced プランのみです。 お問い合わせ 詳細について。

#なぜ仮想マシンをスキャンする必要があるのですか?

仮想マシンのスキャンでは、Aikido が仮想マシンのディスクをスキャンし、脆弱なパッケージや古いランタイムを検出します。

#前提条件

クライアント シークレットを持つ Entra ID のアプリ登録が必要です。すでにクラウド スキャン用に Azure クラウドを Aikido に接続している場合は、同じアプリ登録を再利用できるため、新しく作成する必要はありません。そうでない場合は、まず次から設定してください Azure クラウドを接続する.

#カスタム ロールを作成する

Aikido は、仮想マシンのスキャンに必要な最小権限に限定したカスタム Azure ロールを使用します。

  1. #アクセス制御 (IAM) に移動

    次へ移動します: サブスクリプション (または 管理グループ)で、仮想マシンに対応するスコープを見つけて、クリックします アクセス制御 (IAM).

  2. #カスタム ロールを追加

    クリックします 追加、その後 カスタム ロールの追加.

  3. #スコープを選択する

    ロールを割り当て可能にする場所を決定します サブスクリプション レベル または 管理グループ レベル:

    • 単一のサブスクリプション: 1つのサブスクリプション内の VM のみを対象にします。
    • 管理グループ: 配下のすべてのサブスクリプションを対象にします。VM が複数のサブスクリプションに分かれている場合に便利です。

    管理グループ スコープの場合、別の ID を調べる必要はありません。お使いの ディレクトリ(テナント)ID、アプリ登録の概要ページと同じものを使用してください。これは組織のルート管理グループに対応します。

  4. #ロールの JSON を貼り付ける

    へ移動 JSON タブを開いてクリックします 編集。以下にロール定義を貼り付けます。

    次の項目を設定します: assignableScopes は、選択したスコープに基づいて次のようになります:

    単一のサブスクリプションの場合:

    "assignableScopes": [
      "/subscriptions/<your-subscription-id>"
    ]

    管理グループの場合:

    "assignableScopes": [
      "/providers/Microsoft.Management/managementGroups/<your-directory-tenant-id>"
    ]

    完全なロール定義:

    {
      "properties": {
        "roleName": "Aikido VM Scanner",
        "description": "",
        "assignableScopes": [
          "<insert scope from above>"
        ],
        "permissions": [
          {
            "actions": [
              "Microsoft.Compute/virtualMachines/read",
              "Microsoft.Compute/disks/beginGetAccess/action",
              "Microsoft.Compute/disks/endGetAccess/action",
              "Microsoft.Compute/disks/read",
              "Microsoft.Compute/snapshots/read",
              "Microsoft.Compute/snapshots/write",
              "Microsoft.Compute/snapshots/delete",
              "Microsoft.Compute/snapshots/beginGetAccess/action",
              "Microsoft.Compute/snapshots/endGetAccess/action",
              "Microsoft.Authorization/roleAssignments/read"
            ],
            "notActions": [],
            "dataActions": [],
            "notDataActions": []
          }
        ]
      }
    }

    クリックします Save.

  5. #確認して作成

    下部で次をクリックします 確認 + 割り当て、その後 作成.

#ロールをアプリ登録に割り当てる

  1. #アクセス制御 (IAM) に戻る

    同じスコープ (サブスクリプションまたは管理グループ) に移動して、 アクセス制御 (IAM).

  2. #ロールの割り当てを追加

    へ移動 ロールの割り当て タブで、 追加、その後 ロールの割り当てを追加.

  3. #カスタム ロールを選択する

    次の 役割 タブで、検索して選択します Aikido VM Scanner ロールを選択して、 次に.

  4. #アプリ登録に割り当てる

    そのままにしておく アクセスの割り当て先 を既定値のままにします。クリックします メンバーを選択、アプリ登録名(例: "AikidoSecurity")を検索して選択します。クリックします 選択します、その後 確認 + 割り当て を 2 回クリックします。

これで、アプリ登録には Azure 仮想マシンをスキャンするために必要な権限が付与されました。

#VM のグループ化

スキャン効率を最適化するため、Aikido は一部の Azure VM をグループ化し、各グループから 1 つのインスタンスのみをスキャンします。グループ化は次のように行われます:

  • 仮想マシン スケール セット (VMSS): 同じ VMSS に属するすべての VM は、Aikido では 1 つの VM グループとして表示されます。VM グループ名は VMSS の識別子と一致します。
  • グループ化なし: VMSS の一部ではない VM はスタンドアロン VM として扱われ、個別にスキャンされます。