# Azure環境のセットアップ

<figure><img src="https://859776093-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL6k1aGsLiFiiJ3Y7zCl%2Fuploads%2FHchnpaT4gfgfdqwAfq3a%2Fimage.png?alt=media&#x26;token=f66f7854-4a10-4778-b588-9e84ae713330" alt=""><figcaption></figcaption></figure>

## Azure環境の概要

Azure環境内のリソースは、PAM構成レコードに構成されたAzureアプリケーションポリシーおよびクライアントIDを使用して、Keeperゲートウェイによって管理できます。

以下は、Azure環境のセットアップ手順です。

1. デフォルトのAzure Active DirectoryにAzureアプリケーションを作成します。
2. この新しいアプリケーションからKeeper PAM構成に必要な値 (Client ID、Tenant IDなど) を取得します。
3. アプリケーションにAzure Active Directoryへのアクセス権限を付与します。
4. アプリケーションがAzureリソースにアクセスまたは操作できるよう、カスタムロールを作成します。

## Azureアプリ登録の作成

Azure ポータルにサインインし、 左側メニューの **\[Microsoft Entra ID]** をクリックします。**\[アプリの登録]** を選択し、**\[新規登録]** をクリックします。アプリケーションに名前を付け、**\[この組織ディレクトリ内のアカウントのみ]** を選択して、画面下部の **\[登録]** ボタンをクリックします。

登録後、アプリケーションの **\[概要]** タブに表示される **\[アプリケーション (クライアント) ID]** (UUID) は、Keeper PAM構成レコードの\[クライアントID] フィールドに入力する値です。同様に **\[ディレクトリ (テナント) ID]** は **\[テナントID]** フィールドに使用します。これらの値は後の設定で使用するため、控えておいてください。

<figure><img src="https://859776093-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL6k1aGsLiFiiJ3Y7zCl%2Fuploads%2FrsRIgb7wW5oVsSwnqZ8Y%2Fimage.png?alt=media&#x26;token=deb2e9f0-2ea7-4591-86d4-a7bca038de0b" alt=""><figcaption><p>アプリケーションの作成</p></figcaption></figure>

次に、**\[ホーム]** > **\[一般]** > **\[サブスクリプション]** に移動し、サブスクリプション ID を取得します。取得したサブスクリプション ID を Keeper PAM構成の「サブスクリプション ID」フィールドにコピーします。サブスクリプション ID の取得方法については、このページをご覧ください。

次に、**\[証明書とシークレット]** に移動し、**\[新しいクライアント シークレット]** をクリックします。クライアント シークレットに説明を入力し、有効期限を選択して、**\[追加]** をクリックします。

ページが更新されてシークレットの値が表示されます。表示された **\[値]** (シークレットIDではありません) をKeeper PAM構成の **\[クライアントシークレット]** フィールドにコピーして保存します。

<figure><img src="https://859776093-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL6k1aGsLiFiiJ3Y7zCl%2Fuploads%2FzwZrNybVzpzo51eMAIJ7%2Fimage.png?alt=media&#x26;token=67185dd1-cd12-4a7e-92e4-1898beb52c79" alt=""><figcaption><p>クライアントシークレット</p></figcaption></figure>

この時点で、必要な PAM構成の各フィールドはすべて入力されているはずです。ただし、作成した Azure アプリケーションには、まだ何の操作権限も与えられていません。

## ロールと管理者の割り当て

AzureテナントのサービスプリンシパルまたはアプリケーションがAzure Active Directoryユーザーまたは Azure Active Directory Domain Servicesユーザーのパスワードをローテーションするには、そのアプリケーションに管理者ロールを割り当てる必要があります。

Azureポータルで、**\[ホーム] > \[Azure Active Directory] > \[ロールと管理者]** に移動し、使用する管理者ロール (たとえば **\[特権認証管理者]**) をクリックします。必要な特権は状況によって異なります。カスタム ロールを使用することも可能です。

* **全体管理者** – サービス プリンシパルに対して全体管理者を使用することは推奨されませんが、管理者およびユーザーの両方のパスワードをローテーションすることが可能になります。
* [**特権認証管理者**](https://learn.microsoft.com/ja-jp/entra/identity/role-based-access-control/permissions-reference#privileged-authentication-administrator) – 全体管理者ユーザーを含むすべてのユーザーのパスワードを変更できます。
* [**認証管理者**](https://learn.microsoft.com/ja-jp/entra/identity/role-based-access-control/permissions-reference#authentication-administrator) – 全体管理者ユーザーを除くすべてのユーザーのパスワードを変更できます。

アプリケーションを追加するには、**\[割り当ての追加]** をクリックし、作成したサービス プリンシパルまたはアプリケーションを検索してクリックし、**\[追加]** をクリックします。

<figure><img src="https://859776093-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL6k1aGsLiFiiJ3Y7zCl%2Fuploads%2FaIUpRDtDMkVpon7EgrHF%2Fimage.png?alt=media&#x26;token=360a2059-764d-4652-b1d5-a20d1abbeb63" alt=""><figcaption><p>管理者ロールをKeeperアプリケーションに割り当てる</p></figcaption></figure>

## Azureロールの割り当て

ターゲットリソースのパスワードをローテーションするには、Azureアプリケーション (ここでは**サービスプリンシパル**とも呼ばれます) にロールを割り当てる必要があります。これは、Azureポータルの **\[サブスクリプション]** セクションで実行します。

Azureポータルで、**\[ホーム] > \[サブスクリプション]** に移動し、対象のサブスクリプションを選択します。**\[アクセス制御(IAM)]** をクリックし、次に **\[ロール]** を選択します。

上部メニューの **\[追加]** をクリックし、**\[カスタム ロールの追加]** を選択します。**\[JSON]** タブにジャンプし、**\[編集]** をクリックして、以下のJSONオブジェクトを貼り付け、環境に応じて修正します。

{% hint style="info" %}
以下 (JSON) は Keeperゲートウェイで使用可能なすべての権限の一覧です。ご自身の構成に必要な権限のみを含めてください。
{% endhint %}

保存する前に、次の項目を変更してください。

* `<ROLE NAME>`: ロール名 (例: "Keeper Secrets Manager")
* `<DESCRIPTION>`: ロールの説明 (例: "Role for password rotation")
* `<SUBSCRIPTION ID>`: このAzureサブスクリプションのサブスクリプション ID

```json
{
    "properties": {
        "roleName": "<ROLE NAME>",
        "description": "<DESCRIPTION>",
        "assignableScopes": [
            "/subscriptions/<SUBSCRIPTION ID>"
        ],
        "permissions": [
            {
                "actions": [
                    "Microsoft.Compute/virtualMachines/read",
                    "Microsoft.Network/networkInterfaces/read",
                    "Microsoft.Network/publicIPAddresses/read",
                    "Microsoft.Network/networkSecurityGroups/read",
                    "Microsoft.Compute/virtualMachines/instanceView/read",
                    "Microsoft.Resources/subscriptions/resourceGroups/read",
                    "Microsoft.AAD/domainServices/read",
                    "Microsoft.Network/virtualNetworks/subnets/read",
                    "Microsoft.Sql/servers/read",
                    "Microsoft.Sql/servers/databases/read",
                    "Microsoft.DBforPostgreSQL/servers/read",
                    "Microsoft.DBforMySQL/servers/read",
                    "Microsoft.DBforPostgreSQL/servers/databases/read",
                    "Microsoft.Sql/servers/write",
                    "Microsoft.DBforPostgreSQL/servers/write",
                    "Microsoft.DBforMySQL/servers/write",
                    "Microsoft.DBforMySQL/flexibleServers/read",
                    "Microsoft.DBforPostgreSQL/flexibleServers/read",
                    "Microsoft.DBforPostgreSQL/flexibleServers/write",
                    "Microsoft.DBforMySQL/flexibleServers/write",
                    "Microsoft.DBforMariaDB/servers/read",
                    "Microsoft.DBforMariaDB/servers/write"
                ],
                "notActions": [],
                "dataActions": [],
                "notDataActions": []
            }
        ]
    }
}
```

**\[保存]** をクリックします。

完了したら、**\[確認および作成]** をクリックし、続けて **\[作成]** をクリックします。

ロールが作成されたら、そのロールをアプリケーション (**サービスプリンシパル**) に割り当てる必要があります。**\[詳細]** 列の **\[表示]** をクリックします。

<figure><img src="https://859776093-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL6k1aGsLiFiiJ3Y7zCl%2Fuploads%2FIkc2tB3wLHYE7edQAosN%2Fimage.png?alt=media&#x26;token=431f9552-8cf4-4790-adef-fd18d133b96d" alt=""><figcaption><p>ロール</p></figcaption></figure>

画面の右側にパネルが表示されます。**\[割り当て]** をクリックし、次に **\[割り当ての追加]** をクリックします。

**\[ロール]** タブの検索バーに新しいロール名を入力し、ダブルクリックして選択します。

**\[メンバー]** タブに移動し、**\[メンバーの選択]** をクリックします。開いたパネルで、Azureアプリケーションの名前を入力し、現在のアプリケーションを選択して、**\[選択]** をクリックします。

<figure><img src="https://859776093-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL6k1aGsLiFiiJ3Y7zCl%2Fuploads%2FLWrcfstU7qybVKuplpSK%2Fimage.png?alt=media&#x26;token=625d1eac-b362-492b-baf9-85e346102a42" alt=""><figcaption><p>Azureカスタムロールの作成</p></figcaption></figure>

<figure><img src="https://859776093-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL6k1aGsLiFiiJ3Y7zCl%2Fuploads%2F4B8UpqQJsEZIpXC19zfD%2Fimage.png?alt=media&#x26;token=35a7cc85-6f56-428c-a561-595c26b2d727" alt=""><figcaption><p>Keeperシークレットマネージャーアプリケーションのメンバーにロールを割り当てる</p></figcaption></figure>

**\[確認および割り当て]** タブに移動し、**\[確認および割り当て]** をクリックします。

これで、Azure環境内に必要なロールとアプリケーションの作成が完了しました。

### PAMの機能

PAM構成内の「許可されているPAM機能」および「許可されているセッションレコーディングのタイプ」の各セクションでは、PAM構成を通じて管理されるリソースに対して、KeeperPAMの各機能を有効または無効にすることができます。

<table><thead><tr><th width="295.390625">フィールド</th><th>説明</th></tr></thead><tbody><tr><td>ローテーション</td><td>有効にすると、このPAM構成で管理されている特権ユーザーに対してパスワードのローテーションを許可します。</td></tr><tr><td>接続</td><td>有効にすると、このPAM構成で管理されているリソースへの接続を許可します。</td></tr><tr><td>リモートブラウザ分離</td><td>有効にすると、このPAM構成で管理されているリソースでRBIセッションを許可します。</td></tr><tr><td>トンネリング</td><td>有効にすると、このPAM構成で管理されているリソースでトンネル接続を許可します。</td></tr><tr><td>セッション録画</td><td>有効にすると、すべての接続およびRBIセッションに対してビジュアルな再生用セッション録画が行われます。</td></tr><tr><td>テキストセッションレコーディング (TypeScript)</td><td>有効にすると、すべての接続およびRBIセッションに対してテキストの入力および出力ログが記録されます。</td></tr></tbody></table>

## PAMレコードタイプのPAM機能を構成

PAM構成を作成した後、次の各ページで個別機能を構成してください。

* [ローテーション](https://docs.keeper.io/keeperpam/privileged-access-manager/password-rotation)の構成
* [接続](https://docs.keeper.io/keeperpam/privileged-access-manager/connections)の構成
* [リモートブラウザ分離](https://docs.keeper.io/keeperpam/privileged-access-manager/remote-browser-isolation)の構成
* [トンネル](https://docs.keeper.io/keeperpam/privileged-access-manager/tunnels)の構成
* [検出](https://docs.keeper.io/keeperpam/privileged-access-manager/discovery)の構成

## 既定のAzure SDKエンドポイントの上書き

Azure Governmentやその他のソブリン型クラウドなど、一部のAzure環境では、商用Azure (`azure.com`) とは異なる認証エンドポイントやMicrosoft Graphエンドポイントが使用されます。KeeperPAMの構成レコードにカスタムフィールドを設定することで、既定のAzure SDKエンドポイントを上書きでき、商用環境以外のAzure環境でもパスワードローテーションが正しく機能するようになります。

これらのカスタムフィールドの構成方法については、こちらのページをご参照ください。
