For the complete documentation index, see llms.txt. This page is also available as Markdown.

コマンダー用Terraform Provider

テナント管理のためKeeperコマンダーと連携するTerraformプロバイダー

概要

コマンダー向けTerraformプロバイダーを使用すると、Keeper SecurityのエンタープライズおよびMSPの構成をInfrastructure as Codeとして管理できます。

このプロバイダーはKeeperコマンダーのサービスモードREST APIを利用して、TerraformからKeeperのリソースを管理します。これにより、宣言的な構成管理、バージョン管理、明確な監査証跡を実現しながら、Keeperのゼロ知識インフラストラクチャを維持できます。

機能

  • リソース TerraformからKeeperのリソースを作成および管理できます。

  • インポート 多くのリソースはインポート状態に対応しており、terraform import を使用して既存のKeeperリソースをTerraform管理下に取り込むことができます。

  • データソース データソースを使用して既存のリソース情報を取得できます。

  • MSPサポート エンタープライズリソースおよびデータソースでは、オプションの managed_company 属性を使用して、特定の管理対象企業に対して操作の範囲を限定できます。

利用可能なリソースとデータソース

リソースとデータソースの完全なドキュメントについてはTerraform Registryをご参照ください。

リソース

エンタープライズ管理

名前
説明

commander_enterprise_node

エンタープライズノードを作成・管理する (MSPまたはエンタープライズアカウント)

commander_enterprise_user

エンタープライズユーザーを作成・管理する (MSPまたはエンタープライズアカウント)

commander_enterprise_role

エンタープライズロールとポリシーを作成・管理する (MSPまたはエンタープライズアカウント)

commander_enterprise_scim

KeeperエンタープライズまたはMSPアカウントでエンタープライズSCIM構成を作成・管理する (MSPまたはエンタープライズアカウント)

commander_enterprise_scim_push

Keeper SCIMエンドポイントへSCIMデータを一括プッシュする (MSPまたはエンタープライズアカウント)

commander_enterprise_team

エンタープライズチームを作成・管理する (MSPまたはエンタープライズアカウント)

commander_enterprise_scim

KeeperエンタープライズまたはMSPアカウントでエンタープライズSCIM構成を作成・管理する (MSPまたはエンタープライズアカウント)

commander_enterprise_push

JSONファイルからレコードデータをユーザーまたはチームのKeeperボルトへプッシュする (MSPまたはエンタープライズアカウント)

commander_enterprise_scim_push

Keeper SCIMエンドポイントへSCIMデータを一括プッシュする (MSPまたはエンタープライズアカウント)

MSP管理

名前
説明

commander_managed_company

管理対象企業を作成・管理する (MSPのみ)

commander_shared_folder

共有フォルダを作成・管理する

従来型フォルダ

名前
説明

commander_non_shared_folder

非共有ボルトフォルダを作成・管理する

commander_shared_folder

従来型共有フォルダを作成・管理する

階層型共有フォルダ (NSF)

名前
説明

commander_new_folder

階層型共有フォルダを作成・管理する

KeeperPAM

名前
説明

commander_pam_configuration

Keeper PAM構成を作成・管理する

エンドポイント特権マネージャー (EPM)

名前
説明

commander_epm_policy

EPM (エンドポイント特権マネージャー) ポリシーの作成・管理 (MSPまたはエンタープライズアカウント)

シークレットマネージャー

名前
説明

commander_secrets_manager

Keeperシークレットマネージャーアプリケーションを作成・管理する

従来型PAMレコード

名前
説明

commander_classic_pam_user

ボルト内の従来型PAMユーザーレコードを作成・管理する

commander_classic_pam_machine

ボルト内の従来型PAMマシンレコードを作成・管理する

commander_classic_pam_database

ボルト内の従来型PAMデータベースレコードを作成・管理する

commander_classic_pam_directory

ボルト内の従来型PAMディレクトリレコードを作成・管理する

commander_classic_pam_remote_browser

ボルト内の従来型PAMリモートブラウザ (RBI) レコードを作成・管理する

新規PAMレコード (NSF)

名前
説明

commander_new_pam_user

ボルト内のNSF PAMユーザーレコードを作成・管理する

commander_new_pam_machine

ボルト内のNSF PAMマシンレコードを作成・管理する

commander_new_pam_database

ボルト内のNSF PAMデータベースレコードを作成・管理する

commander_new_pam_directory

ボルト内のNSF PAMディレクトリレコードを作成・管理する

commander_new_pam_remote_browser

ボルト内のNSF PAMリモートブラウザ (RBI) レコードを作成・管理する

従来型レコード

名前
説明

commander_classic_login

ボルト内の従来型ログインレコードを作成・管理する

commander_classic_wifi

ボルト内の従来型Wi-Fi認証情報レコードを作成・管理する

commander_classic_contact

ボルト内の従来型連絡先レコードを作成・管理する

commander_classic_address

ボルト内の従来型住所レコードを作成・管理する

commander_classic_payment_card

ボルト内の従来型支払いカードレコードを作成・管理する

commander_classic_bank_account

ボルト内の従来型銀行口座レコードを作成・管理する

commander_classic_membership

ボルト内の従来型メンバーシップレコードを作成・管理する

commander_classic_health_insurance

ボルト内の従来型健康保険レコードを作成・管理する

commander_classic_driver_license

ボルト内の従来型運転免許証レコードを作成・管理する

commander_classic_passport

ボルト内の従来型パスポートレコードを作成・管理する

commander_classic_ssn_card

ボルト内の従来型本人確認 (SSN) カードレコードを作成・管理する

commander_classic_birth_certificate

ボルト内の従来型出生証明書レコードを作成・管理する

commander_classic_ssh_keys

ボルト内の従来型SSHキーレコードを作成・管理する

commander_classic_saas_configuration

ボルト内の従来型SaaS構成レコードを作成・管理する

commander_classic_server

ボルト内の従来型サーバー認証情報レコードを作成・管理する

commander_classic_database

ボルト内の従来型データベース認証情報レコードを作成・管理する

commander_classic_software_license

ボルト内の従来型ソフトウェアライセンスレコードを作成・管理する

commander_classic_secure_note

ボルト内の従来型セキュアノートレコードを作成・管理する

新規レコード (NSF)

名前
説明

commander_new_login

ボルト内のNSFログインレコードを作成・管理する

commander_new_wifi

ボルト内のNSF Wi-Fi認証情報レコードを作成・管理する

commander_new_contact

ボルト内のNSF連絡先レコードを作成・管理する

commander_new_address

ボルト内のNSF住所レコードを作成・管理する

commander_new_payment_card

ボルト内のNSF支払いカードレコードを作成・管理する

commander_new_bank_account

ボルト内のNSF銀行口座レコードを作成・管理する

commander_new_membership

ボルト内のNSFメンバーシップレコードを作成・管理する

commander_new_health_insurance

ボルト内のNSF健康保険レコードを作成・管理する

commander_new_driver_license

ボルト内のNSF運転免許証レコードを作成・管理する

commander_new_passport

ボルト内のNSFパスポートレコードを作成・管理する

commander_new_ssn_card

ボルト内のNSF本人確認 (SSN) カードレコードを作成・管理する

commander_new_birth_certificate

ボルト内のNSF出生証明書レコードを作成・管理する

commander_new_ssh_keys

ボルト内のNSF SSHキーレコードを作成・管理する

commander_new_saas_configuration

ボルト内のNSF SaaS構成レコードを作成・管理する

commander_new_server

ボルト内のNSFサーバー認証情報レコードを作成・管理する

commander_new_database

ボルト内のNSFデータベース認証情報レコードを作成・管理する

commander_new_software_license

ボルト内のNSFソフトウェアライセンスレコードを作成・管理する

commander_new_secure_note

ボルト内のNSFセキュアノートレコードを作成・管理する

データソース

エンタープライズ管理

名前
説明

commander_enterprise_node

名前またはIDでエンタープライズノードを参照する (MSPまたはエンタープライズアカウント)

commander_enterprise_user

メールまたはIDでエンタープライズユーザーを参照する (MSPまたはエンタープライズアカウント)

commander_enterprise_role

名前またはIDでエンタープライズロールを参照する (MSPまたはエンタープライズアカウント)

commander_enterprise_scim

ID / ノードID、または管理対象企業 (MSPのみ) でエンタープライズSCIM構成を参照 (MSPまたはエンタープライズアカウント)

commander_enterprise_team

名前またはIDでエンタープライズチームを参照する (MSPまたはエンタープライズアカウント)

commander_enterprise_scim

ID / ノードID、または管理対象企業 (MSPのみ) でエンタープライズSCIM構成を参照 (MSPまたはエンタープライズアカウント)

MSP管理

名前
説明

commander_managed_company

名前またはIDで管理対象企業を参照する (MSPのみ)

commander_shared_folder

UIDまたは名前で既存の共有フォルダを参照する

従来型フォルダ

名前
説明

commander_non_shared_folder

UIDで非共有フォルダを参照する

commander_shared_folder

UIDで従来型共有フォルダを参照する

階層型共有フォルダ (NSF)

名前
説明

commander_new_folder

UIDで階層型共有フォルダを参照する

KeeperPAM

名前
説明

commander_pam_configuration

UIDでPAM構成を参照する

エンドポイント特権マネージャー (EPM)

名前
説明

commander_epm_policy

ポリシーIDで既存のEPM (エンドポイント特権マネージャー) ポリシーを参照 (MSPまたはエンタープライズアカウント)

シークレットマネージャー

名前
説明

commander_secrets_manager

名前またはUIDでシークレットマネージャーアプリケーションを参照する

従来型PAMレコード

名前
説明

commander_classic_pam_user

レコードUIDで従来型PAMユーザーレコードを参照する

commander_classic_pam_machine

レコードUIDで従来型PAMマシンレコードを参照する

commander_classic_pam_database

レコードUIDで従来型PAMデータベースレコードを参照する

commander_classic_pam_directory

レコードUIDで従来型PAMディレクトリレコードを参照する

commander_classic_pam_remote_browser

レコードUIDで従来型PAMリモートブラウザレコードを参照する

新規PAMレコード (NSF)

名前
説明

commander_new_pam_user

レコードUIDでNSF PAMユーザーレコードを参照する

commander_new_pam_machine

レコードUIDでNSF PAMマシンレコードを参照する

commander_new_pam_database

レコードUIDでNSF PAMデータベースレコードを参照する

commander_new_pam_directory

レコードUIDでNSF PAMディレクトリレコードを参照する

commander_new_pam_remote_browser

レコードUIDでNSF PAMリモートブラウザレコードを参照する

従来型レコード

名前
説明

commander_classic_login

レコードUIDで従来型ログインレコードを参照する

commander_classic_wifi

レコードUIDで従来型Wi-Fi認証情報レコードを参照する

commander_classic_contact

レコードUIDで従来型連絡先レコードを参照する

commander_classic_address

レコードUIDで従来型住所レコードを参照する

commander_classic_payment_card

レコードUIDで従来型支払いカードレコードを参照する

commander_classic_bank_account

レコードUIDで従来型銀行口座レコードを参照する

commander_classic_membership

レコードUIDで従来型メンバーシップレコードを参照する

commander_classic_health_insurance

レコードUIDで従来型健康保険レコードを参照する

commander_classic_driver_license

レコードUIDで従来型運転免許証レコードを参照する

commander_classic_passport

レコードUIDで従来型パスポートレコードを参照する

commander_classic_ssn_card

レコードUIDで従来型本人確認 (SSN) カードレコードを参照する

commander_classic_birth_certificate

レコードUIDで従来型出生証明書レコードを参照する

commander_classic_ssh_keys

レコードUIDで従来型SSHキーレコードを参照する

commander_classic_saas_configuration

レコードUIDで従来型SaaS構成レコードを参照する

commander_classic_server

レコードUIDで従来型サーバー認証情報レコードを参照する

commander_classic_database

レコードUIDで従来型データベース認証情報レコードを参照する

commander_classic_software_license

レコードUIDで従来型ソフトウェアライセンスレコードを参照する

commander_classic_secure_note

レコードUIDで従来型セキュアノートレコードを参照する

新規レコード (NSF)

名前
説明

commander_new_login

レコードUIDでNSFログインレコードを参照する

commander_new_wifi

レコードUIDでNSF Wi-Fi認証情報レコードを参照する

commander_new_contact

レコードUIDでNSF連絡先レコードを参照する

commander_new_address

レコードUIDでNSF住所レコードを参照する

commander_new_payment_card

レコードUIDでNSF支払いカードレコードを参照する

commander_new_bank_account

レコードUIDでNSF銀行口座レコードを参照する

commander_new_membership

レコードUIDでNSFメンバーシップレコードを参照する

commander_new_health_insurance

レコードUIDでNSF健康保険レコードを参照する

commander_new_driver_license

レコードUIDでNSF運転免許証レコードを参照する

commander_new_passport

レコードUIDでNSFパスポートレコードを参照する

commander_new_ssn_card

レコードUIDでNSF本人確認 (SSN) カードレコードを参照する

commander_new_birth_certificate

レコードUIDでNSF出生証明書レコードを参照する

commander_new_ssh_keys

レコードUIDでNSF SSHキーレコードを参照する

commander_new_saas_configuration

レコードUIDでNSF SaaS構成レコードを参照する

commander_new_server

レコードUIDでNSFサーバー認証情報レコードを参照する

commander_new_database

レコードUIDでNSFデータベース認証情報レコードを参照する

commander_new_software_license

レコードUIDでNSFソフトウェアライセンスレコードを参照する

commander_new_secure_note

レコードUIDでNSFセキュアノートレコードを参照する

要件

  • Keeperコマンダーサービスモード: terraform-app-setup コマンドを使用してコマンダーサービスモードREST APIを実行するサービスアカウント

  • Docker: コマンダーサービスモードのセットアップに推奨される方法

  • Terraform 1.0以降

セットアップとインストール

TerraformとKeeper間で通信を行うには、お客様側で terraform-app-setup を使用してKeeperコマンダーのサービスモードインスタンスをホストする必要があります。この構成は、IT要件に応じてさまざまな方法で実現できます。

手順1. コマンダーのインストール

Keeper Commander CLIをワークステーションにインストールします。

手順2. コマンダーのセットアップ

そのアカウントでコマンダーにログインします。

Terraformセットアップの実行

このコマンドは、Terraformプロバイダー用に構成されたコマンダー専用サービスを含む docker-compose.yml を書き出します。

サービスモード / Docker

共有フォルダ、Docker構成レコード、KSMアプリケーション、クライアント構成を作成し、以下の項目の入力を求められます。

項目
説明

ポート

コマンダーサービスモードのローカルポート。デフォルト: 8900

ngrokを有効にする

ngrok経由の公開URL (任意)。デフォルト: いいえ

Ngrok Auth Token

ngrokを有効にした場合は必須

Ngrokカスタムドメイン

任意 (例: myapp.ngrok.io)。何も入力せずEnterでスキップ可能

Cloudflareを有効にする

ngrokを無効にした場合のみ表示。デフォルト: いいえ

Cloudflare Tunnel Token

Cloudflareを有効にした場合は必須

Cloudflareカスタムドメイン

Cloudflareを有効にした場合は必須 (例: commander.company.com)

高度なセキュリティを有効にする

IP許可 / 拒否リスト、レート制限、レスポンス暗号化、トークン有効期限 (任意)。デフォルト: いいえ

キューモード (API v2) は自動的に有効になります。コマンドの許可リストは、Terraformで安全に実行できる操作 (エンタープライズ / MSP、レコード、共有、PAM、シークレットマネージャー、および関連するNSFコマンド) に固定されており、対話的に選択することはできません。

作成されるリソース (デフォルト)

リソース
デフォルト名

共有フォルダ

Commander Service Mode - Terraform

KSMアプリケーション

Commander Service Mode - Terraform KSM App

Docker構成レコード

Commander Service Mode Terraform Config

Dockerサービス / コンテナ

commander-terraform / keeper-service-terraform

セットアップを再実行すると docker-compose.yml が上書きされます (手動での変更は失われます)。

デプロイ

Dockerを起動する前にローカルの config.json を削除し、同じデバイストークンでコンテナが競合しないようにしてください。Dockerは、KSM経由で独自の構成を読み込みます。

サービスが起動したら、keeper-service-terraform のDockerコンテナログに記載されている非同期API (/api/v2/) 用のサービスモードURLとAPIキーを、プロバイダー構成で使用できます。

pencil-line

コマンダーと keeper-service-terraform コンテナを更新するには、サービスを停止し、コンテナを更新してから再起動します。

レート制限により429 Too Many Requestsエラーが発生する場合は、terraform-app-setupコマンド > 高度なセキュリティを有効にする でサービスモードのレート制限を構成できます。

以下のようにエンドポイントあたり・IPアドレスあたりの許可リクエスト数を設定できます。

  • 1000/minute

  • 100000/hour

  • 2000000/day

想定トラフィックとシステム容量に合わせて上限を調整してください。

接続を維持するために、コマンダーサービスモードを常時稼働させてください。

手順3. プロバイダーのインストール

レジストリからのインストール

このプロバイダーをインストールするには、次のコードをTerraform構成に追加し、terraform initを実行します。

手動インストール

GitHubリリースページからお使いのプラットフォーム向けのTerraformプロバイダーの最新バージョンをダウンロードし、アーカイブをTerraformのプラグインフォルダにコピーします (パス上に不足しているフォルダがある場合は作成してください)。

プロバイダーのソースは、完全なURLで初期化します。 source = "github.com/keeper-security/commander"

Terraformプロバイダーの手動インストールについて、詳しくはTerraform公式ドキュメントをご参照ください。

利用方法

プロバイダーの構成

プロバイダーを使う前に、コマンダーサービスモードのURLとAPIキーを設定する必要があります。

管理対象企業の利用 (MSPアカウント) 多くのリソースとデータソースで、任意の managed_company 属性が使えます。アカウントがMSPのとき、managed_companyに管理対象企業の名前またはIDを指定すると、その企業内のリソースを管理します。省略すると、ログイン中のアカウントコンテキスト (MSPまたはエンタープライズアカウント) で動作します。

MSP — 同一構成で管理対象企業とメインアカウントの両方を使う場合 一部のリソースやデータソースで managed_company を指定し (その企業内で実行)、他は指定しない (ログイン中のアカウントコンテキストで実行) と、Terraformはそれらを並列実行することがあります。コマンダーはリクエストをキューで1件ずつ処理するため、誤ったコンテキストでアクションが走り失敗する場合があります (例: 「resource not found」)。 対処: それらのリソースまたはデータソースの間に依存関係を追加し (depends_on や一方を他方から参照するなど)、並列実行されないようにします。 例: メインアカウント側のリソースが管理対象企業側のあとに実行されるよう順序を固定する:

使用例

エンタープライズチームの管理

以下は commander_enterprise_team リソースでエンタープライズチームを管理する例です。

このリソースで、MSPまたはエンタープライズアカウント内のチームを作成・管理します。

エンタープライズチームの参照

以下は commander_enterprise_team データソースで既存のエンタープライズチームを読み取る例です。

このデータソースで、名前またはIDからエンタープライズチームを参照します。チームのID、名前、ユーザー、ロールを返し、他のリソースから参照できます。

他のリソースやデータソースの例については、プロバイダー提供のドキュメント (Terraform Registry) をご参照ください。

Issueの報告

ご要望がある場合は、GitHubでIssueを作成してください。

最終更新