# Azure

Shisho Cloud と Azure を連携することで、Entra ID テナント及び Azure サブスクリプションのセキュリティスキャンが実施できます。
この連携は以下の 5 ステップで行えます:

1. 対象の Entra ID に Shisho Cloud が利用できる App Registration を作成する。
2. API の許可を追加する。
3. 関連する Federated Credential を作成する。
4. 登録した App Registration に、Azure のサブスクリプションの権限を付与する。
5. 作成した App Registration 等の情報を Shisho Cloud に登録する。

:::info
Shisho Cloud は Azure アプリケーションの静的なキーを使用しません。
その代わりに、Federated Credentials により、短命の認証情報を適宜発行しながら Azure にアクセスします。
:::

## App Registration の作成

以下の手順を実行してください。

1. [Azure Portal 内「Microsoft Entra ID」](https://portal.azure.com/#view/Microsoft_AAD_IAM/ActiveDirectoryMenuBlade/~/RegisteredApps) を開く。
2. _アプリの登録_ をクリックする。
3. _新規登録_ をクリックする。
4. 任意のアプリケーション名（例: `shisho-cloud`）を入力する。
5. _サポートされているアカウントの種類_ に _この組織ディレクトリのみに含まれるアカウント_ を選択する。
6. 「登録」をクリックする。

## API の許可

以下の手順を実行してください。

1. 作成したアプリケーションのページで、_API の許可_ をクリックする。
2. _アクセス許可の追加_ から、以下の要領で API の許可を追加する。
   - アクセス許可の種類: アプリケーションの許可
   - アクセス許可する API（Microsoft Graph）
     - `Directory.Read.All`
     - `Group.Read.All`
     - `Policy.Read.All`
     - `User.Read.All`
3. _（テナント名）に管理者の同意を与えます_ を押下し、API 利用に管理者として同意を与える。
4. 上述の各 API の状態が _承認済み_ になっていることを確認する。

## Federated Credential の作成

以下の手順を実行してください。

1. 作成したアプリケーションのページで、_証明書とシークレット_ をクリックする。
2. _フェデレーション資格情報_ をクリックする。
3. _資格情報の追加_ をクリックする。
4. _フェデレーション資格情報のシナリオ_ に _その他の発行者_ を選択する。
5. 以下の要領で資格情報を作成する。
   - 発行者: `https://tokens.cloud.shisho.dev`
   - Type: _Explicit subject identifier_
   - 値: `job:<Shisho Cloud 組織名>:default` (例: `job:your-organization-id:default`)
   - 名前: 任意（例: `shisho-cloud`）
   - 説明: 任意
6. 作成した資格情報を選択する。
7. _資格情報の追加_ をクリックする。

## サブスクリプションへの権限の付与

Shisho Cloud で検査したいサブスクリプションや、それを含むリソースグループ、管理グループ等に対して、以下のロールを割り当ててください。

- 閲覧者
- セキュリティ閲覧者

割当方法は [Azure 公式ドキュメント](https://learn.microsoft.com/ja-jp/azure/role-based-access-control/role-assignments-portal) で確認できます。

Shisho Cloud は、自身がアプリケーションを通して閲覧できる全てのサブスクリプションに対して、設定データの取得・評価を実行します。

## 連携の登録

「歯車マーク :gear: > 連携（Integrations）」画面に表示されているカード「Azure」の「設定」ボタンを押下し、画面の指示に従いながら情報を入力してください。

必要な情報は作成したアプリケーションのページ内に表示されています。
![](/docs/ja/_md-assets/5de8916091-integration-info.png)
