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

> OAuth と Azure Resource Manager API を使用して、Microsoft Azure のロールベースのアクセス制御と Azure Policy を Iru Compliance に接続します。

### Microsoft Azure Authorization について

**Microsoft Azure Authorization** ソースは、接続したサブスクリプションから **Azure RBAC** のロール割り当てとロール定義、および **Azure Policy** の定義と割り当てを読み取ります。Iru のエビデンスには、**誰が何にアクセスできるか** と **どのポリシーが割り当てられているか** が反映されます。Iru が Azure に変更を書き戻すことはありません。Iru はサインインしたユーザーに代わって **Azure Resource Manager** に対して **委任された OAuth 2.0** を使用するため、収集はそのユーザーの既存の Azure 権限に従います。

### 仕組み

Iru は **Azure Resource Manager**（`management.azure.com`）に対して、Microsoft の **OAuth 2.0 認可コードフロー**（委任されたアクセス許可）を使用します。ポップアップでサインインして同意すると、Iru は有効期間の短いアクセストークンを受け取り、自動的に更新します（該当する場合はリフレッシュトークンのローテーションを含みます）。

要求される OAuth スコープは次のとおりです:

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

これにより、**サインインしたユーザーとして** ARM API への **読み取り** アクセスが付与されます。アクセスは、サブスクリプションに対するそのユーザーの RBAC によって制限されます。

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

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

| データの種類 | Azure ARM リソースの種類 |
| - | - |
| ロール割り当て | `Microsoft.Authorization/roleAssignments` |
| ロール定義（組み込みおよびカスタム） | `Microsoft.Authorization/roleDefinitions` |
| Azure Policy の定義 | `Microsoft.Authorization/policyDefinitions` |
| Azure Policy の割り当て | `Microsoft.Authorization/policyAssignments` |

Iru がロール割り当てやポリシー構成を変更することは **ありません**。

公式リファレンス: [Azure RBAC のドキュメント](https://learn.microsoft.com/azure/role-based-access-control/overview)、[REST API](https://learn.microsoft.com/rest/api/authorization/)、[ロール割り当ての一覧表示（概念）](https://learn.microsoft.com/azure/role-based-access-control/role-assignments-list-rest)、[組み込みロール](https://learn.microsoft.com/azure/role-based-access-control/built-in-roles)、[OAuth 2.0 認可コードフロー](https://learn.microsoft.com/entra/identity-platform/v2-oauth2-auth-code-flow)。

### 前提条件

* [Azure portal](https://portal.azure.com) にサインインできる **Microsoft Entra ID** アカウント。
* Iru に読み取らせる **サブスクリプション** に対する、少なくとも組み込みの **Reader** ロール（または同等の読み取りアクセス権）。これには、割り当て、定義、ポリシーのメタデータに対する `Microsoft.Authorization/*/read` が含まれます。
* ソースを有効にしたときにコネクタウィザードが開けるよう、ブラウザの **ポップアップ** が許可されていること。

アクセス権を確認するには: **Subscriptions** → 対象のサブスクリプション → **Access control (IAM)** → **View my access** を開き、そのスコープで **Reader**（またはそれ以上）があることを確認します。

ロールの割り当てが必要な場合は、サブスクリプションの管理者が Azure CLI を使用できます（プレースホルダーを置き換えてください）:

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

### Microsoft Azure Authorization を 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 ウィザードで使用する **Microsoft Entra ID** アカウント（Iru に読み取らせるのと同じテナント）でサインインします。
      </Step>

      <Step title="対象のサブスクリプションを開く">
        **Subscriptions** を検索し、Iru が **Authorization** のメタデータ（ロール割り当て、定義、ポリシー）を収集する **サブスクリプション** を開きます。
      </Step>

      <Step title="Reader アクセス権を確認する">
        サブスクリプションで **Access control (IAM)** → **View my access** を開きます。**前提条件** で説明したとおり、**Reader**（またはこのスコープで `Microsoft.Authorization/*/read` を含む別のロール）が表示されることを確認します。
      </Step>

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

      <Step title="マルチテナントの注意点を確認する">
        会社で複数の Microsoft Entra ID テナントを使用している場合は、同じブラウザプロファイルで個人用 Microsoft アカウントからサインアウトするか、プライベートウィンドウを使用して、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 Authorization** を探します（**カテゴリ** を **Developer tools** に設定するか、**名前または説明で検索** を使用します）。そのカードで **トグル** をオンにして、コネクタウィザードを開始します。
      </Step>

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

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

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

Authorization のメタデータは **サブスクリプション** スコープで読み取られます。**複数のサブスクリプション** をカバーするには、サブスクリプションごとにこのフローを繰り返すか、必要な各サブスクリプションで **Reader** を持つアカウントを使用します。

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

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

  <Accordion title="権限が不十分、またはデータが空">
    認証するアカウントに **サブスクリプション** の **Reader** ロールがあることを確認してください（**前提条件** を参照）。
  </Accordion>

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

  <Accordion title="Broken ステータスまたは再認証">
    接続がアクティブな間、アクセストークンは約 1 時間ごとに更新されます。更新が中断された場合（例: 長期間アクティビティがなかった後）、カードに **Broken** と表示されることがあります。ソースを **オフ** にしてから **オン** にし、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>
