コマンダー用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許可 / 拒否リスト、レート制限、レスポンス暗号化、トークン有効期限 (任意)。デフォルト: いいえ
ngrokとCloudflareは併用できません。 サービスモードのURLは、Terraformを実行する環境から到達可能である必要があります。コマンダーがプライベートネットワーク上にある場合は、ngrok または Cloudflare Tunnel を有効にし、その公開HTTPS URLをプロバイダーの service_mode_url (または COMMANDER_SERVICE_MODE_URL) として使用してください。
キューモード (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キーを、プロバイダー構成で使用できます。
手順3. プロバイダーのインストール
レジストリからのインストール
このプロバイダーをインストールするには、次のコードをTerraform構成に追加し、terraform initを実行します。
手動インストール
GitHubリリースページからお使いのプラットフォーム向けのTerraformプロバイダーの最新バージョンをダウンロードし、アーカイブをTerraformのプラグインフォルダにコピーします (パス上に不足しているフォルダがある場合は作成してください)。
プロバイダーのソースは、完全なURLで初期化します。
source = "github.com/keeper-security/commander"
Terraformプロバイダーの手動インストールについて、詳しくはTerraform公式ドキュメントをご参照ください。
利用方法
プロバイダーの構成
プロバイダーを使う前に、コマンダーサービスモードのURLとAPIキーを設定する必要があります。
使用例
エンタープライズチームの管理
以下は commander_enterprise_team リソースでエンタープライズチームを管理する例です。
このリソースで、MSPまたはエンタープライズアカウント内のチームを作成・管理します。
エンタープライズチームの参照
以下は commander_enterprise_team データソースで既存のエンタープライズチームを読み取る例です。
このデータソースで、名前またはIDからエンタープライズチームを参照します。チームのID、名前、ユーザー、ロールを返し、他のリソースから参照できます。
他のリソースやデータソースの例については、プロバイダー提供のドキュメント (Terraform Registry) をご参照ください。
Issueの報告
ご要望がある場合は、GitHubでIssueを作成してください。
最終更新

