> ## 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 Storage

> OAuth を使用して Azure Storage の管理 API を Iru Compliance に接続し、BLOB やファイルの内容を読み取ることなく、ストレージアカウントとコンテナーの構成を収集します。

### Microsoft Azure Storage について

**Microsoft Azure Storage** ソースは、**Azure Resource Manager** を通じて、**ストレージアカウント** の設定、**BLOB コンテナー** のメタデータ、**コンテナーのアクセスポリシー**、**ライフサイクル管理** ルール、**ネットワークルール** を読み取ります。**Iru は BLOB の内容、ファイル共有のデータ、キューメッセージ、テーブルの行を読み取りません**。収集するのは、管理 API が返す構成とコンテナーレベルのメタデータのみです。

認証には、ウィザードを完了したユーザーとして **委任された OAuth 2.0**（Microsoft Entra ID）を使用します。Iru がストレージアカウント、コンテナー、ポリシーを変更することは **ありません**。

**サブスクリプション** の完全なインベントリを得るには、**サブスクリプション** スコープで **Reader** を割り当てます。**リソースグループ** のみにスコープされた **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 が収集する内容

| データの種類 | 備考 |
| - | - |
| ストレージアカウント | 名前、場所、SKU（LRS、GRS、ZRS）、種類、アクセス層、TLS バージョン、ネットワークルール |
| BLOB コンテナー | コンテナー名、パブリックアクセスの設定、メタデータ |
| コンテナーのアクセスポリシー | 保存されたアクセスポリシーとその権限 |
| ライフサイクル管理ポリシー | 層の移行と削除のルール |
| ネットワークルール | ファイアウォールルール、サービスエンドポイント、プライベートエンドポイント |

サブスクリプションスコープでの **Reader** には、ARM を通じたアカウントとコンテナーのメタデータに対する `Microsoft.Storage/*/read` が含まれますが、オブジェクトの内容に対するデータプレーンのアクセスは **含まれません**。

公式リファレンス: [Azure Storage のドキュメント](https://learn.microsoft.com/azure/storage/)、[Storage Resource Provider REST API](https://learn.microsoft.com/rest/api/storagerp/)、[ストレージの組み込みロール](https://learn.microsoft.com/azure/role-based-access-control/built-in-roles/storage)、[Azure RBAC を使用したアクセスの承認](https://learn.microsoft.com/azure/storage/blobs/authorize-access-azure-active-directory)。

### 前提条件

* [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 Storage を 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 が **ストレージアカウント** と関連する ARM メタデータを読み取るサブスクリプションを開きます。
      </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 Storage** を探します（**カテゴリ** を **Developer tools** に設定するか、**名前または説明で検索** を使用します）。そのカードで **トグル** をオンにして、コネクタウィザードを開始します。
      </Step>

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

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

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