> ## 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 Key Vault

> OAuth を使用して Azure Key Vault を Iru Compliance に接続し、実際のシークレット値を公開することなく、監査用にコンテナー、キー、シークレット、証明書のメタデータを収集します。

### Microsoft Azure Key Vault について

**Microsoft Azure Key Vault** ソースは、**Azure Resource Manager** を通じて、**コンテナーの構成** と、キー、シークレット、証明書の **メタデータ** を読み取ります。**Iru はシークレット値、キーマテリアル、秘密キーを読み取りません**。収集するのは、名前、属性、有効期限、アクセス構成など、管理 API が公開するフィールドのみです。

Iru は、ウィザードを完了したユーザーとして **委任された OAuth 2.0**（Microsoft Entra ID）で認証します。そのユーザーが Azure で読み取れないものは、Iru には表示されません。

### 仕組み

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

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

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

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

| データの種類 | 備考 |
| - | - |
| キーコンテナーの構成 | 名前、場所、SKU（standard または premium）、論理的な削除、消去保護 |
| キー（メタデータ） | 識別子、許可された操作、有効状態、有効期限（キーマテリアルは **含みません**） |
| シークレット（メタデータ） | 名前、コンテンツタイプ、有効状態、有効期限（シークレット値は **含みません**） |
| 証明書（メタデータ） | 識別子、発行者、有効期間（秘密キーは **含みません**） |
| アクセスポリシー / RBAC | 各コンテナーに対してどのプリンシパルがどの権限を持っているか |

Iru がコンテナー、オブジェクト、アクセスポリシーを変更することは **ありません**。

公式リファレンス: [Azure Key Vault のドキュメント](https://learn.microsoft.com/azure/key-vault/)、[Key Vault REST API](https://learn.microsoft.com/rest/api/keyvault/)、[Key Vault RBAC ガイド](https://learn.microsoft.com/azure/key-vault/general/rbac-guide)、[セキュリティの組み込みロール](https://learn.microsoft.com/azure/role-based-access-control/built-in-roles/security)。

### 前提条件

* [Azure portal](https://portal.azure.com) への **Microsoft Entra ID** サインイン。
* 組み込みの **Key Vault Reader** ロール（推奨）または **Reader**。コンテナー全体を最も幅広くカバーするには **サブスクリプション** スコープで、意図的に可視範囲を制限する場合は個々のコンテナーのスコープで割り当てます。**Key Vault Reader** には、コンテナーの読み取りと、キー、シークレット、証明書のメタデータの読み取りが含まれますが、シークレットやキーマテリアルへのアクセスは **含まれません**。
* ソースを有効にしたときにコネクタウィザードが開けるよう、ブラウザの **ポップアップ** が許可されていること。

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

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

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

### Microsoft Azure Key Vault を Iru に接続する

まず **Microsoft Azure** でポータルへのアクセスと **Key Vault Reader**（または **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 が読み取る **Key Vault** を含む（または親となる）サブスクリプションを開きます。
      </Step>

      <Step title="Key Vault または Reader のアクセス権を確認する">
        **Access control (IAM)** → **View my access** を開きます。**前提条件** に従って、特定のコンテナーに対する **Key Vault Reader**、またはサブスクリプションスコープでの **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 Key Vault** を探します（**カテゴリ** を **Developer tools** に設定するか、**名前または説明で検索** を使用します）。そのカードで **トグル** をオンにして、コネクタウィザードを開始します。
      </Step>

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

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

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

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

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

  <Accordion title="コンテナーの一覧が空、または 403 エラー">
    サインインしたアカウントに、サブスクリプションまたはコンテナーに対する **Key Vault Reader** または **Reader** がない可能性があります。**IAM** の割り当てを確認してください（**前提条件** を参照）。
  </Accordion>

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

  <Accordion title="Broken ステータス">
    **ソース** で **Microsoft Azure Key Vault** を **オフ** にしてから **オン** にし、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>
