> For the complete documentation index, see [llms.txt](https://docs.realmjoin.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.realmjoin.com/ja/realmjoin-agent/realmjoin-client/local-admin-password-solution-laps.md).

# Local Admin Password Solution (LAPS)

当社の Local Administrator Password Solution (LAPS) は、ユーザーサポートや権限昇格のために環境内で同一のアカウントを使用する問題を解決するために作られました。LAPS はローカルアカウント用の強力なパスワードを生成し、それらは安全に *自分の* [Azure Key Vault](/ja/realmjoin-agent/realmjoin-client/local-admin-password-solution-laps/keyvault.md)に保存されます。監査のために、次のいずれかを指定できます。 [Application Insights](/ja/realmjoin-agent/realmjoin-client/local-admin-password-solution-laps/application-insights.md) のインスタンス、または [Log Analytics Workspace](/ja/torogu/log-analytics.md).

## 前提条件

LAPS を開始する前に、以下の前提条件を満たす必要があります：

* セットアップ [Application Insights](#application-insights) または [Log Analytics Workspace](/ja/torogu/log-analytics.md)
* グループ（またはユーザー）設定を使用して LAPS アカウントタイプを明示的に有効にする

以下で両方を見ていきます。

## ログ記録

LAPS を使用する際、Application Insights と Log Analytics は重要な役割を果たします。LAPS によってトリガーされたパスワード要求は RealmJoin によってログに記録され、設定済みの Application Insights のインスタンスまたは Log Analytics Workspace に送られます。これにより、誰がパスワードを取得しているのかを完全に把握できます。

必要なのは 1 種類のログ記録だけです。Application Insights か Log Analytics のどちらかを選択してください。LAPS のセットアップ時のログ記録は任意であり、組織がこの情報を必要としない場合は省略できます。

詳細は当社の [Application Insights](/ja/realmjoin-agent/realmjoin-client/local-admin-password-solution-laps/application-insights.md) および [Log Analytics](/ja/torogu/log-analytics.md) の記事をご覧ください。

## グループ設定

LAPS は以下のグローバル設定をサポートします。

| 設定キー                               | 既定値       | 説明                                                                                                                 |
| ---------------------------------- | --------- | ------------------------------------------------------------------------------------------------------------------ |
| LocalAdminManagement.Inactive      | `false`   | 次のように設定すると `true` この機能を強制的にオフにします。これによりクリーンアップされ、 **削除** すべてのローカルアカウントが削除されます。                                     |
| LocalAdminManagement.CheckInterval | `"01:00"` | 内部設定チェックの間隔（[HH:mm](https://docs.microsoft.com/en-us/dotnet/standard/base-types/standard-timespan-format-strings)) |

以下のアカウントタイプがサポートされています。

| 設定キー                                   | 既定値                      |
| -------------------------------------- | ------------------------ |
| LocalAdminManagement.EmergencyAccount  | `undefined` (*inactive*) |
| LocalAdminManagement.SupportAccount    | `undefined` (*inactive*) |
| LocalAdminManagement.PrivilegedAccount | `undefined` (*inactive*) |

各アカウントタイプは、以下の共通設定を使用して個別に設定できます。一部のタイプには、それぞれのセクションで説明する特別な設定があります。

{% hint style="info" %}
以下の表では `$` 次の 3 つのいずれかを `アカウント` 上記のJSONオブジェクトを
{% endhint %}

| 設定キー               | 既定値                                                                  | 説明                                                      |
| ------------------ | -------------------------------------------------------------------- | ------------------------------------------------------- |
| $.NamePattern      | `"ADM-{HEX:8}"`                                                      | 特別。参照 [特権アカウント](#privileged-account)。20 文字以内である必要があります。 |
| $.DisplayName      | `"RealmJoin Local Administrator"`                                    | 表示名                                                     |
| $.PasswordCharSet  | `"!#%+23456789:=?@ABCDEFGHJKLMNPRSTUVWXYZabcdefghijkmnopqrstuvwxyz"` | パスワード生成器の文字セット（見た目が似ている文字は除外）                           |
| $.PasswordLength   | 20                                                                   | パスワード長                                                  |
| $.PasswordPreset   | 0                                                                    | プリセットパスワードテンプレート。詳細は [パスワード生成](#password-generation).   |
| $.MaxStaleness     | 特別。参照 [アカウントの再作成](#account-recreation).                              | プリセットパスワードテンプレート。詳細は [パスワード生成](#password-generation).   |
| $.OnDemand         | 特別。参照 [サポート用アカウント](#support-account).                                | 要求されたときのみアカウントを作成します。                                   |
| $.Expiration       | 特別。参照 [サポート用アカウント](#support-account).                                | 固定のアカウント有効期限（ISO-8601 形式）                               |
| $.PasswordRenewals | 特別。参照 [特権アカウント](#privileged-account).                                | 固定のアカウント有効期限（ISO-8601 形式）                               |

## パスワード **生成**

既定では、設定 `PasswordCharSet` および `PasswordLength`に基づいて、真にランダムなパスワードが生成されます。既定の文字セットは、次のような見た目が似ている文字を除外するように選択されています。 `I1l` および `O0`Windows の暗号学的乱数生成器を使用して、高品質な乱数を生成します。

{% hint style="info" %}
RealmJoin は、アカウント作成時の Windows の複雑性要件に関する問題を自動的に処理します。真にランダムなパスワードでは、生成されたパスワードが複雑性要件を満たさないことがあります。その場合、RealmJoin は使用可能なパスワードが生成されるまで、最大 3 回まで再生成を行います。それでもすべての再試行が上限に達する確率は統計的には小さいですが残っています。この場合、サービスログファイルに次のようなメッセージが表示されます。 `再試行回数の上限に達しました`。完全な処理は、内部設定チェックの次回実行時に再開されます（設定 `CheckInterval`).
{% endhint %}

真にランダムなパスワードは扱いにくいことがあるため、特別なプリセットテンプレートもサポートされています。

* プリセット 1 ⇒ `[大文字1][小文字3][数字4]`
  * `Tuci9325`
  * `Lnso5050`
  * `Khwn2174`
* プリセット 2 ⇒ `Key-[6桁]-[6桁]-[6桁]-[6桁]-[6桁]-[6桁]-[6桁]-[6桁]`
  * PasswordLength 設定がサポートされています！この設定で桁ブロック数が決まります。
  * `Key-012993-230956-976475` （PasswordLength = 3）
  * `Key-497254-679158-631224-278319` （PasswordLength = 4）
  * `Key-506179-861369-706482-613244-730371-097689-404350-340073` （既定）
* プリセット 3 ⇒ `[単語]-[単語]-[単語]-[単語]-[単語]-[単語]` から生成 [Eff Long List](https://www.eff.org/files/2016/07/18/eff_large_wordlist.txt)​
  * PasswordLength 設定がサポートされています！この設定で単語数が決まります。
  * `Exciting-Unearth-Cried-87` （PasswordLength = 3）
  * `Neurology-Astute-Debate-Marshy-15` （PasswordLength = 4）
  * `Marshy-Darkened-Undertake-Reset-Shrouded-Wise-26` （既定）

## アカウントの再作成

アカウントが使用された後、RealmJoin は `MaxStaleness` 設定を使って、そのアカウントを削除して再作成するよう設定できます。これにより、アカウントは常に新しい状態に保たれます。設定しない場合、アカウントは再作成されず、無期限に残り続けます。

{% hint style="danger" %}
RealmJoin はアカウントとそのプロファイルを削除します。 **すべてのファイルは完全に削除されます。**

アカウントがまだ使用中である場合、つまりまだサインイン中、セッションが開いている、アプリケーションが ADM でそのアカウントを使って起動され、まだ実行中である場合は、そのアカウントはタイムアウトしますが、削除することはできません。 **古いアカウントが削除されるまでは、新しいアカウントを作成できません。**
{% endhint %}

## 競合の回避

RealmJoin はデバイス上のアカウントを管理する際に、名前の競合を回避するために最善を尽くしますが、既存のアカウントがすでにデバイス上に存在して競合を引き起こす可能性は常にあります。これが、 `NamePattern` 設定が、RealmJoin にとって特別な意味を持つこれらのトークンをサポートしている理由です。トークンは、コロンの後ろにある指定関数とその長さパラメータによって変換されます。

* `{HEX:8}` ⇒ `F4D027EF`, `B3C4F74E`、...（ランダムな16進文字）
* `{DEC:6}` ⇒ `506453`, `066946`、...（ランダムな10進文字）
* `{COUNT:2}` ⇒ `01`, `02`、...（カウンター。 `01` 競合が存在しない場合は維持されます）

## 緊急用アカウント

このアカウントタイプは、デバイスが致命的な障害を起こした場合のバックアップアクセスです。事前に作成されます。これにより、復旧用のアクセスを常に確保できます。 [アカウントの再作成](#account-recreation).

*例*

キー `LocalAdminManagement.EmergencyAccount` （共通設定については [グループ設定](#group-settings))

```json
{
  "NamePattern": "ADM-Emergency-{HEX:4}",
  "DisplayName": "Emergency Access",
  "MaxStaleness": "04:00",
  "PasswordPreset": 2
}
```

## サポート用アカウント

このアカウントタイプは、オンデマンド作成向けに設定できます。オンデマンドモードでは、既定で 12 時間という限られた時間枠での使用を想定しています。有効期限のウィンドウは、 *RealmJoin ポータル* （LAPS テナント設定）。

{% hint style="danger" %}
サポートアカウントとそのプロファイルは、アカウント要求から設定された有効期限ウィンドウ（既定では 12 時間）が経過した後、利用状況に関係なく削除されます（サポートユーザーがサインアウトした後）。 **すべてのファイルは完全に削除されます。**
{% endhint %}

{% hint style="danger" %}
オンデマンドモードでアカウントの再作成を使用する場合（`MaxStaleness`) *使用しないでください*。サポートのワークフローを妨げる可能性があります。
{% endhint %}

オンデマンドワークフローの要件：

* このモードは、次の設定で有効になります `"OnDemand": true`.
* ユーザーがサインインしている
* RealmJoin エージェントが実行中である
* デバイスがインターネットに接続されている
* デバイスが RealmJoin バックエンドに到達できる

{% hint style="info" %}
RealmJoin エージェントが要求を認識するまで、最大 30 分かかる場合があります。サインイン中のユーザーは、RealmJoin のトレイメニューから「このデバイスを同期」を選択することで、この進行を早めることができます。
{% endhint %}

オンデマンドモードでない場合は、事前に作成されます。

*例*

キー `LocalAdminManagement.SupportAccount` （共通設定については [グループ設定](#group-settings))

```json
{
  "NamePattern": "ADM-Support-User-{HEX:2}",
  "DisplayName": "Support User",
  "OnDemand": true,
  "PasswordPreset": 1
}
```

## 特権アカウント

このアカウントタイプは、自分のデバイスで定期的だが制御された管理者権限を必要とする上級ユーザー向けに設計されています。固定のアカウント有効期限を指定できます（`Expiration`).

{% hint style="danger" %}
このタイプではアカウントの再作成（`MaxStaleness`) *使用しないでください*。目的は、ユーザー向けに永続的なアカウントを持たせることです。
{% endhint %}

強制パスワードローテーションがサポートされています：

1. `2021-11-20T12:34:56+01:00`：ISO-8601 形式の任意の明示的なタイムスタンプ。複数指定できます。
2. `DayAfterCreate`：アカウントが作成された後、そのアカウントのパスワードは変更されます。これは、追加のサインインオプションとして Windows Hello を設定する場合に便利です。
3. `毎年`, `毎月` または `毎週`：より短い間隔が優先されます（`毎週` > `毎月` > `毎年`）。追加条件が指定されない場合、既定値は `毎月` または "monday" です。さらに、 `毎週`は、パスワード最終設定日 + 365 日を既定とします。7 曜日すべてを指定できます。したがって、 `毎年` が指定されている場合、パスワードは毎年 1 回変更されます。もし `Wednesday` および `毎週` が指定されている場合、パスワードは毎週水曜日に変更されます。もし `Wednesday` および `毎月` が指定されている場合、パスワードは毎月最初の水曜日に変更されます。 `毎年` と曜日を組み合わせると、期限は 365 日が経過する直前の、指定可能な最も遅い曜日に設定されます。

*例*

キー `LocalAdminManagement.PrivilegedAccount` （共通設定については [グループ設定](#group-settings))

```json
{
  "NamePattern": "Privileged-User-{COUNT:1}",
  "DisplayName": "Privileged User",
  "PasswordRenewals": ["DayAfterCreate", "Monthly", "Thursday"],
  "PasswordPreset": 3,
  "PasswordLength": 3
}
```

## パスワードへのアクセス

パスワードへのアクセスには RealmJoin ポータルを使用します。<br>

<figure><img src="/files/be0d26d6d3887cfa0038366f7ad6f47bb6f230a4" alt=""><figcaption></figcaption></figure>

## セルフサービスを有効にする

ユーザーは、自分の *自分の* デバイス上で作成されたアカウント（それらは "PrimaryUser" です）に、 *RealmJoin ポータル* バージョン `2022.5.1`から有効です。有効にするには、次のキーを使用して設定を定義します `Allow.SelfLAPS`。この設定はグループおよびユーザーに定義できます。 `Allow.*` これらはユーザーとそのすべてのグループに対して AND で結合されます。

```json
{
  "EmergencyAccount": true,
  "SupportAccount": true,
  "PrivilegedAccount": true
}
```

値は純粋なブール値でも指定できます `true`/`false`。これはワイルドカードとして使用でき、現在および将来のすべてのアカウントタイプを対象にします。なお、これはアクセスを無効にする場合にのみ推奨されます（`false`).

{% hint style="info" %}
以前は、この設定を `true`に設定することが推奨されていました。しかし、RealmJoin の拡張に伴い、新しいアカウントタイプが追加されます。そのため、すべての `true` 値を、より明示的なオブジェクト表記へ移行することを強く推奨します
{% endhint %}

設定例は次のようになります：

| グループ         |                                                           | コメント                                                                               |
| ------------ | --------------------------------------------------------- | ---------------------------------------------------------------------------------- |
| すべてのリモートワーカー | `{ "EmergencyAccount": true }`                            | リモートワーカーは、自分のデバイスの緊急用アカウントにアクセスできます。                                               |
| すべての開発者      | `{ "EmergencyAccount": true, "PrivilegedAccount": true }` | 開発者は、自分の緊急用アカウントと特権アカウントの両方にアクセスできます。たとえリモートワーカーであっても、そうでなくても同様です。                 |
| すべての研修生      | `false`                                                   | 研修生は、3 種類のアカウントタイプのいずれにもアクセスしてはなりません **および** 将来追加されるすべてのタイプにも、たとえリモートワーカーや開発者であっても |

{% hint style="info" %}
SelfLAPS は通常の LAPS ロールよりも強力です。とはいえ、管理者ユーザーが通常のユーザーアカウントで LAPS を管理している場合、自分自身の LAPS を管理することはできません。

対策：これらの管理者アカウントで SelfLAPS を有効にするか、分離された管理者アカウントを使用してください。
{% endhint %}


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.realmjoin.com/ja/realmjoin-agent/realmjoin-client/local-admin-password-solution-laps.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
