> ## Documentation Index
> Fetch the complete documentation index at: https://docs.iru.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Microsoft Azure Network

> OAuth を使用して Azure Network の管理 API を Iru Compliance に接続し、VNet、NSG、ファイアウォール、ルート、ロードバランサー、パブリック IP を収集します。

### Microsoft Azure Network について

**Microsoft Azure Network** ソースは、**Azure Resource Manager** を通じて、サブスクリプションから **仮想ネットワーク** のレイアウト、**ネットワークセキュリティグループ**、**Azure Firewall** のポリシー、**ルートテーブル**、**ロードバランサー**、**パブリック IP** の構成を読み取ります。認証には、ウィザードを完了したユーザーとして **委任された OAuth 2.0**（Microsoft Entra ID）を使用します。Iru がネットワークリソースを変更することは **ありません**。

**サブスクリプション全体** を可視化するには、**サブスクリプション** スコープで **Reader** を割り当てます。個々のリソースグループにのみ付与されたロールでは、それらのグループ外のリソースが表示されない場合があります。

### 仕組み

Iru は **Azure Resource Manager** に対して Microsoft の **OAuth 2.0 認可コードフロー** を使用します。要求されるスコープは次のとおりです:

`https://management.azure.com/user_impersonation`

| 項目 | 値 |
| - | - |
| **カテゴリ** | 開発者ツール |
| **認証** | OAuth 2.0（Microsoft Entra ID、Azure Resource Manager） |
| **ベンダープラン** | ネットワークリソースを持つ任意の Azure サブスクリプション |

#### Iru が収集する内容

| データの種類 | 備考 |
| - | - |
| 仮想ネットワーク（VNet） | アドレス空間、サブネット、DNS 設定、ピアリング |
| ネットワークセキュリティグループ（NSG） | 受信規則と送信規則、関連付けられたサブネットと NIC |
| Azure Firewall | ルール、脅威インテリジェンス、DNS プロキシの設定 |
| ルートテーブル | ユーザー定義ルートとサブネットの関連付け |
| ロードバランサー | フロントエンド IP、バックエンドプール、ルール、正常性プローブ |
| パブリック IP アドレス | 割り当て方法、DNS ラベル、関連付け |

サブスクリプションスコープでの組み込みの **Reader** ロールには、これらのリソースの種類に対する `Microsoft.Network/*/read` が含まれます（書き込み権限はありません）。

公式リファレンス: [Virtual Network のドキュメント](https://learn.microsoft.com/azure/virtual-network/)、[ネットワークセキュリティグループ](https://learn.microsoft.com/azure/virtual-network/network-security-groups-overview)、[ネットワークの組み込みロール](https://learn.microsoft.com/azure/role-based-access-control/built-in-roles/networking)、[Network REST API](https://learn.microsoft.com/rest/api/virtualnetwork/)。

### 前提条件

* [Azure portal](https://portal.azure.com) への **Microsoft Entra ID** サインイン。
* 接続する **サブスクリプション** に対する **Reader**（またはそれ以上）。完全なインベントリを得るには **サブスクリプション** スコープで割り当てます。
* ソースを有効にしたときにコネクタウィザードが開けるよう、ブラウザの **ポップアップ** が許可されていること。

アクセス権を確認する: **Subscriptions** → 対象のサブスクリプション → **Access control (IAM)** → **View my access**。

ロール割り当ての例（プレースホルダーを置き換えてください）:

```bash theme={null}
az role assignment create \
  --assignee <your-user-principal-name> \
  --role "Reader" \
  --scope /subscriptions/<subscription-id>
```

### Microsoft Azure Network を Iru に接続する

まず **Microsoft Azure** でポータルへのアクセスとサブスクリプションに対する **Reader** の対象範囲を確認してから、**Iru Compliance** で OAuth を完了します。ウィザードには **Step 1 of 1: Perform OAuth Authentication** と表示されます。

<Tabs>
  <Tab title="Microsoft Azure">
    <Note>
      **Iru Compliance** で OAuth を開始する前に、このタブの手順を完了してください。
    </Note>

    <Steps>
      <Step title="Azure portal にサインインする">
        [portal.azure.com](https://portal.azure.com) を開き、Iru ウィザードで使用するアカウントでサインインします。
      </Step>

      <Step title="対象のサブスクリプションを開く">
        **Subscriptions** を検索し、Iru が **仮想ネットワーク**、**NSG**、および関連するネットワークリソースを読み取るサブスクリプションを開きます。
      </Step>

      <Step title="Reader アクセス権を確認する">
        **Access control (IAM)** → **View my access** を開きます。**前提条件** に従って、サブスクリプションスコープで **Reader**（または同等の読み取り権限）があることを確認します。
      </Step>

      <Step title="ブラウザでポップアップを許可する">
        Microsoft の同意ウィンドウを開けるよう、**Iru** のホスト名に対して **ポップアップ** を許可します。
      </Step>

      <Step title="正しい Microsoft Entra ID テナントを計画する">
        複数のテナントを使用している場合は、OAuth でサブスクリプションを所有するテナントにサインインできるよう、クリーンなブラウザセッションを使用します。
      </Step>
    </Steps>

    <Note>
      [**Iru Compliance**](#iru-compliance) タブに進んでください。
    </Note>
  </Tab>

  <Tab title="Iru Compliance">
    <Note>
      先に [**Microsoft Azure**](#microsoft-azure) タブの手順を完了してください。
    </Note>

    <Steps>
      <Step title="ソースを開く">
        Iru Compliance の左側のナビゲーションバーで **コンプライアンス** を展開し、**ソース** を選択します。

        <Frame>
          <img src="https://mintcdn.com/iru/tI0HDLDwHj8r9Ile/assets/media/images/iru-navigation-compliance-sources.png?fit=max&auto=format&n=tI0HDLDwHj8r9Ile&q=85&s=87dcef15fc17d2fb9a6e53f454e41710" alt="左側のナビゲーション: Compliance を展開し、Sources を選択した状態" width="410" height="1024" data-path="assets/media/images/iru-navigation-compliance-sources.png" />
        </Frame>
      </Step>

      <Step title="連携をオンにする">
        **Microsoft Azure Network** を探します（**カテゴリ** を **Developer tools** に設定するか、**名前または説明で検索** を使用します）。そのカードで **トグル** をオンにして、コネクタウィザードを開始します。
      </Step>

      <Step title="OAuth を開始してサインインする">
        **Launch OAuth Authentication** を選択します。Microsoft のウィンドウが開いたら、Azure portal で確認したのと同じアカウントでサインインし、同意画面で **Accept** を選択します。
      </Step>

      <Step title="接続を完了する">
        OAuth ウィンドウが閉じて Iru が交換を完了すると、ウィザードに **接続が構成されました** と表示されます。
      </Step>

      <Step title="ソースが有効であることを確認する">
        **Iru が外部サービスへのアクセスをリクエストしています** のブラウザタブを閉じてから **コンプライアンス** → **ソース** に戻り、**Microsoft Azure Network** カードが **有効** になっていることを確認します。
      </Step>
    </Steps>
  </Tab>
</Tabs>

### トラブルシューティング

<AccordionGroup>
  <Accordion title="ソースをオンにしても何も開かない">
    Iru サイトの **ポップアップブロッカー** の設定を確認して、もう一度お試しください。
  </Accordion>

  <Accordion title="ネットワークインベントリが空、または一部しかない">
    サブスクリプション全体を表示する必要がある場合は、**サブスクリプション** スコープで **Reader** が割り当てられていることを確認してください。**リソースグループ** のみにスコープされた **Reader** では、他のグループのリソースが省略される場合があります。
  </Accordion>

  <Accordion title="Microsoft Entra テナントが間違っている">
    Microsoft のポップアップから **サインアウト** し、**正しい** テナントのアカウントでサインインしてください。
  </Accordion>

  <Accordion title="Broken ステータス">
    **ソース** で **Microsoft Azure Network** を **オフ** にしてから **オン** にし、OAuth を再度完了してください。
  </Accordion>
</AccordionGroup>

### 関連記事

<CardGroup cols={2}>
  <Card title="Sources の管理" icon="plug" href="/ja/compliance/sources-management">
    すべての Compliance ソースを参照、管理します。
  </Card>

  <Card title="Compliance を使い始める" icon="rocket" href="/ja/compliance/getting-started-with-compliance">
    フレームワーク、アクション、**アーティファクト**。
  </Card>

  <Card title="Iru の概要" icon="layer-group" href="/ja/iru/platform-overview/iru-overview">
    Endpoint、Compliance、Identity がどのように連携するか。
  </Card>

  <Card title="Artifacts の管理" icon="folder-open" href="/ja/compliance/artifacts-management">
    ソースやアクションから得たエビデンスをアップロード、確認、整理します。
  </Card>
</CardGroup>
