# ローカル管理者パスワード管理

## 概要

Local Administrator Password Solution (LAPS) は、サポートおよび緊急時の目的で、すべての Windows コンピューターで同一の管理者資格情報を使用する問題を解決します。LAPS 単体では、ローカル管理者アカウント用にランダム生成されたパスワードを作成します。

RealmJoin を使用すると、ローカルサポート用でも大規模なリモートサポート用でも、安全で個別化された管理者アカウントを管理できます。RealmJoin は、暗号化されたパスワードを顧客のテナント内の Azure Key Vault に保存し、これらの資格情報へのすべてのアクセスの監査ログを保存します。

RealmJoin の API を使用すると、テナント内の特定のデバイスに対して「Support Account」（ローカル管理者）を要求できます。 [RealmJoin の Swagger の説明](https://customer-api.realmjoin.com/swagger/index.html) を参照して、現在どの操作が詳細にサポートされているかを確認してください。RealmJoin で LAPS を使用するには、RealmJoin Windows Client を展開する必要があります。

LAPS が環境で正しくセットアップされ、デバイスに RealmJoin Windows Client が展開されていることを前提としています。また、必ず [認証 ](https://docs.realmjoin.com/ja/dev-reference/realmjoin-api/authentication)を適切な http Authorization ヘッダーを使用して RealmJoin の API に対するすべての要求で行ってください。

## Support Account の要求

エンドポイントを使用して、対象デバイスにローカルの Support Account を作成するよう RealmJoin に指示します `/laps/request`。要求は Application insights を使用してキューに入れられ、できるだけ早く RealmJoin Backend と RealmJoin Windows Client によって処理されます。アカウントが作成済み/使用可能になったら。

このエンドポイントは、アカウント作成にどれくらい時間がかかるかの見積もりを返します。アカウントの準備ができたら、 [こちら](#retrieve-support-account-credentials) で資格情報の取得方法を確認してください。

### 例

次の状況を想定しましょう:

* RealmJoin の API 資格情報を持っており、それらを `dC0xMjM0MTIzNDpteVMzY3JldCE=` (Base64)
* にエンコードしています。対象デバイスの Entra `deviceId` は `9999dab9-f946-40ee-9a17-2500c8d00878`です。これは Entra のオブジェクト ID ではないことに注意してください（別の属性です）!

現在、対象デバイスには Support Account は存在しません。

![ローカル アカウント - Support Account を要求する前](https://3438325150-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MkrcM7cKOpXKri1kVrh%2Fuploads%2FFlbUzySBT9dqV4nrm6kx%2FLaps-before.png?alt=media\&token=e5e95f49-1293-4696-ad1f-a245bb6b42e6)

次を作成しましょう **要求**:

ヘッダー:

```http
Authorization: Basic dC0xMjM0MTIzNDpteVMzY3JldCE=
Content-Type: application/json
```

要求 / URI:

```http
POST https://customer-api.realmjoin.com/laps/request?deviceID=9999dab9-f946-40ee-9a17-2500c8d00878
```

このエンドポイントは要求本文を期待しません。

**レスポンス**

HTTP ステータス: `200` (OK)

本文（JSON 表記）:

```json
{
    "estimatedWaitTime": "00:12:31.8215813"
}
```

レスポンスには、RealmJoin Windows Client がローカルの Support Account を作成するまでのおおよその時間が含まれます。この例では、少なくとも 12 分待つと予想してください。クライアントが長い間確認されていない場合、数値の代わりに `null` が見積もりとして返されることがあります。

RealmJoin Windows Client は既定で 30 分ごとにジョブをポーリングします。API が提供する概算は、Windows Client が最後にチェックインした時刻に基づいています。

## Support Account の資格情報を取得する

エンドポイント `/laps/retrieve` は、Support Account がすでに作成されているかどうかを確認し、さらに Support Account の実際の資格情報を取得するために使用されます。

同じものを照会してみましょう `deviceId` の `9999dab9-f946-40ee-9a17-2500c8d00878` を例として [上記](#requesting-a-support-account).

この例では、RealmJoin Windows Client によって対象デバイス上に Support Account（フルネーム: "Local Support Admin Account"）が作成されています:

![ローカル アカウント - Support Account が正常に作成されました](https://3438325150-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MkrcM7cKOpXKri1kVrh%2Fuploads%2F8ePPJ2SxA29zcJsmGKX7%2FLaps-after.png?alt=media\&token=2d24e9ce-fa68-4499-a597-f0789f0a6115)

**要求**

ヘッダー:

```http
Authorization: Basic dC0xMjM0MTIzNDpteVMzY3JldCE=
Content-Type: application/json
```

要求 / URI:

```http
POST https://customer-api.realmjoin.com/laps/retrieve?deviceID=9999dab9-f946-40ee-9a17-2500c8d00878
```

このエンドポイントは要求本文を期待しません。

**レスポンス**

資格情報がまだ利用できない場合、このエンドポイントは HTTP ステータスを返します: `404` (Not Found) と、本文にいくつかの技術的詳細が含まれます:

本文（JSON）

```json
{
    "type": "https://tools.ietf.org/html/rfc7231#section-6.5.4",
    "title": "Not Found",
    "status": 404,
    "traceId": "00-4c56c3cb0f9b394abf934b107b148613-1234b2497e261649-00"
}
```

資格情報の準備が整うまで、引き続き照会できます。&#x20;

資格情報の準備ができている場合、このエンドポイントは HTTP ステータスを返します: `200` (OK) と資格情報:

本文（JSON）

```json
{
    "password": "Upji1234",
    "username": "ADM-5A2F2169",
    "accountExpirationDate": "2021-12-21T02:14:07+00:00"
}
```

これらの資格情報を使用して、たとえば AnyDesk Supporter Client 経由で接続し、ユーザーにサポートを提供できます。&#x20;

ご覧のとおり、既定では Support Account には有効期限があり、期限切れ後にアクセスが必要な場合は再作成する必要があります。これは、高権限の資格情報が日々の運用タスクに残存しないようにするためです。
