# 自動化コマンド

<figure><img src="https://859776093-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL6k1aGsLiFiiJ3Y7zCl%2Fuploads%2FUts2APF9r9TQpJECY3MS%2Fimage.png?alt=media&#x26;token=d12e149d-4fec-40ab-9e47-c2846526e3b9" alt=""><figcaption></figcaption></figure>

## 概要 <a href="#overview" id="overview"></a>

自動化コマンドは、組織内ユーザーの認証情報プロビジョニングを自動化するための統一された仕組みです。管理者は単一のコマンダー操作で、PAMユーザーの作成、Active Directoryアカウントの作成、ローテーション設定の適用、Keeperゲートウェイを介した即時パスワード更新、ワンタイム共有リンクまたはボルトへの直接共有による認証情報の配布までを一度に実行できます。この仕組みにより、再現性が高くエラーの起きにくいワークフローが実現し、従業員のオンボーディングを加速するとともに、毎回確実にセキュリティのベストプラクティスを守れます。

### コマンド <a href="#commands" id="commands"></a>

<table><thead><tr><th width="197.6328125">コマンド</th><th width="91.671875">エイリアス</th><th>目的</th></tr></thead><tbody><tr><td><a href="#credential-provision"><code>credential-provision</code></a></td><td>cp</td><td>PAMユーザーの認証情報プロビジョニングを自動化し、ADアカウントの作成、ローテーションの自動適用、メールまたはボルトへの直接共有による認証情報の配布を行う</td></tr></tbody></table>

## credential-provision <a href="#credential-provision" id="credential-provision"></a>

PAMユーザー認証情報の作成をエンドツーエンドで自動化します。パスワードローテーション、フォルダ整理、セキュアな認証情報の配信（ボルトへの直接共有やワンタイム共有付きメールなど）に加え、必要に応じてActive Directoryアカウントを作成できます。

### 活用事例 <a href="#use-case" id="use-case"></a>

* 新規従業員のオンボーディングをIDプロバイダーの認証情報で自動化
* Active Directoryの管理者アカウントを作成し、ユーザーのボルトへ共有
* エンドユーザーのパスワードリセット処理を自動化
* KeeperPAMリソース向けに、必要に応じて認証情報をローテーションし、安全に配布

### 詳細 <a href="#details" id="details"></a>

`credential-provision` コマンドは、複数のコマンダー操作を単一のワークフローに統合します。このコマンドはYAML構成ファイルをリクエストパラメータとして受け取り、その内容に基づいて一連の処理を1回のアクションで実行します。

1. **構成ファイルの解析** - 指定されたYAML構成ファイルを検証
2. **ユーザー名の解決** - テンプレートからユーザー名を解決 (例: `{first_initial}{last_name}.adm`)
3. **重複検出** - 既存のPAMユーザーを確認し、競合を防止
4. **パスワード生成** - 複雑性要件を満たす安全なパスワードを生成
5. **ADユーザー作成** - PAMゲートウェイ経由でActive Directoryにユーザーを作成 *(任意。`directory_uid` と `distinguished_name` を指定した場合)*
6. **ADグループへの割り当て** - 指定したADグループにユーザーを追加 *(任意。`ad_groups` を指定した場合)*
7. **PAMユーザー作成** - 指定フォルダにPAMユーザーレコードを作成
8. **ローテーション構成** - PAM構成に紐付け、ローテーションスケジュールを設定
9. **即時ローテーション** - Keeperゲートウェイ経由で、対象ディレクトリ内のパスワードをオンデマンドでローテーション
10. **直接共有** - ユーザーのKeeperボルトにレコードを直接共有 *(任意。`delivery` セクションがある場合)*
11. **メール配信** - ワンタイム共有URLを含むウェルカムメールを送信 *(任意。`email` セクションがある場合)*

{% hint style="info" %}
**注:** 手順10と11は互いに独立しており、いずれか一方だけ、両方、またはどちらも使わない構成にできます。`delivery` と `email` の両方のセクションがある場合、レコードはユーザーのボルトに共有したうえで、ワンタイム共有リンクを含むメールも送信されます。どちらのセクションもない場合、レコードは作成されますが、共有やメールによる配布は行われません。
{% endhint %}

この自動化により手動作業を減らしつつ、セキュリティ設定を確実に適用し、一貫したプロビジョニングが可能になります。

### パラメータ <a href="#parameters" id="parameters"></a>

* `-c, --pam-config <UID>` - PAM構成レコードのUID (使用するゲートウェイを決定)。YAMLの `account.pam_config_uid` でも指定可能 *(非推奨。代わりに `-c` を使用してください)*
* `-config </path/to/file>` - プロビジョニング設定を含むYAML構成ファイルのパス
* `--config-base64 <base64 encoded file>` - base64形式でエンコードされたYAML構成 (サービスモード/REST API利用向け)

#### **任意パラメータ** <a href="#optional-parameters" id="optional-parameters"></a>

* `--dry-run` - リソースを作成せずに構成を検証する
* `--output <json|text>` - 出力形式 (既定値: text)

### 要件 <a href="#prerequisites" id="prerequisites"></a>

この自動化コマンドを利用するには、以下が設定されている必要があります。

* メール配信のための[メール構成](/keeperpam/jp/commander-cli/command-reference/email-configuration-commands.md)が設定済みであること
* 有効な[KeeperPAMライセンス](/keeperpam/jp/privileged-access-manager/getting-started/keeperpam-licensing.md)
* 対象に応じて作成済みの[PAM構成](/keeperpam/jp/privileged-access-manager/getting-started/pam-configuration.md) (Active Directory、AWS、Azure、GCPのいずれか)
* 対象システムの認証情報をローテーションできる[Keeperゲートウェイ](/keeperpam/jp/privileged-access-manager/getting-started/gateways.md)が構成済みであること

**メール配信を行う場合**

* メール送信用のメール構成

**ボルトへの直接共有を行う場合**

* 対象ユーザーに既存のKeeperボルトがあること

**ADユーザー作成およびグループ割り当てを行う場合**

* ゲートウェイ v1.8.0 以降
* PAM構成に紐付いた、`directoryType=ad` のPAMディレクトリレコード (`pamDirectory`)
* ゲートウェイからActive Directoryへのネットワーク到達性

### YAML構成ファイルの構造 <a href="#yaml-configuration-structure" id="yaml-configuration-structure"></a>

以下のYAML構成例では、Sarah JonesはCompany.comへ入社した新しい従業員です。IdP / IGA / HRシステム (Workday、Aquera、SailPoint、ConductorOneなど) がKeeperへリクエストを送信し、以下を実行します。

* 対象ディレクトリでユーザーを識別
* 希望する複雑性ルールに従ってディレクトリ内のパスワードをローテーション
* パスワードをコマンダーユーザーのボルト内にPAMユーザーレコードとして保存
* レコードの自動パスワードローテーションを週1回に設定
* ワンタイム共有リンクを使用して新入社員の個人メールへ認証情報を送信
* ワンタイム共有リンクの有効期限は7日

```yaml
user: # 従業員情報
  first_name: Sarah
  last_name: Admin
  personal_email: sarah.jones@company.com
  department: Marketing
account:  # 対象アカウント情報
  username: sarah.jones
  distinguished_name: "CN=sarah.jones,OU=Marketing,OU=Corporate,DC=company,DC=com"
vault: # ボルト格納設定（任意）
  folder: "PAM Users/Marketing"
rotation: # パスワードローテーション設定
  schedule: "0 0 0 * * ?" # 毎週日曜日の午前0時
  password_complexity: "32,5,5,5,5"
email: # メール配信設定
  config_name: "Company SMTP Server"
  send_to: "sarah.jones.demo@gmail.com"
  subject: "Welcome to Company.com - Your Credentials"
  share_url_expiry: "7d"
```

#### **Userセクション** (必須) <a href="#user-section-required" id="user-section-required"></a>

「user」セクションでは、対象ディレクトリ内のエンドユーザー情報を識別します。

<table><thead><tr><th width="161.75">フィールド</th><th width="83.75">型</th><th width="116.09375">必須</th><th>説明</th></tr></thead><tbody><tr><td><code>first_name</code></td><td>string</td><td>はい</td><td>ファーストネーム</td></tr><tr><td><code>last_name</code></td><td>string</td><td>はい</td><td>従業員の姓</td></tr><tr><td><code>personal_email</code></td><td>string</td><td>はい</td><td>認証情報配信用の個人メール</td></tr><tr><td><code>employee_id</code></td><td>string</td><td>いいえ</td><td>従業員識別子</td></tr><tr><td><code>department</code></td><td>string</td><td>いいえ</td><td>部署 (フォルダ構成に利用)</td></tr></tbody></table>

#### **Accountセクション** (必須) <a href="#account-section-required" id="account-section-required"></a>

「account」セクションでは、PAM構成および対象ディレクトリ内のユーザーIDを指定します。

| フィールド                | 型      | 必須    | 説明                   |
| -------------------- | ------ | ----- | -------------------- |
| `username`           | string | はい    | 対象システムのユーザー名         |
| `pam_config_uid`     | string | はい    | PAM構成レコードのUID        |
| `distinguished_name` | string | いいえ\* | ADの識別名 (システム固有要件を参照) |

<table><thead><tr><th width="183.48828125">フィールド</th><th width="83.75">型</th><th width="108.38671875">必須</th><th>説明</th></tr></thead><tbody><tr><td><code>username</code></td><td>string</td><td>はい*</td><td>対象システムのユーザー名</td></tr><tr><td><code>username_template</code></td><td>string</td><td>はい*</td><td>ユーザー名導出用テンプレート (以下の「ユーザー名テンプレート」を参照)</td></tr><tr><td><code>pam_config_uid</code></td><td>string</td><td>いいえ**</td><td>PAM構成レコードのUID <em>(非推奨。代わりに <code>-c</code> フラグを使用してください)</em></td></tr><tr><td><code>directory_uid</code></td><td>string</td><td>はい</td><td>ADユーザー作成用 <code>pamDirectory</code> レコードのUID</td></tr><tr><td><code>distinguished_name</code></td><td>string</td><td>いいえ***</td><td>ADの識別名 (<code>{username}</code> プレースホルダーに対応)</td></tr><tr><td><code>ad_groups</code></td><td>list</td><td>いいえ</td><td>ユーザーを追加するADグループのDNのリスト</td></tr></tbody></table>

\* `username` または `username_template` のいずれか一方が必須です (両方は不可)。

\*\* コマンドラインで `-c` / `--pam-config` を指定しない場合は必須です。

\*\*\* 複数OU環境のActive Directoryでは必須です (すべてのAD環境での指定を推奨)。`username` または `username_template` から解決される `{username}` プレースホルダーに対応します。

#### ユーザー名テンプレート <a href="#username-templates" id="username-templates"></a>

`username_template` フィールドでは、`user` セクションから解決される以下の変数が使えます。

| 変数                | 入力例                 | 結果     |
| ----------------- | ------------------- | ------ |
| `{first_name}`    | Felipe              | felipe |
| `{last_name}`     | Dias                | dias   |
| `{first_initial}` | Felipe              | f      |
| `{last_initial}`  | Dias                | d      |
| `{email_prefix}`  | <fdias@company.com> | fdias  |

出力はすべて小文字です。変数は組み合わせ可能です。

```yaml
username_template: "{first_initial}{last_name}.adm"    # fdias.adm
username_template: "{first_name}.{last_name}"           # felipe.dias
username_template: "{email_prefix}.admin"               # fdias.admin
```

#### **Vaultセクション** (任意) <a href="#vault-section-optional" id="vault-section-optional"></a>

「vault」セクションでは、PAMユーザーレコードをボルト内のどこに保存するかを制御します。

<table><thead><tr><th width="108.53515625">フィールド</th><th width="98.69140625">型</th><th width="108.69921875">必須</th><th width="90.4296875">デフォルト</th><th>説明</th></tr></thead><tbody><tr><td><code>folder</code></td><td>string</td><td>いいえ</td><td>なし</td><td>レコードを保存するボルト内のフォルダパス</td></tr></tbody></table>

<table><thead><tr><th width="96.0625">フィールド</th><th width="83.75">型</th><th width="108.38671875">必須</th><th>説明</th><th>デフォルト</th></tr></thead><tbody><tr><td><code>folder</code></td><td>string</td><td>いいえ</td><td>ゲートウェイのアプリケーションフォルダからの相対サブフォルダパス、またはフォルダUID</td><td><code>PAM Users/{department}</code></td></tr></tbody></table>

アプリケーションフォルダの確認方法については、**ボルト** > **シークレットマネージャー** > **PAM構成** > アプリケーション **フォルダ** の設定をご参照ください。

<figure><img src="https://859776093-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL6k1aGsLiFiiJ3Y7zCl%2Fuploads%2FK6qZddTHjp8tSRtU5hyx%2Fimage.png?alt=media&#x26;token=d7825bfd-1852-423a-ab99-593911b22588" alt=""><figcaption></figcaption></figure>

例として、ゲートウェイのフォルダが `My Infrastructure` で、`vault.folder` パラメータが `Users/Service Accounts` の場合、最終的なパスは `My Infrastructure/Users/Service Accounts` になります。

```shell
{gateway_application_folder}/{vault.folder}
```

#### **Rotationセクション** (必須) <a href="#rotation-section-required" id="rotation-section-required"></a>

「rotation」セクションでは、パスワードローテーション設定を制御します。

<table><thead><tr><th width="271.35546875">フィールド</th><th width="83.75">型</th><th width="116.09375">必須</th><th>説明</th></tr></thead><tbody><tr><td><code>schedule</code></td><td>string</td><td>はい</td><td>6フィールドのCRON式</td></tr><tr><td><code>password_complexity</code></td><td>string</td><td>はい</td><td>パスワードの複雑性ルール</td></tr></tbody></table>

**ローテーションスケジュール (6フィールドCRON) 形式:** `秒 分 時 日 月 曜日`

```yaml
"0 0 0 * * 0"      # 毎週日曜日の午前0時
"0 0 2 * * *"      # 毎日午前2時
"0 0 3 * * 1,5"    # 毎週月曜日と金曜日の午前3時
"0 0 0 1 * *"      # 毎月1日の午前0時
"0 30 1 * * 1-5"   # 平日の午前1時30分
```

**パスワードの複雑さの形式:** `長さ,大文字,小文字,数字,記号`

```yaml
"32,5,5,5,5"       # 32文字: 大文字5、小文字5、数字5、記号5
"16,3,3,3,3"       # 16文字: 大文字3、小文字3、数字3、記号3
"64,10,10,10,10"   # 64文字: 大文字10、小文字10、数字10、記号10
```

#### **Deliveryセクション** (任意) <a href="#delivery-section-optional" id="delivery-section-optional"></a>

「delivery」セクションでは、ボルトへの直接共有を制御します。このセクションを記述すると、PAMユーザーレコードが指定ユーザーのKeeperボルトに直接共有されます。**メール用の「email」セクションとは独立しており、いずれか一方だけ、両方、またはどちらも使わない構成にできます。**

<table><thead><tr><th width="208.35546875">フィールド</th><th width="86.70703125">型</th><th width="106.4140625">必須</th><th>説明</th><th width="94.71875">デフォルト</th></tr></thead><tbody><tr><td><code>share_to</code></td><td>string</td><td>はい</td><td>受信者のKeeperボルトのメールアドレス</td><td>-</td></tr><tr><td><code>transfer_ownership</code></td><td>boolean</td><td>いいえ</td><td>レコードの所有権を受信者へ移転する</td><td><code>false</code></td></tr><tr><td><code>permissions.can_edit</code></td><td>boolean</td><td>いいえ</td><td>受信者によるレコードの編集を許可する</td><td><code>false</code></td></tr><tr><td><code>permissions.can_share</code></td><td>boolean</td><td>いいえ</td><td>受信者によるレコードの共有を許可する</td><td><code>false</code></td></tr></tbody></table>

{% hint style="warning" %}
**警告:** `transfer_ownership` はパスワードローテーションと併用できません。所有権を移転するとレコードがゲートウェイの管理外となり、自動パスワードローテーションが行えなくなります。ローテーションを維持したままユーザーがレコードを編集できるようにする場合は、代わりに `can_edit: true` を使用してください。
{% endhint %}

#### **Emailセクション** (任意) <a href="#email-section-optional" id="email-section-optional"></a>

「email」セクションでは、ワンタイム共有リンク付きのメール配信を制御します。`config_name` が有効に指定されている場合、ワンタイム共有URLが生成され、受信者へメールで送られます。**「delivery」セクションとは独立しており、いずれか一方だけ、両方、またはどちらも使わない構成にできます。**

<table><thead><tr><th width="166.59375">フィールド</th><th width="83.75">型</th><th width="106.171875">必須</th><th>説明</th><th>デフォルト</th></tr></thead><tbody><tr><td><code>config_name</code></td><td>string</td><td>はい</td><td>Keeper管理コンソールのメール設定名</td><td>-</td></tr><tr><td><code>send_to</code></td><td>string</td><td>はい</td><td>受信者のメールアドレス</td><td>"example@gmail.com"</td></tr><tr><td><code>subject</code></td><td>string</td><td>いいえ</td><td>メールの件名</td><td>"Your New Credentials"</td></tr><tr><td><code>share_url_expiry</code></td><td>string</td><td>いいえ</td><td>共有URLの有効期限</td><td><code>"7d"</code></td></tr></tbody></table>

**共有URLの有効期限の形式:** `y` (年)、`mo` (月)、`d` (日)、`h` (時)、`mi` (分)

```yaml
"7d"    # 7日
"24h"   # 24時間
"60mi"  # 60分（※ 'm' ではなく 'mi' を使用）
"1mo"   # 1か月
"1y"    # 1年
```

### 自動化の実行 <a href="#executing-the-automation" id="executing-the-automation"></a>

#### **CLIでの実行** <a href="#cli-execution" id="cli-execution"></a>

Keeperの自動化は、以下の手順で実行します。

1. 自動化パラメータを定義したYAMLファイルを作成する
2. コマンダーコマンドを呼び出す

   ```warp-runnable-command
   credential-provision -c <PAM-CONFIG-UID> --config /path/to/config.yaml

   # YAML内の pam_config_uid を使う場合 (非推奨。代わりに -c を使用)
   credential-provision --config /path/to/config.yaml
   # ドライラン (検証のみ)
   credential-provision -c <PAM-CONFIG-UID> --config /path/to/config.yaml --dry-run
   # JSON出力
   credential-provision -c <PAM-CONFIG-UID> --config /path/to/config.yaml --output json
   ```

#### **サービスモード/REST APIでの実行** <a href="#service-mode-rest-api-execution" id="service-mode-rest-api-execution"></a>

JIRA、Okta、その他のシステムから起動する自動化ワークフローでは、[コマンダーサービスモードREST API](/keeperpam/jp/commander-cli/service-mode-rest-api.md)を使用します。

```shellscript
# credential-provision を有効にしてコマンダーサービスモードを起動
service-create -p 5555 -q y -c "credential-provision,share-record,sync-down"
service-start
```

続けて、以下のREST APIを呼び出します。

```shellscript
POST /api/v2/executecommand-async
Headers:
  Content-Type: application/json
  api-key: <your-api-key>

Body:
{
  "command": "credential-provision -c <PAM-CONFIG-UID> --config-base64 <BASE64-YAML> --output json"
}
```

結果は以下のAPIで確認します。

```shellscript
GET /api/v2/result/<request-id>
Headers:
  api-key: <your-api-key>
```

### **構成の例** <a href="#example-configurations" id="example-configurations"></a>

#### **Active Directoryの管理者アカウントと直接共有** <a href="#active-directory-admin-account-with-direct-share" id="active-directory-admin-account-with-direct-share"></a>

特定のOUにAD管理者アカウントを作成し、ADグループへ追加、ローテーションを構成し、ユーザーのKeeperボルトへ直接共有します。

```yaml
user:
  first_name: John
  last_name: Doe
  personal_email: john.doe@company.com

account:
  username_template: "{first_initial}{last_name}.adm"
  directory_uid: "XXXX-XXXX-XXXX"
  distinguished_name: "CN={username},OU=DomainAdmins,DC=company,DC=com"
  ad_groups:
    - "CN=Domain Admins,CN=Users,DC=company,DC=com"
    - "CN=VPN-Users,CN=Users,DC=company,DC=com"

vault:
  folder: "PAM-Admin"

rotation:
  schedule: "0 0 3 ? * 2"
  password_complexity: "24,4,4,4,4"

delivery:  # ボルトへの直接共有
  share_to: "john.doe@company.com"
  permissions:
    can_edit: true
    can_share: false
```

**実行**

```
My Vault> credential-provision -c boj-GDQmTV-VGgBC3VRsow --config test.yaml
Loading configuration from: test.yaml
Resolved username: jdoe.adm
✅ Configuration validated
✅ AD user created: jdoe.adm
   Added jdoe.adm to AD group: CN=Domain Admins,CN=Users,DC=company,DC=com
   Added jdoe.adm to AD group: CN=VPN-Users,CN=Users,DC=company,DC=com
✅ Added to AD groups: CN=Domain Admins,CN=Users,DC=company,DC=com, CN=VPN-Users,CN=Users,DC=company,DC=com
✅ PAM User record created: g28IrIrHEfL1xnaEgeww7g
Selected 1 PAM record(s) for rotation
✅ Rotation configured
✅ Password rotation submitted
Record "g28IrIrHEfL1xnaEgeww7g" access permissions has been granted to user 'john.doe@company.com'
✅ Record shared to john.doe@company.com
```

#### **直接共有とメールの両方を使うADアカウント** <a href="#a-d-account-with-direct-share-and-email" id="a-d-account-with-direct-share-and-email"></a>

AD管理者アカウントを作成し、ユーザーのボルトへ共有するとともに、ワンタイム共有リンク付きのメールも送信します。

```yaml
user:
  first_name: Felipe
  last_name: Dias
  personal_email: fdias@company.com

account:
  username_template: "{first_initial}{last_name}.adm"
  directory_uid: "XXXX-XXXX-XXXX"
  distinguished_name: "CN={username},OU=DomainAdmins,DC=company,DC=com"

rotation:
  schedule: "0 0 3 ? * 2"
  password_complexity: "24,4,4,4,4"

delivery:  # ボルトへ共有
  share_to: "fdias@company.com"
  permissions:
    can_edit: true

email:  # メールも送信
  config_name: "Company-Mail-Server"
  send_to: "fdias@gmail.com"
  share_url_expiry: "7d"
```

**実行**

```shellscript
My Vault> credential-provision -c boj-GDQmTV-VGgBC3VRsow --config test.yaml
Loading configuration from: test.yaml
Resolved username: fdias.adm
✅ Configuration validated
✅ AD user created: fdias.adm
✅ PAM User record created: h72KxWpEfL1xnaEgeww7g
Selected 1 PAM record(s) for rotation
✅ Rotation configured
✅ Password rotation submitted
Record "h72KxWpEfL1xnaEgeww7g" access permissions has been granted to user 'fdias@company.com'
✅ Record shared to fdias@company.com
✅ Share URL generated for PAM User
[EMAIL] Sending email to fdias@gmail.com via smtp
[EMAIL] SMTP email sent to fdias@gmail.com via smtp.gmail.com
✅ Email with one-time share sent
```

#### Active Directoryユーザー (メール配信) <a href="#active-directory-user-with-email-delivery" id="active-directory-user-with-email-delivery"></a>

```shellscript
user:
  first_name: John
  last_name: Doe
  personal_email: john.doe@company.com
  department: IT

account:
  username: john.doe-admin
  distinguished_name: "CN=john.doe-admin,CN=Users,DC=company,DC=com"

vault:
  folder: "PAM Users/IT Admins"

rotation:
  schedule: "0 0 3 ? * 2"
  password_complexity: "32,5,5,5,5"

email:  # ワンタイム共有リンク付きメール配信
  config_name: "Company-Mail-Server"
  send_to: "john.doe@gmail.com"
```

**実行**

```
My Vault> credential-provision -c boj-GDQmTV-VGgBC3VRsow --config test.yaml
Loading configuration from: test.yaml
✅ Configuration validated
Selected 1 PAM record(s) for rotation
✅ PAM User created and linked
✅ Password rotation submitted
✅ Share URL generated for PAM User
[EMAIL] Sending email to john.doe@gmail.com via smtp
[EMAIL] SMTP email sent to john.doe@gmail.com via smtp.gmail.com
✅ Email with one-time share sent
My Vault>
```

#### Microsoft Entra IDユーザー <a href="#microsoft-entra-id-user" id="microsoft-entra-id-user"></a>

<pre><code>user:
  first_name: Craig
  last_name: Lurey
  personal_email: craig@company.com
account:
  username: craig@company.com
rotation:
  schedule: "0 0 0 * * ?"
<strong>  password_complexity: "32,5,5,5,5"
</strong>email:
  config_name: "SMTP-Gmail"
  send_to: "craig@gmail.com"
  subject: "Your Microsoft Login"
  share_url_expiry: "7d"
</code></pre>

**実行**

```
My Vault> cp -c hGn4IdC_18KWCo7tPCKoqQ --output json --config test.yaml
Selected 1 PAM record(s) for rotation
[EMAIL] Sending email to craig@gmail.com via smtp
[EMAIL] SMTP email sent to craig@gmail.com via smtp.gmail.com
{
  "success": true,
  "pam_user_uid": "g28IrIrHEfL1xnaEgeww7g",
  "share_url": "https://keepersecurity.com/vault/share/#XXXXXXXX",
  "username": "craig@company.com",
  "employee_name": "Craig Lurey",
  "rotation_status": "synced",
  "email_status": "sent",
  "message": "Credential provisioning complete"
}
```

その結果、PAMユーザーレコードはボルトに作成され、対象ディレクトリでローテーションされ、7日後に期限切れとなるワンタイム共有として受信者へ送信されます。

<figure><img src="https://859776093-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL6k1aGsLiFiiJ3Y7zCl%2Fuploads%2FLRmN02Dqr65xvJjUsPp2%2Fimage.png?alt=media&#x26;token=7be94090-2a23-4075-8e2a-d5f0be5616b7" alt=""><figcaption></figcaption></figure>

#### レコード作成のみ (配布なし) <a href="#record-creation-only-no-delivery" id="record-creation-only-no-delivery"></a>

ローテーションを構成したPAMユーザーレコードを作成しますが、共有やメールによる配布は行いません。管理者が後から手動で共有できます。

```shellscript
user:
  first_name: System
  last_name: Account
  personal_email: admin@company.com

account:
  username: svc-backup

rotation:
  schedule: "0 0 0 1 * ?"
  password_complexity: "64,10,10,10,10"
```

**実行**

```shellscript
My Vault> credential-provision -c boj-GDQmTV-VGgBC3VRsow --config test.yaml
Loading configuration from: test.yaml
✅ Configuration validated
✅ PAM User record created: k92IrWpHEfL1xnaEgeww7g
Selected 1 PAM record(s) for rotation
✅ Rotation configured
✅ Password rotation submitted
✅ Record created (no delivery configured)
```

JSON出力 (サービスモード)

```json
{
  "success": true,
  "pam_user_uid": "g28IrIrHEfL1xnaEgeww7g",
  "username": "jdoe.adm",
  "employee_name": "John Doe",
  "rotation_status": "synced",
  "share_status": "shared",
  "shared_to": "john.doe@company.com",
  "message": "Credential provisioning complete"
}
```

#### メールテンプレート <a href="#email-template" id="email-template"></a>

受信者には、暗号化された[ワンタイム共有](/enterprise-guide/jp/sharing/one-time-share.md)リンクを含むメールが届きます。

<figure><img src="https://859776093-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL6k1aGsLiFiiJ3Y7zCl%2Fuploads%2FkGzNUMMoWTaGf7RBKxn1%2Fimage.png?alt=media&#x26;token=89645358-90b4-477e-9ab6-9d470f1e7cea" alt=""><figcaption></figcaption></figure>

**\[認証情報を見る]** をクリックすると、認証情報を復号して表示できます。

<figure><img src="https://859776093-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FPL6k1aGsLiFiiJ3Y7zCl%2Fuploads%2FwyUdpz2EQP4RpVb660vk%2Fautomation_commands.gif?alt=media&#x26;token=63846049-341a-4e9c-8f21-7f37c0a88cce" alt=""><figcaption></figcaption></figure>

### ADユーザー作成 <a href="#a-d-user-creation" id="a-d-user-creation"></a>

`directory_uid` と `distinguished_name` がアカウントセクションに含まれる場合、このコマンドはKeeperにPAMユーザーレコードを作成する前にActive Directoryにユーザーを作成します。

**要件**

* **ゲートウェイ v1.8.0 以降** — ADユーザー作成にはゲートウェイ 1.8.0 以降が必要です。コマンドはゲートウェイのバージョンを確認し、条件を満たさない場合は警告を出してAD操作をスキップします
* ゲートウェイの共有フォルダに、`directoryType=ad` の `pamDirectory` レコードが存在していること
* 対象OUでユーザーを作成する権限を持つ管理者資格情報が `pamDirectory` レコードに設定されていること
* `directory_uid` フィールドはこの `pamDirectory` レコードを参照していること
* `ad_groups` を使うには `directory_uid` の指定が必要です。グループ操作で接続するADを特定するため、PAMディレクトリレコードが必要になります
* ADグループのDNは完全な識別名である必要があります (例: `CN=Group-Name,CN=Users,DC=domain,DC=com`)

### システム固有の要件 <a href="#system-specific-requirements" id="system-specific-requirements"></a>

**Active Directory -** 複数OU環境では識別名が必須です。指定しない場合、異なるOUに同じユーザー名のユーザーが複数いるとローテーションが失敗することがあります。

**Azure AD -** ユーザー名は必ずメール形式である必要があります (`user@domain.com` または `DOMAIN\user`)。

**AWS IAM** - プレーンなユーザー名を使用します。

### 関連コマンド <a href="#related-commands" id="related-commands"></a>

* [`pam`](/keeperpam/jp/commander-cli/command-reference/keeperpam-commands.md) – PAMサブシステム管理
* [`email-config`](/keeperpam/jp/commander-cli/command-reference/email-configuration-commands.md) – メール構成
* [`sharing`](/keeperpam/jp/commander-cli/command-reference/sharing-commands.md) – 共有関連コマンド
* [`pam`](/keeperpam/jp/commander-cli/command-reference/keeperpam-commands.md) - PAMサブシステム管理
* [`email-config`](/keeperpam/jp/commander-cli/command-reference/email-configuration-commands.md) - メール構成
* [`sharing`](/keeperpam/jp/commander-cli/command-reference/sharing-commands.md#sharing-commands) - 共有コマンド
* [`service-create`](/keeperpam/jp/commander-cli/service-mode-rest-api.md) - コマンダーサービスモードの作成
* [`service-start`](/keeperpam/jp/commander-cli/service-mode-rest-api.md) - コマンダーサービスモードの開始


---

# 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/automation-commands.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.
