# KeeperPAMコマンド

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

検出、パスワードローテーション、PAM構成、Keeperゲートウェイ構成など、KeeperPAMの各機能は、`pam` コマンドおよびそのサブコマンドを使用してコマンダー上で制御・操作できます。

{% hint style="info" %}
PAMレコードタイプのコマンドリファレンスおよび使用例については、[こちらのページ](/keeperpam/jp/commander-cli/command-reference/record-commands/creating-and-updating-records.md#pam-privileged-access-management-record-types)をご参照ください。
{% endhint %}

## **pamコマンド** <a href="#pam-command" id="pam-command"></a>

**コマンド:** `pam`

**詳細:** KeeperPAMの制御を行います。

```
My Vault> pam
pam command [--options]

Command     Description
----------  -----------------------------------------
gateway     Manage Gateways
config      Manage PAM Configurations
rotation    Manage Rotations
action      Execute action on the Gateway
tunnel      Manage Tunnels
split       Split credentials from legacy PAM Machine
legacy      Switch to legacy PAM commands
connection  Manage Connections
rbi         Manage Remote Browser Isolation
project     PAM Project Import/Export
launch      Launch a connection to a PAM resource
workflow    Manage PAM Workflows
```

**サブコマンド**

* [gateway](#sub-command-gateway)
* [config](#sub-command-config)
* [rotation](#sub-command-rotation)
* [action](#sub-command-action)
* [tunnel](#sub-command-tunnel)
* [split](#sub-command-split)
* [connection](#sub-command-connection)
* [rbi](#sub-command-rbi)
* [project](#sub-command-project)
* [launch](#sub-command-launch)
* [workflow](#sub-command-workflow)

***

### **サブコマンド: gateway** <a href="#sub-command-gateway" id="sub-command-gateway"></a>

**詳細:** Keeperゲートウェイサービスを表示、作成、編集、削除します。Keeperゲートウェイの詳細については、[こちらのページ](https://github.com/Keeper-Security/gitbook-jp-secrets-manager/blob/main/commander-cli/privileged-access-manager/getting-started/gateways/README.md)をご参照ください。

```
My Vault> pam gateway help
pam command [--options]

Command            Description
-----------------  ------------------
list               List Gateways
new                Create new Gateway
edit               Edit Gateway
remove             Remove Gateway
set-max-instances  Set maximum gateway instances
```

#### **list** <a href="#list" id="list"></a>

コマンダーを使用しているユーザーがアクセス可能なKeeperゲートウェイを一覧表示します。

* 自身のボルトから直接操作できるゲートウェイ
* ユーザーのロールに含まれる管理ノードのいずれかに登録されているゲートウェイ

{% code overflow="wrap" %}

```
My Vault> pam gateway list -h
usage: pam [-h] [--force] [--verbose] [--format {table,json}]

options:
  -h, --help            show this help message and exit
  --force, -f           Force retrieval of gateways
  --verbose, -v         Verbose output
  --format {table,json}
                        Output format (table, json)
```

{% endcode %}

#### **new** <a href="#new" id="new"></a>

```
My Vault> pam gateway new -h
usage: dr-create-gateway [-h] --name GATEWAY_NAME --application KSM_APP [--token-expires-in-min TOKEN_EXPIRE_IN_MIN]
                         [--return_value] [--config-init {json,b64}]

options:
  -h, --help            show this help message and exit
  --name GATEWAY_NAME, -n GATEWAY_NAME
                        Name of the Gateway
  --application KSM_APP, -a KSM_APP
                        KSM Application name or UID. Use command `sm app list` to view available KSM Applications.
  --token-expires-in-min TOKEN_EXPIRE_IN_MIN, -e TOKEN_EXPIRE_IN_MIN
                        Time for the one time token to expire. Maximum 1440 minutes (24 hrs). Default: 60
  --return_value, -r    Return value from the command for automation purposes
  --config-init {json,b64}, -c {json,b64}
                        Initialize client config and return configuration string.
```

#### edit <a href="#edit" id="edit"></a>

ゲートウェイ名や登録ノードを変更できます。Keeper管理コンソールの **\[シークレットマネージャー]** → **\[ゲートウェイ]** からも同じ操作ができます。

{% code overflow="wrap" %}

```
My Vault> pam gateway edit -h
usage: pam [-h] [--gateway GATEWAY] [--name GATEWAY_NAME] [--node-id NODE_ID]

options:
  -h, --help            show this help message and exit
  --gateway GATEWAY, -g GATEWAY
                        Gateway UID or Name
  --name GATEWAY_NAME, -n GATEWAY_NAME
                        Name of the Gateway
  --node-id NODE_ID, -i NODE_ID
                        Node ID
```

{% endcode %}

#### remove <a href="#remove" id="remove"></a>

ゲートウェイを削除します。この操作を実行するユーザーは、ゲートウェイの親アプリケーションに対する管理者権限を持っている必要があります。

{% code overflow="wrap" %}

```
My Vault> pam gateway remove -h
usage: pam [-h] --gateway GATEWAY

options:
  -h, --help            show this help message and exit
  --gateway GATEWAY, -g GATEWAY
                        UID of the Gateway
```

{% endcode %}

#### set-max-instances <a href="#set-max-instances" id="set-max-instances"></a>

ゲートウェイプールの最大インスタンス数を設定します。[高可用性](https://github.com/Keeper-Security/gitbook-jp-secrets-manager/blob/main/commander-cli/privileged-access-manager/getting-started/gateways/scaling-and-high-availability.md)の構成で利用します。

{% code overflow="wrap" %}

```
My Vault> pam gateway set-max-instances -h
usage: pam [-h] --gateway GATEWAY --max-instances MAX_INSTANCES

options:
  -h, --help            show this help message and exit
  --gateway GATEWAY, -g GATEWAY
                        Gateway UID or Name
  --max-instances MAX_INSTANCES, -m MAX_INSTANCES
                        Maximum number of gateway instances (must be >= 1)
```

{% endcode %}

***

### **サブコマンド: config** <a href="#sub-command-config" id="sub-command-config"></a>

**詳細:** Keeper PAM構成の表示、作成、編集、削除を行います。PAM構成の詳細については、[こちら](https://github.com/Keeper-Security/gitbook-jp-secrets-manager/blob/main/commander-cli/privileged-access-manager/getting-started/pam-configuration/README.md)をご参照ください。

```
My Vault> pam config help
pam command [--options]

Command    Description
---------  -------------------------------------------------------------
new        Create new PAM Configuration
edit       Edit PAM Configuration
list       List available PAM Configurations associated with the Gateway
remove     Remove a PAM Configuration
```

#### **new** <a href="#new" id="new"></a>

<pre><code><strong>My Vault> pam config new -h
</strong>usage: pam config new [-h] [--environment {local,aws,azure}] [--title TITLE] [--gateway GATEWAY_UID]
                      [--shared-folder SHARED_FOLDER_UID] [--schedule DEFAULT_SCHEDULE] [--port-mapping PORT_MAPPING]
                      [--network-id NETWORK_ID] [--network-cidr NETWORK_CIDR] [--aws-id AWS_ID]
                      [--access-key-id ACCESS_KEY_ID] [--access-secret-key ACCESS_SECRET_KEY] [--region-name REGION_NAMES]
                      [--azure-id AZURE_ID] [--client-id CLIENT_ID] [--client-secret CLIENT_SECRET]
                      [--subscription_id SUBSCRIPTION_ID] [--tenant-id TENANT_ID] [--resource-group RESOURCE_GROUP]
                      [--connections {on,off,default}] [--tunneling {on,off,default}] [--rotation {on,off,default}]
                      [--remote-browser-isolation {on,off,default}] [--connections-recording {on,off,default}]
                      [--typescript-recording {on,off,default}]

options:
  -h, --help            show this help message and exit
  --environment {local,aws,azure}, -env {local,aws,azure}
                        PAM Configuration Type
  --title TITLE, -t TITLE
                        Title of the PAM Configuration
  --gateway GATEWAY_UID, -g GATEWAY_UID
                        Gateway UID or Name
  --shared-folder SHARED_FOLDER_UID, -sf SHARED_FOLDER_UID
                        Share Folder where this PAM Configuration is stored. Should be one of the folders to which the
                        gateway has access to.
  --schedule DEFAULT_SCHEDULE, -sc DEFAULT_SCHEDULE
                        Default Schedule: Use CRON syntax
  --port-mapping PORT_MAPPING, -pm PORT_MAPPING
                        Port Mapping
  --connections {on,off,default}, -c {on,off,default}
                        Set connections permissions
  --tunneling {on,off,default}, -u {on,off,default}
                        Set tunneling permissions
  --rotation {on,off,default}, -r {on,off,default}
                        Set rotation permissions
  --remote-browser-isolation {on,off,default}, -rbi {on,off,default}
                        Set remote browser isolation permissions
  --connections-recording {on,off,default}, -cr {on,off,default}
                        Set recording connections permissions for the resource
  --typescript-recording {on,off,default}, -tr {on,off,default}
                        Set TypeScript recording permissions for the resource

network:
  Local network configuration

  --network-id NETWORK_ID
                        Network ID
  --network-cidr NETWORK_CIDR
                        Network CIDR

aws:
  AWS configuration

  --aws-id AWS_ID       AWS ID
  --access-key-id ACCESS_KEY_ID
                        Access Key Id
  --access-secret-key ACCESS_SECRET_KEY
                        Access Secret Key
  --region-name REGION_NAMES
                        Region Names

azure:
  Azure configuration

  --azure-id AZURE_ID   Azure Id
  --client-id CLIENT_ID
                        Client Id
  --client-secret CLIENT_SECRET
                        Client Secret
  --subscription_id SUBSCRIPTION_ID
                        Subscription Id
  --tenant-id TENANT_ID
                        Tenant Id
  --resource-group RESOURCE_GROUP
                        Resource Group
</code></pre>

#### edit <a href="#edit" id="edit"></a>

<pre><code><strong>My Vault> pam config edit -h                                                                                                                            
</strong>usage: pam config edit [-h] [--environment {local,aws,azure,domain,oci}] [--title TITLE] [--gateway GATEWAY_UID] [--shared-folder SHARED_FOLDER_UID]
                       [--schedule DEFAULT_SCHEDULE] [--port-mapping PORT_MAPPING] [--network-id NETWORK_ID] [--network-cidr NETWORK_CIDR]
                       [--aws-id AWS_ID] [--access-key-id ACCESS_KEY_ID] [--access-secret-key ACCESS_SECRET_KEY] [--region-name REGION_NAMES]
                       [--azure-id AZURE_ID] [--client-id CLIENT_ID] [--client-secret CLIENT_SECRET] [--subscription_id SUBSCRIPTION_ID]
                       [--tenant-id TENANT_ID] [--resource-group RESOURCE_GROUPS] [--domain-id DOMAIN_ID] [--domain-hostname DOMAIN_HOSTNAME]
                       [--domain-port DOMAIN_PORT] [--domain-use-ssl {true,false}] [--domain-scan-dc-cidr {true,false}]
                       [--domain-network-cidr DOMAIN_NETWORK_CIDR] [--domain-admin DOMAIN_ADMINISTRATIVE_CREDENTIAL] [--oci-id OCI_ID]
                       [--oci-admin-id OCI_ADMIN_ID] [--oci-admin-public-key OCI_ADMIN_PUBLIC_KEY] [--oci-admin-private-key OCI_ADMIN_PRIVATE_KEY]
                       [--oci-tenancy OCI_TENANCY] [--oci-region OCI_REGION] [--remove-resource-record REMOVE_RECORDS]
                       [--connections {on,off,default}] [--tunneling {on,off,default}] [--rotation {on,off,default}]
                       [--remote-browser-isolation {on,off,default}] [--connections-recording {on,off,default}]
                       [--typescript-recording {on,off,default}]
                       uid

positional arguments:
  uid                   The Config UID to edit

options:
  -h, --help            show this help message and exit
  --environment, -env {local,aws,azure,domain,oci}
                        PAM Configuration Type
  --title, -t TITLE     Title of the PAM Configuration
  --gateway, -g GATEWAY_UID
                        Gateway UID or Name
  --shared-folder, -sf SHARED_FOLDER_UID
                        Share Folder where this PAM Configuration is stored. Should be one of the folders to which the gateway has access to.
  --schedule, -sc DEFAULT_SCHEDULE
                        Default Schedule: Use CRON syntax
  --port-mapping, -pm PORT_MAPPING
                        Port Mapping
  --remove-resource-record, -rrr REMOVE_RECORDS
                        Resource Record UID to remove
  --connections, -c {on,off,default}
                        Set connections permissions
  --tunneling, -u {on,off,default}
                        Set tunneling permissions
  --rotation, -r {on,off,default}
                        Set rotation permissions
  --remote-browser-isolation, -rbi {on,off,default}
                        Set remote browser isolation permissions
  --connections-recording, -cr {on,off,default}
                        Set recording connections permissions for the resource
  --typescript-recording, -tr {on,off,default}
                        Set TypeScript recording permissions for the resource

network:
  Local network configuration

  --network-id NETWORK_ID
                        Network ID
  --network-cidr NETWORK_CIDR
                        Network CIDR

aws:
  AWS configuration

  --aws-id AWS_ID       AWS ID
  --access-key-id ACCESS_KEY_ID
                        Access Key Id
  --access-secret-key ACCESS_SECRET_KEY
                        Access Secret Key
  --region-name REGION_NAMES
                        Region Names

azure:
  Azure configuration

  --azure-id AZURE_ID   Azure Id
  --client-id CLIENT_ID
                        Client Id
  --client-secret CLIENT_SECRET
                        Client Secret
  --subscription_id SUBSCRIPTION_ID
                        Subscription Id
  --tenant-id TENANT_ID
                        Tenant Id
  --resource-group RESOURCE_GROUPS
                        Resource Group

domain:
  Domain configuration

  --domain-id DOMAIN_ID
                        Domain ID
  --domain-hostname DOMAIN_HOSTNAME
                        Domain hostname
  --domain-port DOMAIN_PORT
                        Domain port
  --domain-use-ssl {true,false}
                        Domain use SSL flag
  --domain-scan-dc-cidr {true,false}
                        Domain scan DC CIDR flag
  --domain-network-cidr DOMAIN_NETWORK_CIDR
                        Domain Network CIDR
  --domain-admin DOMAIN_ADMINISTRATIVE_CREDENTIAL
                        Domain administrative credential

oci:
  OCI configuration

  --oci-id OCI_ID       OCI ID
  --oci-admin-id OCI_ADMIN_ID
                        OCI Admin ID
  --oci-admin-public-key OCI_ADMIN_PUBLIC_KEY
                        OCI admin public key
  --oci-admin-private-key OCI_ADMIN_PRIVATE_KEY
                        OCI admin private key
  --oci-tenancy OCI_TENANCY
                        OCI tenancy
  --oci-region OCI_REGION
                        OCI region
</code></pre>

#### list <a href="#list" id="list"></a>

<pre><code><strong>My Vault> pam config list -h                                                                                                                            
</strong>usage: pam config list [-h] [--config PAM_CONFIGURATION] [--verbose] [--format {table,json}]

options:
  -h, --help            show this help message and exit
  --config, -c PAM_CONFIGURATION
                        Specific PAM Configuration UID
  --verbose, -v         Verbose
  --format {table,json}
                        Output format (table, json)
</code></pre>

#### remove <a href="#remove" id="remove"></a>

<pre><code><strong>My Vault> pam config remove -h                                                                                                                          
</strong>usage: pam config remove [-h] uid

positional arguments:
  uid         PAM Configuration UID. To view all rotation settings with their UIDs, use command `pam config list`

options:
  -h, --help  show this help message and exit

</code></pre>

***

### **サブコマンド: connection** <a href="#sub-command-connection" id="sub-command-connection"></a>

このコマンドは、PAMマシンおよびPAMデータベースのレコードに紐づく接続パラメータおよびユーザーアカウントを編集します。一括での処理には、`run-batch` コマンドを使用できます。接続を開始するにはKeeperボルトかデスクトップアプリを使用します。

**要件**: PAMユーザー認証情報、PAMマシンまたはPAMデータベースのレコードが共有フォルダに登録されており、ゲートウェイが構成済みで、すべてがPAM構成で連携されていることを確認してください。

#### edit <a href="#edit" id="edit"></a>

```
usage: pam connection edit [-h] [--configuration CONFIG] [--admin-user ADMIN] [--launch-user LAUNCH_USER] [--protocol {,http,kubernetes,mysql,postgresql,rdp,sql-server,ssh,telnet,vnc}] [--connections {on,off,default}]
                           [--connections-recording {on,off,default}] [--typescript-recording {on,off,default}] [--connections-override-port CONNECTIONS_OVERRIDE_PORT] [--key-events {on,off,default}] [--silent]
                           record

positional arguments:
  record                The record UID or path of the PAM resource record with network information to use for connections

options:
  -h, --help            show this help message and exit
  --configuration, -c CONFIG
                        The PAM Configuration UID or path to use for connections. Use command `pam config list` to view available PAM Configurations.
  --admin-user, -a ADMIN
                        The record path or UID of the PAM User record to configure the admin credential on the PAM Resource
  --launch-user, -lu LAUNCH_USER
                        The record path or UID of the PAM User record to configure as the launch credential on the PAM Resource
  --protocol, -p {,http,kubernetes,mysql,postgresql,rdp,sql-server,ssh,telnet,vnc}
                        Set connection protocol
  --connections, -cn {on,off,default}
                        Set connections permissions
  --connections-recording, -cr {on,off,default}
                        Set recording connections permissions for the resource
  --typescript-recording, -tr {on,off,default}
                        Set TypeScript recording permissions for the resource
  --connections-override-port, -cop CONNECTIONS_OVERRIDE_PORT
                        Port to use for connections. If not provided, the port from the record will be used.
  --key-events, -k {on,off,default}
                        Toggle Key Events settings
  --silent, -s          Silent mode - don't print PAM User, PAM Config etc.
```

#### 使用例 <a href="#examples" id="examples"></a>

```
1. My Vault> pam connection edit "/Share Folder Name/Record Name" -c ocYDOuzwt3n0iYXuYk0lHw 
-a "/Share Folder Name/Record Name" -p=rdp -cn=on -cr=on -cop=3389

2. My Vault> pam connection edit "/{{ Email }}/{{ Email }} SSH" -c ocYDOuzwt3n0iYXuYk0lHw 
-a "/Share Folder Name/Record Name" -p=ssh -cn=on -cr=on -cop=22 -s

3. My Vault> pam connection edit "/{{ Email }}/{{ Email }} MSSQL" -c ocYDOuzwt3n0iYXuYk0lHw 
-a "/Share Folder Name/Record Name" -p=sql-server -cn=on -tr=on -cop=1433
```

**例1**: RDP接続を作成し、管理用の認証情報およびPAM構成を割り当てます。接続を有効化し、画面録画を有効にします。

**例2**: SSH接続を作成し、管理用の認証情報およびPAM構成を割り当てます。接続を有効化し、画面録画を有効にしたうえで、出力を表示しないサイレントモードで実行します。

**例3**: MSSQL接続を作成し、管理用の認証情報およびPAM構成を割り当てます。接続を有効化し、typescript形式の録画を有効にします。

***

### **サブコマンド: rbi** <a href="#sub-command-rbi" id="sub-command-rbi"></a>

このコマンドを使用すると、レコードのリモートブラウザ分離設定を編集できます。

#### edit <a href="#edit" id="edit"></a>

```
usage: pam rbi edit [-h] --record RECORD [--configuration CONFIG] [--remote-browser-isolation {on,off,default}] [--connections-recording {on,off,default}] [--key-events {on,off,default}] [--allow-url-navigation {on,off,default}]
                    [--ignore-server-cert {on,off,default}] [--allowed-urls ALLOWED_URLS] [--allowed-resource-urls ALLOWED_RESOURCE_URLS] [--autofill-credentials AUTOFILL] [--autofill-targets AUTOFILL_TARGETS]
                    [--allow-copy {on,off,default}] [--allow-paste {on,off,default}] [--disable-audio {on,off,default}] [--audio-channels AUDIO_CHANNELS] [--audio-bit-depth {8,16}] [--audio-sample-rate AUDIO_SAMPLE_RATE] [--silent]

options:
  -h, --help            show this help message and exit
  --record, -r RECORD   The record UID or path of the RBI record.
  --configuration, -c CONFIG
                        The PAM Configuration UID or path to use for connections. Use command `pam config list` to view available PAM Configurations.
  --remote-browser-isolation, -rbi {on,off,default}
                        Set RBI permissions
  --connections-recording, -cr {on,off,default}
                        Set recording connections permissions for the resource
  --key-events, -k {on,off,default}
                        Toggle Key Events settings
  --allow-url-navigation, -nav {on,off,default}
                        Allow navigation via direct URL manipulation (on/off/default)
  --ignore-server-cert, -isc {on,off,default}
                        Ignore server certificate errors (on/off/default)
  --allowed-urls, -au ALLOWED_URLS
                        Allowed URL patterns (can specify multiple times)
  --allowed-resource-urls, -aru ALLOWED_RESOURCE_URLS
                        Allowed resource URL patterns (can specify multiple times)
  --autofill-credentials, -a AUTOFILL
                        The record UID or path of the RBI Autofill Credentials record.
  --autofill-targets, -at AUTOFILL_TARGETS
                        Autofill target selectors (can specify multiple times)
  --allow-copy, -cpy {on,off,default}
                        Allow copying to clipboard (on/off/default)
  --allow-paste, -p {on,off,default}
                        Allow pasting from clipboard (on/off/default)
  --disable-audio, -da {on,off,default}
                        Disable audio for RBI sessions (on/off/default)
  --audio-channels, -ac AUDIO_CHANNELS
                        Number of audio channels (e.g., 1 for mono, 2 for stereo)
  --audio-bit-depth, -bd {8,16}
                        Audio bit depth (8 or 16)
  --audio-sample-rate, -sr AUDIO_SAMPLE_RATE
                        Audio sample rate in Hz (e.g., 44100, 48000)
  --silent, -s          Silent mode - don't print PAM User, PAM Config etc.

```

***

### **サブコマンド: rotation** <a href="#sub-command-rotation" id="sub-command-rotation"></a>

**詳細:** レコードのKeeperローテーションの設定を表示および作成します。

```
My Vault> pam rotation help
pam command [--options]

Command    Description
---------  -----------------------------------
edit       Edits Record Rotation configuration
list       List Record Rotation configuration
info       Get Rotation Info
script     Add, delete, or edit script field
```

#### edit <a href="#edit" id="edit"></a>

```
My Vault> pam rotation edit --help
usage: pam rotation edit [-h] (--record RECORD_NAME | --folder FOLDER_NAME) [--force] [--config CONFIG]
                         [--iam-aad-config IAM_AAD_CONFIG_UID] [--resource RESOURCE] [--schedulejson SCHEDULE_JSON_DATA |
                         --schedulecron SCHEDULE_CRON_DATA | --on-demand | --schedule-config] [--complexity PWD_COMPLEXITY]
                         [--admin-user ADMIN] [--enable | --disable]

options:
  -h, --help            show this help message and exit
  --record, -r RECORD_NAME
                        Record UID, name, or pattern to be rotated manually or via schedule
  --folder, -fd FOLDER_NAME
                        Used for bulk rotation setup. The folder UID or name that holds records to be configured
  --force, -f           Do not ask for confirmation
  --config, -c CONFIG   UID or path of the configuration record.
  --iam-aad-config, -iac IAM_AAD_CONFIG_UID
                        UID of a PAM Configuration. Used for an IAM or Azure AD user in place of --resource.
  --resource, -rs RESOURCE
                        UID or path of the resource record.
  --schedulejson, -sj SCHEDULE_JSON_DATA
                        JSON of the scheduler. Example: -sj '{"type": "WEEKLY", "utcTime": "15:44", "weekday": "SUNDAY",
                        "intervalCount": 1}'
  --schedulecron, -sc SCHEDULE_CRON_DATA
                        Cron tab string of the scheduler. Example: to run job daily at 5:56PM UTC enter following cron -sc "56 17
                        * * *"
  --on-demand, -od      Schedule On Demand
  --schedule-config, -sf
                        Schedule from Configuration
  --schedule-only, -so  Only update the rotation schedule without changing other settings 
  --complexity, -x PWD_COMPLEXITY
                        Password complexity: length, upper, lower, digits, symbols. Ex. 32,5,5,5,5[,SPECIAL CHARS]
  --admin-user, -a ADMIN
                        UID or path for the PAMUser record to configure the admin credential on the PAM Resource as the Admin when
                        rotating
  --enable, -e          Enable rotation
  --disable, -d         Disable rotation
```

#### JSONでローテーションスケジュールを設定する例 <a href="#example-set-the-rotation-schedule-using-json" id="example-set-the-rotation-schedule-using-json"></a>

`--schedulejson` または `-sj` パラメータで、JSON によりスケジュールを設定します。

PAMユーザーレコードを、毎月1日の午前4時 (シカゴ時間) にローテーションする例です。

<pre data-overflow="wrap"><code><strong>pam rotation edit -r XXXX -sj '{"type": "MONTHLY_BY_DAY", "monthDay": 1, "time": "04:00", "tz": "America/Chicago"}'
</strong></code></pre>

PAMユーザーレコードを、毎週土曜日の午後10時 (ニューヨーク時間) にローテーションする例です。

{% code overflow="wrap" %}

```
pam rotation edit -r XXXX -sj '{"type": "WEEKLY", "weekday": "SATURDAY", "time": "22:00", "tz": "America/New_York"}'
```

{% endcode %}

有効なスケジュールの種類は次のとおりです。

**ON DEMAND**

**手動のオンデマンドでジョブが起動します。**

```
pam rotation edit -r XXXX --on-demand
```

**DAILY**

**ジョブが毎日起動します。**

* `type` - DAILY
* `time` - ジョブを実行する時刻 (24時間表記)
* `tz` - 現地の [IANA](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)タイムゾーン (例: America/Chicago)
* `intervalCount` - 任意。起動の間隔となる日数。日をスキップするために指定します。

#### WEEKLY <a href="#weekly" id="weekly"></a>

ジョブが毎週起動します。

* `type` - WEEKLY
* `weekday` - 曜日名。必ずフル名で、すべて大文字にします。
  * SUNDAY
  * MONDAY
  * TUESDAY
  * WEDNESDAY
  * THURSDAY
  * FRIDAY
  * SATURDAY
* `time` - ジョブを実行する時刻 (24時間表記)
* `tz` - 現地の [IANA](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)タイムゾーン (例: America/Chicago)
* `intervalCount` - 任意。1 より大きい値にすると `weekday` は無視されます。日曜を起点に、その週に複数回、間隔の日数に応じてジョブが起動します。

#### MONTHLY\_BY\_DAY <a href="#monthlybyday" id="monthlybyday"></a>

ジョブが毎月、特定の「日」に起動します。

* `type` - MONTHLY\_BY\_DAY
* `monthDay` - 月の日 (1 からその月の最終日まで)。29 日はうるう年のみ有効な場合があります。
* `time` - ジョブを実行する時刻 (24時間表記)
* `tz` - 現地の [IANA](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)タイムゾーン (例: America/Chicago)
* `intervalCount` - 任意。1 より大きい値の場合、`monthDay` で一度起動したあと、指定した日数ごとに再トリガーされます。

#### MONTHLY\_BY\_WEEKDAY <a href="#monthlybyweekday" id="monthlybyweekday"></a>

ジョブが毎月、特定の曜日と時刻に起動します。

* `type` - MONTHLY\_BY\_WEEKDAY
* `weekday` - 曜日名。必ずフル名で、すべて大文字にします。
  * SUNDAY
  * MONDAY
  * TUESDAY
  * WEDNESDAY
  * THURSDAY
  * FRIDAY
  * SATURDAY
* `occurrence` - その月の第何週で起動するか。第5週の場合は `LAST`。
  * FIRST
  * SECOND
  * THIRD
  * FOURTH
  * LAST
* `time` - ジョブを実行する時刻 (24時間表記)
* `tz` - 現地の [IANA](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)タイムゾーン (例: America/Chicago)
* `intervalCount` - 任意。1 以外に設定すると、最初の `weekday` から始まり、その後は `intervalCount` 週ごとに起動します。

#### YEARLY <a href="#yearly" id="yearly"></a>

ジョブが毎年、指定した月・日・時刻に起動します。

* `type` - YEARLY
* `month` - 月名。必ずフル名で、すべて大文字にします。
  * JANUARY
  * FEBRUARY
  * MARCH
  * APRIL
  * MAY
  * JUNE
  * JULY
  * AUGUST
  * SEPTEMBER
  * OCTOBER
  * NOVEMBER
  * DECEMBER
* `monthDay` - 月の日 (1からその月の最終日まで)。29日はうるう年に該当する場合があります。
* `time` - ジョブを実行する時刻 (24時間表記)
* `tz` - 現地の [IANA](https://en.wikipedia.org/wiki/List_of_tz_database_time_zones)タイムゾーン (例: America/Chicago)
* `intervalCount` - 任意。1以外に設定すると、毎年ではなく `intervalCount` 年ごとに起動します。

#### パスワード複雑性の設定例 (PAMユーザー用) <a href="#example-set-the-password-complexity-for-the-pam-user" id="example-set-the-password-complexity-for-the-pam-user"></a>

`--complexity` または `-x` パラメータで、パスワードの複雑さを設定します。

以下のとおり20文字のパスワードを生成します (大文字1つ以上、小文字4つ以上、数字2つ、記号セット `.=+-` から記号2つ)。

```
pam rotation edit -r XXXX -x 20,1,4,2,2,.=+-
```

値はカンマ区切り (CSV 形式)で、次の要素をこの順で指定します。

1. パスワード全体の長さ
2. 大文字の最小数
3. 小文字の最小数
4. 数字の最小数
5. 記号の最小数
6. 記号セット。最後のカンマの後に使いたい記号を並べます。次の集合に含まれる記号のみ使用できます。空にすると、次のデフォルトの記号セットが使われます。

   ```
   !@#$%^?();',.=+[]<>{}-_/\\*&:"`~|
   ```

#### **list** <a href="#list" id="list"></a>

ローテーションが設定されているすべてのリソースの一覧を表示します。

```
My Vault> pam rotation list --help
usage: pam rotation list [-h] [--verbose]

optional arguments:
  -h, --help     show this help message and exit
  --verbose, -v  Verbose output
```

#### **info** <a href="#info" id="info"></a>

特定のリソースに対するローテーション設定の情報を表示します。

```
My Vault> pam rotation info --help 
usage: dr-router-get-rotation-info-parser [-h] --record-uid RECORD_UID

optional arguments:
  -h, --help            show this help message and exit
  --record-uid RECORD_UID, -r RECORD_UID
                        Record UID to rotate
```

#### **script** <a href="#script" id="script"></a>

ポストローテーションPAMスクリプトを管理します。

```
My Vault> pam rotation script --help
pam command [--options]

Command    Description
---------  ---------------------------------
list       List script fields
add        List Record Rotation Schedulers
edit       Add, delete, or edit script field
delete     Delete script field
```

***

### **サブコマンド: action** <a href="#sub-command-action" id="sub-command-action"></a>

**詳細:** PAMリソースの検出、認証情報のローテーション、サービスアカウントの管理に使います。

```
My Vault> pam action help
pam command [--options]

Command       Description
------------  ---------------------
gateway-info  Info command
discover      Discover command
rotate        Rotate command
job-info      View Job details
job-cancel    View Job details
service       Manage services and scheduled tasks
debug         PAM debug information
```

#### gateway-info <a href="#gateway-info" id="gateway-info"></a>

特定のKeeperゲートウェイの情報を表示します。

```
My Vault> pam action gateway-info --help
usage: dr-info-command [-h] [--gateway GATEWAY_UID] [--verbose]

optional arguments:
  -h, --help            show this help message and exit
  --gateway GATEWAY_UID, -g GATEWAY_UID
                        Gateway UID
  --verbose, -v         Verbose Output
```

#### discover <a href="#discover" id="discover"></a>

検出ジョブを管理します。

```
My Vault> pam action discover --help
pam command [--options]

Command    Description
---------  ----------------------------------
start      Start a discovery process
status     Status of discovery jobs
remove     Cancel or remove of discovery jobs
process    Process discovered items
rule       Manage discovery rules
```

#### discover start <a href="#discover-start" id="discover-start"></a>

検出ジョブを開始します。

```
My Vault> pam action discover start --help
usage: dr-discover-start-command [-h] --gateway GATEWAY [--resource RESOURCE_UID] [--lang LANGUAGE] [--include-machine-dir-users] [--inc-azure-aadds]
                                 [--skip-rules] [--skip-machines] [--skip-databases] [--skip-directories] [--skip-cloud-users] [--cred CREDENTIALS]
                                 [--cred-file CREDENTIAL_FILE]

options:
  -h, --help            show this help message and exit
  --gateway GATEWAY, -g GATEWAY
                        Gateway name of UID.
  --resource RESOURCE_UID, -r RESOURCE_UID
                        UID of the resource record. Set to discover specific resource.
  --lang LANGUAGE       Language
  --include-machine-dir-users
                        Include directory users found on the machine.
  --inc-azure-aadds     Include Azure Active Directory Domain Service.
  --skip-rules          Skip running the rule engine.
  --skip-machines       Skip discovering machines.
  --skip-databases      Skip discovering databases.
  --skip-directories    Skip discovering directories.
  --skip-cloud-users    Skip discovering cloud users.
  --cred CREDENTIALS    List resource credentials.
  --cred-file CREDENTIAL_FILE
                        A JSON file containing list of credentials.
```

#### discover status <a href="#discover-status" id="discover-status"></a>

検出ジョブのステータスを表示します。

```
My Vault> pam action discover status --help
usage: dr-discover-status-command [-h] [--gateway GATEWAY] [--job-id JOB_ID] [--history]

options:
  -h, --help            show this help message and exit
  --gateway GATEWAY, -g GATEWAY
                        Show only discovery jobs from a specific gateway.
  --job-id JOB_ID, -j JOB_ID
                        Detailed information for a specific discovery job.
  --history             Show history

```

#### discover remove <a href="#discover-remove" id="discover-remove"></a>

実行中の検出ジョブを停止します。

```
My Vault> pam action discover remove --help
usage: dr-discover-command-process [-h] --job-id JOB_ID

options:
  -h, --help            show this help message and exit
  --job-id JOB_ID, -j JOB_ID
                        Discovery job id.
```

#### discover process <a href="#discover-process" id="discover-process"></a>

検出ジョブの結果を処理します。

```
My Vault> pam action discover process --help
usage: dr-discover-command-process [-h] --job-id JOB_ID [--add-all] [--debug-gs-level DEBUG_LEVEL]

options:
  -h, --help            show this help message and exit
  --job-id JOB_ID, -j JOB_ID
                        Discovery job to process.
  --add-all             Respond with ADD for all prompts.
  --debug-gs-level DEBUG_LEVEL
                        GraphSync debug level. Default is 0
```

#### discover rule <a href="#discover-rule" id="discover-rule"></a>

検出ルールを管理します。

```
My Vault> pam action discover rule --help
pam command [--options]

Command    Description
---------  --------------
add        Add a rule
list       List all rules
remove     Remove a rule
update     Update a rule
```

#### discover rule add <a href="#discover-rule-add" id="discover-rule-add"></a>

検出ルールを追加します。

```
My Vault> pam action discover rule add --help
usage: pam-action-discover-rule-add [-h] --gateway GATEWAY --action {add,ignore,prompt} --priority PRIORITY [--ignore-case]
                                    [--shared-folder-uid SHARED_FOLDER_UID] --statement STATEMENT

options:
  -h, --help            show this help message and exit
  --gateway, -g GATEWAY
                        Gateway name of UID.
  --action, -a {add,ignore,prompt}
                        Action to take if rule matches
  --priority, -p PRIORITY
                        Rule execute priority
  --ignore-case         Ignore value case. Rule value must be in lowercase.
  --shared-folder-uid SHARED_FOLDER_UID
                        Folder to place record.
  --statement, -s STATEMENT
                        Rule statement
```

#### rotate <a href="#rotate" id="rotate"></a>

特定のリソース、リソースのフォルダ、リソースタイトル内のパターンに対して、認証情報のローテーションを実行します。[構成済みのメールプロバイダ](https://github.com/Keeper-Security/gitbook-jp-secrets-manager/blob/main/commander-cli/command-reference/keeperpam-commands/email-configuration-commands.md)を使って、ワンタイム共有リンクをメールで送信することもできます。

```
My Vault> pam action rotate --help
usage: pam action rotate [-h] [--record-uid RECORD_UID] [--folder FOLDER] [--dry-run]

options:
  -h, --help            show this help message and exit
  --record-uid, -r RECORD_UID
                        Record UID to rotate
  --folder, -f FOLDER   Shared folder UID or title pattern to rotate
  --dry-run, -n         Enable dry-run mode
  --email-config NAME   Email configuration to use for sending (required with --send-email)
  --send-email EMAIL    Email address to send one-time share link after successful rotation
  --email-message MESSAGE  Custom message to include in notification email
```

#### job-info <a href="#job-info" id="job-info"></a>

実行中のジョブの情報を表示します。

```
My Vault> pam action job-info --help
usage: pam-action-job-command [-h] [--gateway GATEWAY_UID] job_id

positional arguments:
  job_id

optional arguments:
  -h, --help            show this help message and exit
  --gateway GATEWAY_UID, -g GATEWAY_UID
                        Gateway UID. Needed only if there are more than one gateway running
```

#### job-cancel <a href="#job-cancel" id="job-cancel"></a>

実行中のジョブをキャンセルします。

```
My Vault> pam action job-cancel --help
usage: pam-action-job-command [-h] [--gateway GATEWAY_UID] job_id

positional arguments:
  job_id

optional arguments:
  -h, --help            show this help message and exit
  --gateway GATEWAY_UID, -g GATEWAY_UID
                        Gateway UID. Needed only if there are more than one gateway running

```

#### service list <a href="#service-list" id="service-list"></a>

特定のKeeperゲートウェイに関連するサービスとスケジュールタスクを表示します。

```
My Vault> pam action service list -h
usage: pam-action-service-list [-h] --gateway GATEWAY

options:
  -h, --help            show this help message and exit
  --gateway GATEWAY, -g GATEWAY
                        Gateway name or UID
```

#### service add <a href="#service-add" id="service-add"></a>

サービスを特定のKeeperゲートウェイおよびPAMマシンに関連付けます。関連付けられると、Keeperはそのサービスの認証情報を指定されたPAMマシン上で更新し、サービスが実行中であれば再起動します。

```
My Vault> pam action service add -h
usage: pam-action-service-add [-h] --gateway GATEWAY --machine-uid MACHINE_UID --user-uid
                              USER_UID --type {service,task}

options:
  -h, --help            show this help message and exit
  --gateway GATEWAY, -g GATEWAY
                        Gateway name or UID
  --machine-uid MACHINE_UID, -m MACHINE_UID
                        The UID of the Windows Machine record
  --user-uid USER_UID, -u USER_UID
                        The UID of the User record
  --type {service,task}, -t {service,task}
                        Relationship to add [service, task]
```

#### service remove <a href="#service-remove" id="service-remove"></a>

特定のPAMマシン上のサービスに対する関連付けを削除します。

```
My Vault> pam action service remove -h
usage: pam-action-service-remove [-h] --gateway GATEWAY --machine-uid MACHINE_UID --user-uid
                                 USER_UID --type {service,task}

options:
  -h, --help            show this help message and exit
  --gateway GATEWAY, -g GATEWAY
                        Gateway name or UID
  --machine-uid MACHINE_UID, -m MACHINE_UID
                        The UID of the Windows Machine record
  --user-uid USER_UID, -u USER_UID
                        The UID of the User record
  --type {service,task}, -t {service,task}
                        Relationship to remove [service, task]
```

***

### **サブコマンド: tunnel** <a href="#sub-command-tunnel" id="sub-command-tunnel"></a>

**詳細**: ローカルマシンから対象インフラへのKeeperトンネルの表示および作成を行います。

```
My Vault> pam tunnel help
pam command [--options]

Command    Description
---------  -------------------------
start      Start Tunnel
list       List all Tunnels
stop       Stop Tunnel to the server
tail       View Tunnel Log
edit       Edit Tunnel settings
```

#### start <a href="#start" id="start"></a>

ローカルデバイスから対象のリソースへのトンネルを開始します。

```
My Vault> pam tunnel start -h
usage: pam tunnel start [-h] [--host HOST] [--port PORT] uid

positional arguments:
  uid                   The Record UID of the PAM resource record with network information to use for tunneling

options:
  -h, --help            show this help message and exit
  --host HOST, -o HOST  The address on which the server will be accepting connections. It could be an IP address or a
                        hostname. Ex. set to 127.0.0.1 as default so only connections from the same machine will be accepted.
  --port PORT, -p PORT  The port number on which the server will be listening for incoming connections. If not set, random
                        open port on the machine will be used.
```

#### list <a href="#list" id="list"></a>

すべての実行中のトンネルの一覧を表示します。

```
My Vault> pam tunnel list -h
usage: pam tunnel list [-h]

options:
  -h, --help  show this help message and exit
```

#### stop <a href="#stop" id="stop"></a>

現在実行中のトンネルを停止します。

```
My Vault> pam tunnel stop -h
usage: pam tunnel stop [-h] uid

positional arguments:
  uid         The Tunnel UID or Record UID

options:
  -h, --help  show this help message and exit
```

#### tail <a href="#tail" id="tail"></a>

Keeperトンネル内の情報を表示します。

```
My Vault> pam tunnel tail -h
usage: pam tunnel tail [-h] uid

positional arguments:
  uid         The Tunnel UID

options:
  -h, --help  show this help message and exit
```

#### edit <a href="#edit" id="edit"></a>

既存のトンネルの構成を編集します。

```
usage: pam tunnel edit [-h] [--configuration CONFIG] [--enable-tunneling] [--tunneling-override-port TUNNELING_OVERRIDE_PORT] [--disable-tunneling] [--remove-tunneling-override-port] [--keeper-db-proxy {on,off,default}] record

positional arguments:
  record                The record path or UID of the PAM resource record with network information to use for tunneling

options:
  -h, --help            show this help message and exit
  --configuration, -c CONFIG
                        The PAM Configuration UID or path to use for tunneling. Use command `pam config list` to view available PAM Configurations.
  --enable-tunneling, -et
                        Enable tunneling on the record
  --tunneling-override-port, -top TUNNELING_OVERRIDE_PORT
                        Port to use for tunneling. If not provided, the port from the record will be used.
  --disable-tunneling, -dt
                        Disable tunneling on the record
  --remove-tunneling-override-port, -rtop
                        Remove tunneling override port
  --keeper-db-proxy, -kdbp {on,off,default}
                        Enable/disable Keeper Database Proxy for pamDatabase records (on/off/default)
```

***

### サブコマンド: split <a href="#sub-command-split" id="sub-command-split"></a>

詳細: レガシーPAMレコードを新しいKeeperPAM形式に分割します。

```
My Vault> pam split -h
usage: pam split [-h] [--configuration PAM_CONFIG] [--folder PAM_USER_FOLDER] pam_machine_record

positional arguments:
  pam_machine_record    The record UID or title of the legacy PAM Machine record with built-in PAM User credentials.

options:
  -h, --help            show this help message and exit
  --configuration PAM_CONFIG, -c PAM_CONFIG
                        The PAM Configuration Name or UID - If the legacy record was configured for rotation this command
                        will try to autodetect PAM Configuration settings otherwise you'll be prompted to provide the PAM
                        Config.
  --folder PAM_USER_FOLDER, -f PAM_USER_FOLDER
                        The folder where to store the new PAM User record - folder names/paths are case sensitive!(if skipped
                        - PAM User will be created into the same folder as PAM Machine)
```

***

### サブコマンド: project <a href="#sub-command-project" id="sub-command-project"></a>

詳細: KeeperPAMプロジェクトを作成します (ボルトのUIにある[クイックスタートサンドボックス](https://github.com/Keeper-Security/gitbook-jp-secrets-manager/blob/main/commander-cli/privileged-access-manager/quick-start-sandbox.md)に類似)。

PAMインポートコマンドは、数千の管理対象企業を持つMSPなどの顧客が、フォルダ、ゲートウェイ、マシン、ユーザー、接続、トンネル、(オプションで) ローテーションの作成を自動化するのに役立ちます。

```
My Vault> pam project import -h
usage: pam project import [-h] [--name PROJECT_NAME] [--filename FILE_NAME] [--dry-run] [--sample-data] [--show-template]
                          [--output {token,base64,json}]

options:
  -h, --help            show this help message and exit
  --name PROJECT_NAME, -n PROJECT_NAME
                        Project name.
  --filename FILE_NAME, -f FILE_NAME
                        File to load import data from.
  --dry-run, -d         Test import without modifying vault.
  --sample-data, -s     Generate sample data.
  --show-template, -t   Print JSON template required for manual import.
  --output {token,base64,json}, -o {token,base64,json}
                        Output format (token: one-time token, config: base64/json)
```

`pam project import --name=project1 --filename=/path/to/import.json --dry-run`

* `--name`, `-n` → プロジェクト名 *(JSON内の `"project":""` を上書きします)*
* `--filename`, `-f` → インポートデータを読み込むJSONファイル
* `--dry-run`, `-d` → ボルトを変更せずにインポートをテストします。

**コマンドのバリエーション: 「extend」**

`pam project extend` コマンドは、初回インポートのあとに追加レコードを作成するとき、既存のPAMゲートウェイとPAM構成をそのまま使います。

```
My Vault> pam project extend -h
usage: pam project extend [-h] [--config PAM_CONFIG] [--filename FILE_NAME] [--dry-run]

options:
  -h, --help            show this help message and exit
  --config PAM_CONFIG, -c PAM_CONFIG
                        PAM Configuration record UID or title.
  --filename FILE_NAME, -f FILE_NAME
                        File to load import data from.
  --dry-run, -d         Test import without modifying vault.
```

#### JSONインポート/拡張に関するドキュメント <a href="#importextend-json-documentation" id="importextend-json-documentation"></a>

* サーバーホスト名の一覧からWindowsサーバーをPAMリソースとしてインポートする手順については、[PAMリソースのインポート](https://github.com/Keeper-Security/gitbook-jp-secrets-manager/blob/main/commander-cli/privileged-access-manager/references/importing-pam-resources.md)のページをご参照ください。
* `pam project import` 用テンプレートの詳細な仕様については、こちらの[GitHubのREADME](https://github.com/Keeper-Security/Commander/blob/master/keepercommander/commands/pam_import/README.md)をご確認ください。
* ご不明な点がございましたら、コマンダーチーム (<commander@keepersecurity.com>) までご連絡ください。

***

### **サブコマンド: Launch** <a href="#sub-command-launch" id="sub-command-launch"></a>

**詳細:** CLI上でKeeperPAMの特権セッションを開始します。接続先へは、普段お使いの端末・ターミナルから接続できます。`pam launch` を使ったセッションは、リソースおよびポリシーに応じた設定に従い、アクティビティの記録・監視の対象となります。

コマンダーCLIから接続を開始するには、以下のコマンドを実行します。

```
My Vault> pam launch <UID>

Launching connection to SSH to Linux Gateway Host (i-028348b3257e8c550)...
⠧ [ Establishing secure session… ]

   ,     #_
   ~\_  ####_        Amazon Linux 2023
  ~~  \_#####\
  ~~     \###|
  ~~       \#/ ___   https://aws.amazon.com/linux/amazon-linux-2023
   ~~       V~' '->
    ~~~         /
      ~~._.   _/
         _/ _/
       _/m/'
Last login: Wed May  6 02:10:58 2026 from 192.168.1.11
[ec2-user@ip-10-0-0-137 ~]$ 
```

ターミナルから、コマンダーCLIを介さずに直接セッションを開始することもできます。

```
$ keeper pam launch <UID>
```

構文:

{% code overflow="wrap" %}

```
My Vault> pam launch -h                                                                                                                                   
usage: pam [-h] [--no-trickle-ice] [--credential LAUNCH_CREDENTIAL] [--host CUSTOM_HOST] [--host-record HOST_RECORD] [--stdin] [--normalize-crlf]
           [--scale SCALE]
           record

Launch a connection to a PAM resource

positional arguments:
  record                Record path or UID of the PAM resource to launch

options:
  -h, --help            show this help message and exit
  --no-trickle-ice, -nti
                        Disable trickle ICE for WebRTC connections. By default, trickle ICE is enabled for real-time candidate exchange.
  --credential LAUNCH_CREDENTIAL, -cr LAUNCH_CREDENTIAL
                        Record (UID, path, or title) for launch credentials
  --host CUSTOM_HOST, -H CUSTOM_HOST
                        Host and port in format host:port (e.g. -H=192.168.1.1:22 or -H=[::1]:22 for IPv6). Requires allowSupplyHost. Mutually exclusive
                        with --host-record.
  --host-record HOST_RECORD, -hr HOST_RECORD
                        Record (UID, path, or title) with a host or pamHostname field containing hostName and port. Requires allowSupplyHost. Mutually
                        exclusive with --host.
  --stdin               Send typed input via stdin pipe bytes (pipe/blob/end, kcm-cli style) instead of the default Guacamole key-event mode. Paste and
                        Ctrl+C double-tap behave the same in both modes.
  --normalize-crlf, -n  Normalize decoded Guacamole STDOUT: CRLF to LF and downstream LF cleanup. Use when you see double new lines from the remote. By
                        default we keep raw CR/LF on STDOUT (lower overhead). Alternatively, tune sending double newlines to the remote with environment
                        variable PAM_LAUNCH_CRLF_MERGE_DELAY_MS: [50..500] ms which controls local Enter coalescing (split CRLF across reads).
  --scale SCALE, -s SCALE
                        Scale pixel width/height by this percentage (e.g. 50 = half canvas, 200 = double). Range: [40-400]. Helps when fullscreen TUI
                        programs show garbled layout.
```

{% endcode %}

***

### **サブコマンド: workflow** <a href="#sub-command-workflow" id="sub-command-workflow"></a>

**詳細:** PAMリソース向けのジャストインタイム (JIT) 特権アクセスのワークフローを管理します。承認に基づくアクセス制御に加え、チェックイン/チェックアウト、MFA、時間で区切られたアクセス期間などをオプションで適用できます。

{% hint style="info" %}
構成用のコマンド (`create`、`update`、`delete`、`add-approver`、`remove-approver`) を利用するには、ロールで**ワークフロー設定を管理できる**エンフォースメントが有効になっている必要があります。このエンフォースメントがないユーザーには、申請者・承認者向けのコマンドのみが表示されます。
{% endhint %}

{% hint style="info" %}
レコードの所有者および承認者 (直接またはチーム経由でワークフローの承認者リストに含まれているユーザー) は、そのレコードのワークフロー要件の対象外となり、リソースに直接アクセスできます。
{% endhint %}

```
My Vault> pam workflow help
pam command [--options]

Command          Description
---------------  ---------------------------------
create           Create workflow configuration
read             Read workflow configuration
update           Update workflow configuration
delete           Delete workflow configuration
add-approver     Add approvers
remove-approver  Remove approvers
pending          Get pending approvals
approve          Approve access request
deny             Deny access request
request          Request, escalate, or cancel access
start            Start workflow (check-out)
end              End workflow (check-in)
state            Get workflow state
my-access        Get my access state
```

**ワークフロー配下のコマンド分類**

* 構成
  * [`create`](#create)
  * [`read`](#read)
  * [`update`](#update)
  * [`delete`](#delete)
  * [`add-approver`](#add-approver)
  * [`remove-approver`](#remove-approver)
* 承認者向け
  * [`pending`](#pending)
  * [`approve`](#approve)
  * [`deny`](#deny)
* 申請者向け
  * [`request`](#request)
  * [`start`](#start)
  * [`end`](#end)
* 状態の確認
  * [`state`](#state)
  * [`my-access`](#my-access)

***

#### **create** <a href="#create" id="create"></a>

PAMレコードに対するワークフロー設定を新規作成します。承認が必要な場合は、承認者を1名以上追加する必要があります。

{% code overflow="wrap" %}

```
My Vault> pam workflow create -h
usage: pam workflow create [-h] [-u APPROVER] [-n APPROVALS_NEEDED] [-co] [-sa] [-rr] [-rt]
                           [-rm] [-d DURATION] [--allowed-days ALLOWED_DAYS]
                           [--time-range TIME_RANGE]
                           [--format {table,json}]
                           record

positional arguments:
  record                Record UID or name to configure workflow for

options:
  -h, --help            show this help message and exit
  -u APPROVER, --approver APPROVER
                        User email to add as approver (repeat for multiple).
                        Required when --approvals-needed > 0.
  -n APPROVALS_NEEDED, --approvals-needed APPROVALS_NEEDED
                        Number of approvals required (default: 1)
  -co, --checkout       Enable single-user check-in/check-out mode
  -sa, --start-on-approval
                        Start access timer when approved (vs when checked out)
  -rr, --require-reason
                        Require user to provide reason for access
  -rt, --require-ticket
                        Require user to provide ticket number
  -rm, --require-mfa    Require MFA verification for access
  -d DURATION, --duration DURATION
                        Access duration (e.g., "2h", "30m", "1d"). Default: 1d
  --allowed-days ALLOWED_DAYS
                        Comma-separated allowed days (e.g., "mon,tue,wed,thu,fri")
  --time-range TIME_RANGE
                        Allowed time range in HH:MM-HH:MM format (e.g., "09:00-17:00")
  --format {table,json}
                        Output format
```

{% endcode %}

**例**

承認を1段階とし、アクセス期間を1日とする、基本的なワークフローを作成する例です。

```
My Vault> pam workflow create "Linux Server Prod" -u approver@company.com
```

チェックイン/チェックアウト、MFA、理由の入力を必須とするワークフローを作成する例です。

{% code overflow="wrap" %}

```
My Vault> pam workflow create aB1cD2eF3gH4 -u approver@company.com -n 2 -co -rm -rr -d 2h
```

{% endcode %}

平日の営業時間内にのみアクセスを許可するワークフローを作成する例です。

{% code overflow="wrap" %}

```
My Vault> pam workflow create aB1cD2eF3gH4 -u approver@company.com --allowed-days mon,tue,wed,thu,fri --time-range 09:00-17:00
```

{% endcode %}

{% hint style="info" %}
許可日と時間帯は、**管理者のローカルIANAタイムゾーン** (コマンド実行時に自動検出) で保存されます。アクセス制御は、申請者の所在地に関係なく、このタイムゾーンに基づいて適用されます。実行時に上書きするには、`TZ` 環境変数を使用します (例: `TZ=America/New_York pam workflow create ...`)。
{% endhint %}

***

#### **read** <a href="#read" id="read"></a>

レコードの現在のワークフロー構成 (パラメータ、承認者、時間帯フィルターなど) を表示します。

```
My Vault> pam workflow read -h
usage: pam workflow read [-h] [--format {table,json}] record

positional arguments:
  record                Record UID or name

options:
  -h, --help            show this help message and exit
  --format {table,json}
                        Output format
```

**例**

```
My Vault> pam workflow read "Linux Server Prod"

Workflow Configuration
Record: Linux Server Prod 
Record UID: (aB1cD2eF3gH4)

Access Parameters:
  Approvals needed: 2
  Check-in/out required: No
  Access duration: 1 day
  Timer starts: On check-out

Requirements:
  Reason required: No
  Ticket required: No
  MFA required: No

Approvers (2):
  1. User: admin@company.com
  2. Team: security-team  (RpL1PYhMEh)
```

***

#### **update** <a href="#update" id="update"></a>

既存のワークフロー構成を更新します。指定したオプションだけが変更され、指定しなかった項目はこれまでどおり維持されます。

{% code overflow="wrap" %}

```
My Vault> pam workflow update -h
usage: pam workflow update [-h] [-n APPROVALS_NEEDED] [-co CHECKOUT]
                           [-sa START_ON_APPROVAL] [-rr REQUIRE_REASON]
                           [-rt REQUIRE_TICKET] [-rm REQUIRE_MFA]
                           [-d DURATION] [--allowed-days ALLOWED_DAYS]
                           [--time-range TIME_RANGE]
                           [--format {table,json}]
                           record

positional arguments:
  record                Record UID or name with workflow to update

options:
  -h, --help            show this help message and exit
  -n APPROVALS_NEEDED, --approvals-needed APPROVALS_NEEDED
                        Number of approvals required
  -co CHECKOUT, --checkout CHECKOUT
                        Enable/disable check-in/check-out (true/false)
  -sa START_ON_APPROVAL, --start-on-approval START_ON_APPROVAL
                        Start timer on approval vs check-out (true/false)
  -rr REQUIRE_REASON, --require-reason REQUIRE_REASON
                        Require reason (true/false)
  -rt REQUIRE_TICKET, --require-ticket REQUIRE_TICKET
                        Require ticket (true/false)
  -rm REQUIRE_MFA, --require-mfa REQUIRE_MFA
                        Require MFA (true/false)
  -d DURATION, --duration DURATION
                        Access duration (e.g., "2h", "30m", "1d")
  --allowed-days ALLOWED_DAYS
                        Comma-separated allowed days (e.g., "mon,tue,wed,thu,fri")
  --time-range TIME_RANGE
                        Allowed time range in HH:MM-HH:MM format (e.g., "09:00-17:00")
  --format {table,json}
                        Output format
```

{% endcode %}

**例**

MFAを必須にし、アクセス可能時間を4時間に変更する例です。

```
My Vault> pam workflow update aB1cD2eF3gH4 -rm true -d 4h
```

***

#### **delete** <a href="#delete" id="delete"></a>

レコードからワークフロー構成を削除します。リソースに対するワークフロー要件がすべてなくなります。

```
My Vault> pam workflow delete -h
usage: pam workflow delete [-h] [--format {table,json}] record

positional arguments:
  record                Record UID or name to remove workflow from

options:
  -h, --help            show this help message and exit
  --format {table,json}
                        Output format
```

***

#### **add-approver** <a href="#add-approver" id="add-approver"></a>

ユーザーまたはチームを承認者として追加します。エスカレーション用の承認者や、通知までの待ち時間の指定にも対応します。レコードに**閲覧のみ**以上の権限を持つユーザーは、承認者として追加できます。エンタープライズ管理者は、自身がメンバーでなくとも、企業内の任意のチームを承認者として追加できます。

{% code overflow="wrap" %}

```
My Vault> pam workflow add-approver -h
usage: pam workflow add-approver [-h] [-u USER] [-t TEAM] [-e]
                                 [-ea ESCALATION_AFTER] [--format {table,json}]
                                 record

positional arguments:
  record                Record UID or name

options:
  -h, --help            show this help message and exit
  -u USER, --user USER  User email to add as approver (can specify multiple times)
  -t TEAM, --team TEAM  Team name or UID to add as approver (can specify multiple times)
  -e, --escalation      Mark as escalation approver
  -ea ESCALATION_AFTER, --escalation-after ESCALATION_AFTER
                        Time before escalating to this approver (e.g., "30m", "1h", "2h").
                        Only meaningful with --escalation
  --format {table,json}
                        Output format
```

{% endcode %}

**例**

ユーザーとチームを承認者として追加します。

```
My Vault> pam workflow add-approver aB1cD2eF3gH4 -u approver@company.com -t "Security Team"
```

1時間経過後にエスカレーション先として通知される承認者を追加する例です。

{% code overflow="wrap" %}

```
My Vault> pam workflow add-approver aB1cD2eF3gH4 -u manager@company.com -e -ea 1h
```

{% endcode %}

***

#### **remove-approver** <a href="#remove-approver" id="remove-approver"></a>

ワークフローの承認者リストからユーザーまたはチームを削除します。

```
My Vault> pam workflow remove-approver -h
usage: pam workflow remove-approver [-h] [-u USER] [-t TEAM]
                                    [--format {table,json}]
                                    record

positional arguments:
  record                Record UID or name

options:
  -h, --help            show this help message and exit
  -u USER, --user USER  User email to remove as approver
  -t TEAM, --team TEAM  Team name or UID to remove as approver
  --format {table,json}
                        Output format
```

**例**

```
My Vault> pam workflow remove-approver aB1cD2eF3gH4 -u approver@company.com
```

***

#### **pending** <a href="#pending" id="pending"></a>

現在のユーザー宛ての、承認待ちワークフロー申請を一覧表示します。複数の経路で承認者になっている場合に出る重複は、自動的にまとめられます。

```
My Vault> pam workflow pending -h
usage: pam workflow pending [-h] [--format {table,json}]

options:
  -h, --help            show this help message and exit
  --format {table,json}
                        Output format
```

**例**

```
My Vault> pam workflow pending

Pending Approval Requests

  Flow UID        Requester          Resource              Reason     Ticket   Escalated
  --------------  -----------------  --------------------  ---------  -------  ---------
  xY9zA8bC7dE6   user@company.com   Linux Server Prod     Deploying  INC-123  No
```

***

#### **approve** <a href="#approve" id="approve"></a>

`pending` で確認したフロー UIDを指定し、承認待ちのワークフロー申請を承認します。

```
My Vault> pam workflow approve -h
usage: pam workflow approve [-h] [--format {table,json}] flow_uid

positional arguments:
  flow_uid              Flow UID of the workflow to approve

options:
  -h, --help            show this help message and exit
  --format {table,json}
                        Output format
```

**例**

```
My Vault> pam workflow approve xY9zA8bC7dE6
```

***

#### **deny** <a href="#deny" id="deny"></a>

承認待ちのワークフロー申請を却下します。理由は任意で、指定した場合は申請者の公開鍵で暗号化されます。

```
My Vault> pam workflow deny -h
usage: pam workflow deny [-h] [-r REASON] [--format {table,json}] flow_uid

positional arguments:
  flow_uid              Flow UID of the workflow to deny

options:
  -h, --help            show this help message and exit
  -r REASON, --reason REASON
                        Reason for denial
  --format {table,json}
                        Output format
```

**例**

```
My Vault> pam workflow deny xY9zA8bC7dE6 -r "Access not justified for this environment"
```

***

#### **request** <a href="#request" id="request"></a>

ワークフローで保護されているPAMリソースへのアクセスを申請します。承認待ちの申請のエスカレーションや、進行中の申請の取り消しにも対応します。

{% code overflow="wrap" %}

```
My Vault> pam workflow request -h
usage: pam workflow request [-h] [-r REASON] [-t TICKET] [-e] [-c]
                            [--format {table,json}]
                            record

positional arguments:
  record                Record UID or name

options:
  -h, --help            show this help message and exit
  -r REASON, --reason REASON
                        Reason for access request
  -t TICKET, --ticket TICKET
                        External ticket/reference number
  -e, --escalate        Escalate a pending request to escalation approvers
  -c, --cancel          Cancel a pending or active workflow request
  --format {table,json}
                        Output format
```

{% endcode %}

{% hint style="warning" %}
`--cancel` は、`--escalate`、`--reason`、`--ticket` と同時に指定できません。
{% endhint %}

**例**

理由とチケット番号を付けてアクセスを申請します。

```
My Vault> pam workflow request "Linux Server Prod" -r "Emergency deployment" -t "INC-456"
```

承認待ちの申請を、エスカレーション先の承認者へ回す例です。

```
My Vault> pam workflow request "Linux Server Prod" -e
```

承認待ちまたは進行中の申請を取り消す例です。

```
My Vault> pam workflow request "Linux Server Prod" -c
```

***

#### **start** <a href="#start" id="start"></a>

ワークフローのセッション (チェックアウト) を開始します。チェックイン/チェックアウトを有効にしているワークフローでは、リソースへ接続する前に実行が必要です。レコードのUIDまたは名前、あるいはフローUIDを指定できます。

```
My Vault> pam workflow start -h
usage: pam workflow start [-h] [--format {table,json}] uid

positional arguments:
  uid                   Record UID, record name, or Flow UID

options:
  -h, --help            show this help message and exit
  --format {table,json}
                        Output format
```

**例**

```
My Vault> pam workflow start "Linux Server Prod"
```

***

#### **end** <a href="#end" id="end"></a>

ワークフローのセッションをチェックインして終了します。チェックインのあとに認証情報のローテーションが行われる場合があります。`--force` は、シングルユーザーのチェックアウトが有効なときに、承認者が別ユーザーの進行中セッションを強制的に終了 (チェックイン) させるために使います。

{% code overflow="wrap" %}

```
My Vault> pam workflow end -h
usage: pam workflow end [-h] [-f] [--format {table,json}] uid

positional arguments:
  uid                   Record UID, record name, or Flow UID

options:
  -h, --help            show this help message and exit
  -f, --force           Force check-in: approvers can terminate another user's
                        active session when single-user checkout is enabled.
  --format {table,json}
                        Output format
```

{% endcode %}

**例**

自身のワークフローセッションを終了します。

```
My Vault> pam workflow end "Linux Server Prod"
```

別ユーザーのセッションを強制的にチェックインさせる例です (承認者のみ)。

```
My Vault> pam workflow end aB1cD2eF3gH4 --force
```

***

#### **state** <a href="#state" id="state"></a>

レコードの現在のワークフロー状態を表示します。出力には、現在の**Stage**、満たされていない **Conditions**、リソースをチェックアウトしているユーザー、すでに承認したユーザーの一覧が含まれます。

```
My Vault> pam workflow state -h
usage: pam workflow state [-h] [--format {table,json}] record

positional arguments:
  record                Record UID or name

options:
  -h, --help            show this help message and exit
  --format {table,json}
                        Output format
```

**例**

```
My Vault> pam workflow state "Linux Server Prod"

Workflow State
Record: Linux Server Prod (aB1cD2eF3gH4)

  Stage: Started
  Conditions: Approval, Check-in
  Checked out by: user@company.com
  Started: 2026-02-05 10:30:00
  Expires: 2026-02-05 12:30:00
  Approved by:
    - admin@company.com at 2026-02-05 10:28:00
```

フローUIDを指定して状態を確認する例です。

```
My Vault> pam workflow state -f xY9zA8bC7dE6
```

***

#### **my-access** <a href="#my-access" id="my-access"></a>

ログイン中のユーザーについて、すべてのリソースをまたいだアクティブなワークフローセッションを一覧表示します。

```
My Vault> pam workflow my-access -h
usage: pam workflow my-access [-h] [--format {table,json}]

options:
  -h, --help            show this help message and exit
  --format {table,json}
                        Output format
```

**例**

```
My Vault> pam workflow my-access

My Active Workflows

  Flow UID        Resource              Stage     Started              Expires
  --------------  --------------------  --------  -------------------  -------------------
  xY9zA8bC7dE6   Linux Server Prod     Started   2026-02-05 10:30:00  2026-02-05 12:30:00
  aB2cD3eF4gH5   Database Staging      Approved  2026-02-05 09:00:00  2026-02-05 17:00:00
```

***

#### **シングルユーザーのチェックイン (返却) /チェックアウトモード** <a href="#single-user-check-in-check-out-mode" id="single-user-check-in-check-out-mode"></a>

`--checkout` (`-co`) を付けてワークフローを作成すると、リソースは**シングルユーザーのチェックイン/チェックアウトモード**で動作します。同時にチェックアウトできるのは1人だけです。

**動作の概要**

* 申請が承認されたあと、ユーザーは `pam tunnel` や `pam launch` で接続する前に、`pam workflow start` により明示的に**チェックアウト**する必要があります。
* リソースがチェックアウトされているあいだは、他のユーザーはチェックアウトできません。
* 作業が終わったら `pam workflow end` で**チェックイン**し、リソースを解放します (認証情報のローテーションが行われる場合があります)。
* セッションを終了させる必要があるときは、承認者が `pam workflow end <uid> --force` で強制的にチェックインできます。

**シングルユーザーのチェックアウトを使わない場合:** 承認後も `pam workflow start` でアクセス用のセッションを開始する必要があります (`--start-on-approval` を付けた場合は、承認と同時にアクセス時間のカウントが始まります)。複数のユーザーが、同じリソースに対して同時に承認済みの状態でアクセスできます。

**表示:** リソースがチェックアウトされているとき、`pam workflow state <record>` の出力に**Checked out by**フィールドが出ます。チェックアウト中のユーザーのメールアドレスを確認できます。

{% hint style="info" %}
強制チェックイン (`--force`) は、シングルユーザーのチェックアウトが有効なときだけ使えます。応答がない、セッションを開きっぱなしにしているなど、承認者がユーザーのセッションを終了させる必要がある場合に使います。
{% endhint %}

***

**代表的なワークフローのライフサイクル**

JIT (ジャストインタイム) 特権アクセスの典型的な流れは以下のとおりです。

1. **管理者**がPAMレコードにワークフローを作成します

   `pam workflow create "Prod Server" -n 1 -co -rm -d 2h`
2. **管理者**が承認者を追加します

   `pam workflow add-approver "Prod Server" -u approver@company.com`
3. **ユーザー**がアクセスを申請します

   `pam workflow request "Prod Server" -r "Deploy hotfix" -t "INC-789"`
4. **承認者**が保留中の要求を確認します

   `pam workflow pending`
5. **承認者**が要求を承認します

   `pam workflow approve xY9zA8bC7dE6`
6. **ユーザー**がリソースをチェックアウトします

   `pam workflow start "Prod Server"`
7. **ユーザー**は (`--require-mfa` が有効なら) MFAのあと、`pam tunnel` または `pam launch` で接続します

   `pam tunnel start "Prod Server"` または `pam launch "Prod Server"`
8. **ユーザー**が作業完了後にチェックインします

   `pam workflow end "Prod Server"`

***

#### **用語集** <a href="#glossary" id="glossary"></a>

| 用語             | 定義                                                                                                                                                      |
| -------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Flow UID**   | ワークフロー申請インスタンスを一意に識別する識別子。ユーザーがアクセスを申請したときに生成され、その個別申請の承認、却下、開始、終了に使用します。`pam workflow pending` および `pam workflow my-access` の出力で確認できます。                |
| **Stage**      | ワークフロー申請の現在の状態。`Needs Action` (申請なし)、`Waiting` (申請中で承認または時間帯待ち)、`Ready to Start` (承認済みでチェックアウト待ち)、`Started` (進行中のセッション) のいずれか。                          |
| **Conditions** | ワークフローを次の段階に進めるために満たす必要がある未充足の要件。設定可能な値: `Approval Required`、`Check-in Required`、`MFA Required`、`Time Restriction`、`Reason Required`、`Ticket Required`。 |
| **Check-out**  | `pam workflow start` でリソースの排他的アクセスを取得すること。シングルユーザーのチェックイン/チェックアウトモードが有効な場合に必要です。                                                                        |
| **Check-in**   | `pam workflow end` でリソースのアクセスを解放すること。認証情報のローテーションが行われる場合があります。                                                                                          |


---

# 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.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.
