# Active Directoryプラグイン

{% hint style="warning" %}
KeeperPAMにおいてゼロトラストに基づいた新しいパスワードローテーション機能がリリースされました。\
この機能は、ほとんどのパスワードローテーションの事例において推奨されています。

詳しくは、以下のページをご覧ください。

* [KeeperPAMによるパスワードローテーション](/keeperpam/jp/secrets-manager/password-rotation.md)
* コマンダーの[KeeperPAMコマンド](/keeperpam/jp/commander-cli/command-reference/keeperpam-commands.md)
  {% endhint %}

このプラグインにより、IT管理者はActive Directoryユーザーアカウントのパスワードをローテーションできます。ADサーバーにネットワークでアクセスできる任意のシステムで実行できます。

## 要件

#### ldap3モジュールをインストールします

```
pip3 install ldap3
```

## ローテーション用のレコードを準備

### ローテーション用のレコードを作成

ローテーションは、従来のレコードにもタイプ指定されたレコードにも対応しています。 タイプ指定されたレコードを使用する場合は、「パスワード」タイプのフィールドが必要です。 ローテーションの種類に応じて、その他のフィールドを追加することもできます。 以下の手順をご参照ください。

{% hint style="info" %}
従来のレコードとタイプ指定されたレコードの詳細は、[トラブルシューティング](/keeperpam/jp/commander-cli/troubleshooting-commander-cli.md#typed-vs-untyped-records-v3-vs-v2)セクションをご参照ください。
{% endhint %}

### パスワードフィールドを設定

#### Keeperのレコードの「パスワード」フィールドにユーザーの現在のパスワードを入力します。

![](https://762006384-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MJXOXEifAmpyvNVL1to%2Fuploads%2FhvLF8beyM5y2szJUXhWN%2Fimage.png?alt=media\&token=70598eb8-dbb7-4320-bc69-d87d20d29c1b)

### ホスト名とポートを設定

![](https://762006384-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-MJXOXEifAmpyvNVL1to%2Fuploads%2Fe5jiWMkFQPzwi5UDLvp1%2Fimage.png?alt=media\&token=90c83a72-367e-4398-9cb6-bcc916432de0)

タイプ指定されていないレコードを使用する場合は、ホストとポートをカスタムフィールドに設定できます。以下をご参照ください。

{% hint style="info" %}
ヒント: ローテーションのプラグインが指定されていない場合、コマンダーはポート番号で使用するローテーションを推測します。ポート389はADローテーションを使用します
{% endhint %}

### 以下の必須フィールドを追加

ADローテーションには、以下のフィールドが必要です。ラベルを指定して各フィールドを作成し、必要な情報を入力します。

<table><thead><tr><th width="157">ラベル</th><th width="177.33333333333334">値</th><th>コメント</th></tr></thead><tbody><tr><td>cmdr:use_ssl</td><td>TrueまたはFalse</td><td>ADサーバーへのSSL接続を使用するか否か</td></tr><tr><td>cmdr:userdn</td><td></td><td>パスワードをローテーションするADユーザーの<a href="https://msdn.microsoft.com/en-us/library/windows/desktop/aa366101.aspx">識別名</a></td></tr></tbody></table>

### その他のローテーション設定

ローテーションパラメータをカスタマイズできる値は以下のとおりです。 これらのオプションをテキストフィールドとしてレコードに追加し、表に示すように、パラメータに相当するラベルを設定します。

<table><thead><tr><th width="179.33333333333334">ラベル</th><th width="133">値</th><th>コメント</th></tr></thead><tbody><tr><td>cmdr:plugin</td><td>adpasswd</td><td></td></tr><tr><td>cmdr:host</td><td></td><td>ADサーバーのホスト名またはIPアドレス</td></tr><tr><td>cmdr:port</td><td></td><td>オプション: ADサーバーのポート番号。デフォルト値: 389</td></tr><tr><td>cmdr:rules</td><td></td><td>オプションの<a href="https://github.com/Keeper-Security/Commander/tree/master/keepercommander/plugins/password_rules.md">パスワードの複雑度ルール</a></td></tr></tbody></table>

## レコードのローテーション

Active Directoryのパスワードをローテーションするには、コマンダーで`rotate`コマンドを使用します。 コマンドにレコードタイトルもしくはUIDを渡します (複数のレコードを1度にローテーションさせるには、正規表現で`--match`を使用します)。

```
rotate "AD Password Rotator" --plugin adpasswd
```

{% hint style="info" %}
プラグインは、こちらに示すようにコマンドに指定することも、レコードのフィールドに追加することもできます (上記のオプションを参照)。\
レコードにプラグインタイプを追加すると、プラグインの異なる複数のレコードを1度にローテーションできます。
{% endhint %}

## 注意事項とトラブルシューティング:

{% hint style="info" %}
Keeperの「Login」フィールドは、このプラグインでは使用されません。ユーザーは、**cmdr:userdn**カスタムフィールドで識別されます。
{% endhint %}

「ADサーバーへの接続中にエラーが発生しました」というエラーが表示された場合は、以下の手順をお試しください。

* ADがTLSを使用した安全なバインドをサポートしていることを確認します。証明書は、必要に応じて自己署名にすることができます。
* 「パスワードの最小有効期間」グループポリシーを無効にします。デフォルトでは1日に設定されています。
* ホストサーバーへの接続を検証し、アクセス可能であることを確認します。[Softerra LDAPブラウザ](http://www.ldapadministrator.com/download.htm)などのツールをダウンロードして、Active Directoryに接続できるかテストします。
* 識別名**cmdr:userdn**が正しく設定されていることを確認します。完全に正確であることが必要です。正確でないと接続に失敗します。この値は、Softerra LDAPブラウザソフトウェアで確認してもよいですし、**ADサーバー**で以下のコマンドプロンプトユーティリティを実行してもよいです。

```
C:\Users\craig>dsquery user -name Craig*
"CN=Craig Lurey,CN=Users,DC=keeper,DC=test,DC=keepersecurity,DC=com"
```

このシナリオでCraigとして接続する場合は、**cmdr:userdn**カスタムフィールドにこの正確な文字列（引用符なし）が含まれていることを確認します。

### Active Directoryに接続

Microsoft Active Directoryでパスワードを変更するには、SSL接続が必要です。以下のリンクでは、Active Directoryへの安全な接続を設定する方法が説明されています。

<https://blogs.msdn.microsoft.com/microsoftrservertigerteam/2017/04/10/step-by-step-guide-to-setup-ldaps-on-windows-server/>


---

# Agent Instructions: 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:

```
GET https://docs.keeper.io/keeperpam/jp/commander-cli/command-reference/plugins/active-directory-plugin.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
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.
