# PAM Extendedコマンド

## PAM Extendedコマンド

`pam extended` コマンドグループは、コマンダーからPAMローテーションスケジュールと検出ルールを高度に管理するためのものです。これらの操作は、自動化、スクリプト、CI/CDパイプライン向けに、ボルトのウェブUIを補完します。

特定のサブコマンドのヘルプを表示するには、以下を実行します。

```
pam extended schedule help
pam extended rule help
```

***

### コマンドリファレンス

#### スケジュールコマンド

| コマンド                           | 説明                                     |
| ------------------------------ | -------------------------------------- |
| `pam extended schedule list`   | 認証済みユーザーが参照できるPAMローテーションスケジュールをすべて一覧表示 |
| `pam extended schedule set`    | PAMレコードのローテーションスケジュールを作成または更新          |
| `pam extended schedule delete` | PAMレコードからローテーションスケジュールを削除              |

#### ルールコマンド

| コマンド                       | 説明                      |
| -------------------------- | ----------------------- |
| `pam extended rule list`   | PAM構成に関連付けられた検出ルールを一覧表示 |
| `pam extended rule add`    | PAM構成に新しい検出ルールを追加       |
| `pam extended rule delete` | PAM構成から検出ルールを削除         |

***

### pam extended schedule listコマンド

認証済みユーザーが参照できるPAMローテーションスケジュールをすべて一覧表示します。PAM構成UIDでフィルタすることもできます。

**構文**

```
pam extended schedule list [--config-uid <uid>] [--format table|json]
```

**オプション**

| オプション                  | 説明                  |
| ---------------------- | ------------------- |
| `--config-uid <uid>`   | 特定のPAM構成UIDの結果に絞り込み |
| `--format table\|json` | 出力形式。デフォルト: `table` |

**例 — すべてのスケジュールを一覧表示**

```
My Vault> pam extended schedule list
  a1b2c3d4e5f6...  cron=0 3 * * *
  f6e5d4c3b2a1...  cron=0 */6 * * *
```

**例 — JSON出力**

```
My Vault> pam extended schedule list --format json
[
  {
    "record_uid": "a1b2c3d4e5f6...",
    "no_schedule": false,
    "schedule": { "type": "cron", "cron": "0 3 * * *" }
  }
]
```

***

### pam extended schedule setコマンド

PAMレコードのローテーションスケジュールを作成または更新します。スケジュールは `PAMRotationSchedule.scheduleData` 内のJSON cron式として保存され、次回のローテーションウィンドウから有効になります。

**構文**

```
pam extended schedule set <uid_ref> --cron <expression> [--config-uid <uid>] [--notify <email> ...]
```

**パラメータ**

| パラメータ                 | 必須  | 説明                            |
| --------------------- | --- | ----------------------------- |
| `<uid_ref>`           | はい  | スケジュール対象のPAMレコードUID           |
| `--cron <expression>` | はい  | 5フィールドのcron式 (分 時 日 月 曜日)     |
| `--config-uid <uid>`  | いいえ | 特定のPAM構成にスケジュールを関連付け          |
| `--notify <email>`    | いいえ | スケジュール実行時に通知するメールアドレス。繰り返し指定可 |

**Cron式の形式**

Keeperでは標準の5フィールドcron構文が使われます。

```
┌───────────── minute (0–59)
│ ┌───────────── hour (0–23)
│ │ ┌───────────── day of month (1–31)
│ │ │ ┌───────────── month (1–12)
│ │ │ │ ┌───────────── day of week (0–7, 0 and 7 = Sunday)
│ │ │ │ │
* * * * *
```

**例**

毎日03:00UTCにローテーションする例。

```
My Vault> pam extended schedule set a1b2c3d4 --cron "0 3 * * *"
Rotation schedule set for a1b2c3d4 (cron: 0 3 * * *)
```

6時間ごとにローテーションし、2名に通知する例。

```
My Vault> pam extended schedule set a1b2c3d4 --cron "0 */6 * * *" \
    --notify ops@example.com --notify security@example.com
```

月曜02:30にローテーションし、特定の構成にスコープする例。

```
My Vault> pam extended schedule set a1b2c3d4 \
    --cron "30 2 * * 1" \
    --config-uid f6e5d4c3
```

***

### pam extended schedule deleteコマンド

`noSchedule=True` を設定してPAMレコードからローテーションスケジュールを削除します。レコードはスケジュールによるローテーションの対象外になりますが、手動でのローテーションは引き続き可能です。

**構文**

```
pam extended schedule delete <uid_ref>
```

**パラメータ**

| パラメータ       | 必須 | 説明                     |
| ----------- | -- | ---------------------- |
| `<uid_ref>` | はい | スケジュールを削除するPAMレコードのUID |

**例**

```
My Vault> pam extended schedule delete a1b2c3d4
Rotation schedule removed for a1b2c3d4
```

***

### pam extended rule listコマンド

PAM構成に関連付けられた検出ルールを一覧表示します。ルールはPAM DAGの `DISCOVERY_RULES` グラフノードに保存されます。

**構文**

```
pam extended rule list --config-uid <uid> [--format table|json]
```

**パラメータ**

| パラメータ                  | 必須  | 説明                  |
| ---------------------- | --- | ------------------- |
| `--config-uid <uid>`   | はい  | 照会するPAM構成のUID       |
| `--format table\|json` | いいえ | 出力形式。デフォルト: `table` |

**例**

```
My Vault> pam extended rule list --config-uid f6e5d4c3
  3a4b5c6d...  name=web-tier  type=machine  cidr=10.0.1.0/24
  7e8f9a0b...  name=db-tier   type=database cidr=10.0.2.0/24
```

***

### pam extended rule addコマンド

PAM構成に新しい検出ルールを追加します。ルールは `PAMElementData` に対する `PAMModifyRequest` のADD操作によりPAM DAGに書き込まれます。

**構文**

```
pam extended rule add <name> --cidr <range> --config-uid <uid> \
    [--type machine|user|database] [--protocol ssh|rdp|database] \
    [--credential-uid <uid>]
```

**パラメータ**

| パラメータ                    | 必須  | 説明                                            |
| ------------------------ | --- | --------------------------------------------- |
| `<name>`                 | はい  | ルールの表示名                                       |
| `--cidr <range>`         | はい  | CIDR表記の対象IP範囲 (例: `10.0.1.0/24`)              |
| `--config-uid <uid>`     | はい  | ルールを関連付けるPAM構成のUID                            |
| `--type`                 | いいえ | 対象タイプ: `machine` (デフォルト)、 `user` 、 `database` |
| `--protocol`             | いいえ | 接続プロトコル: `ssh` (デフォルト)、 `rdp` 、 `database`    |
| `--credential-uid <uid>` | いいえ | ルールに関連付ける認証情報レコードのUID                         |

**例**

ウェブ層向けのマシン検出ルールを追加する例。

```
My Vault> pam extended rule add web-tier \
    --cidr 10.0.1.0/24 \
    --config-uid f6e5d4c3 \
    --type machine \
    --protocol ssh
Discovery rule 'web-tier' added to config f6e5d4c3
```

リンク済み認証情報付きのデータベース検出ルールを追加する例。

```
My Vault> pam extended rule add db-prod \
    --cidr 10.0.2.0/24 \
    --config-uid f6e5d4c3 \
    --type database \
    --protocol database \
    --credential-uid 9a8b7c6d
```

***

### pam extended rule deleteコマンド

要素UID (`pam extended rule list` の戻り値) でPAM構成から検出ルールを削除します。削除は `PAMModifyRequest` のDELETE操作で適用されます。

**構文**

```
pam extended rule delete <uid> --config-uid <uid>
```

**パラメータ**

| パラメータ                | 必須 | 説明                 |
| -------------------- | -- | ------------------ |
| `<uid>`              | はい | 削除する検出ルール要素の16進UID |
| `--config-uid <uid>` | はい | ルールが属するPAM構成のUID   |

**例**

```
My Vault> pam extended rule delete 3a4b5c6d7e8f9a0b --config-uid f6e5d4c3
Discovery rule 3a4b5c6d7e8f9a0b deleted from config f6e5d4c3
```

***

### 注記

* すべての `pam extended` コマンドには、有効なエンタープライズ管理者セッションが必要です。
* レコードおよび構成のUIDは、 `pam config list` または `pam project list` で確認できます。
* スケジュールの変更は、PAMゲートウェイが評価する次回のローテーションウィンドウから有効になります。即時ローテーションの強制実行はありません。
* `pam extended rule add` で追加した検出ルールは、次回の検出サイクルでPAMゲートウェイが評価します。既に検出済みのレコードには遡って影響しません。
* 任意の `list` コマンドで `--format json` を指定すると、出力をスクリプトや他ツールにパイプできます。


---

# 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/keeperpam-commands/pam-extended-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.
