LogoLogo
KeeperPAMとシークレットマネージャー
KeeperPAMとシークレットマネージャー
  • KeeperPAM
  • 特権アクセス管理
    • セットアップ手順
    • クイックスタート (Sandbox)
    • はじめに
      • アーキテクチャ
        • アーキテクチャ図
        • ボルト (保管庫) のセキュリティ
        • ルータのセキュリティ
        • ゲートウェイのセキュリティ
        • 接続とトンネルのセキュリティ
      • KeeperPAMのライセンス
      • 強制適用ポリシー
      • ボルトの構造
      • レコードリンク
      • アプリケーション
      • デバイス
      • ゲートウェイ
        • ゲートウェイの作成
        • Dockerにインストール
        • Linuxにインストール
        • Windowsにインストール
        • 自動アップデータ
        • 高度な設定
          • AWS KMSでのゲートウェイ構成
          • カスタムフィールドを使用したゲートウェイ構成
      • PAM構成
        • AWS環境のセットアップ
        • Azure環境のセットアップ (英語)
        • ローカル環境のセットアップ (英語)
      • PAMリソース
        • PAMマシン
          • Linuxマシンの例
          • Azure仮想マシンの例
        • PAMデータベース
          • 例: MySQLデータベース (英語)
          • 例: PostgreSQLデータベース (英語)
          • 例: Microsoft SQL Serverデータベース (英語)
        • PAMディレクトリ
        • PAMリモートブラウザ
        • PAMユーザー
      • 共有とアクセス制御
      • ジャストインタイムアクセス (JIT)
    • パスワードローテーション
      • ローテーションの概要
      • ローテーションの活用事例
        • Azure
          • Azure ADユーザー
          • Azure VMユーザーアカウント
          • Azureマネージドデータベース
            • Azure SQL
            • Azure MySQL - シングル/フレキシブルデータベース
            • Azure MariaDBデータベース
            • Azure PostgreSQL - シングル/フレキシブルデータベース
          • Azureアプリケーションシークレットローテーション
        • AWS
          • IAMユーザーのパスワード
          • Managed Microsoft ADユーザー
          • EC2仮想マシンユーザー
          • IAMユーザーのアクセスキー
          • マネージドデータベース
            • AWS RDS for MySQL
            • AWS RDS for SQL Server
            • AWS RDS for PostgreSQL
            • AWS RDS for MariaDB
            • AWS RDS for Oracle
        • ローカルネットワーク
          • Active DirectorユーザーまたはOpenLDAPユーザー
          • Windowsユーザー
          • Linuxユーザー
          • macOSユーザー
          • データベース
            • ネイティブMySQL
            • ネイティブMariaDB
            • ネイティブPostgreSQL
            • ネイティブMongoDB
            • ネイティブMS SQL Server
            • ネイティブOracle
        • SaaSアカウント
          • Oktaユーザー
          • Snowflakeユーザー
          • REST APIを使用した認証情報のローテーション (英語)
        • ネットワークデバイス
          • Cisco IOS XE
          • Cisco Meraki
      • サービス管理
      • ポストローテーションスクリプト
        • 入力と出力
        • スクリプトの添付
        • コード例
    • 接続
      • はじめに
      • セッションプロトコル
        • SSH接続
        • RDP接続 (英語)
        • RBI接続 (英語)
        • MySQL接続 (英語)
        • SQL Server接続 (英語)
        • PostgreSQL接続 (英語)
        • VNC接続 (英語)
        • Telnet接続 (英語)
      • 具体例 (英語)
        • SSHプロトコル - Linuxマシン (英語)
        • RDPプロトコル - Azure仮想マシン (英語)
        • MySQLプロトコル - MySQLデータベース (英語)
        • PostgreSQLプロトコル - PostgreSQLデータベース (英語)
    • トンネル
      • トンネルの設定
    • リモートブラウザ分離
      • RBI (リモートブラウザ分離) の設定
        • URLパターンとリソースURLパターン
        • ブラウザの自動入力
    • セッションの録画と再生
    • SSHエージェント
      • Gitとの統合
    • 検出
      • コマンダーを使用した検出 (英語)
      • ボルトを使用した検出 (英語)
    • オンプレミス用コネクションマネージャー
    • 参考資料
      • ポートマッピング
      • SSHの設定
      • WinRMを設定
      • SQL Serverの設定 (英語)
      • Linuxへのsqlcmdのインストール (英語)
      • LinuxでのDockerインストール
      • ローテーション用のKSMアプリの作成
      • Active Directoryの最小権限
      • イベントレポート
      • PAMレコードのインポート
      • CLIによるローテーション管理
      • Commander SDK
      • Cron式で自動ローテーション設定
      • プレビュー版へのアクセス方法
  • エンドポイント特権マネージャー
    • 概要
  • セットアップ
  • デプロイメント (展開)
  • ポリシー
  • リクエストの管理
  • よくある質問
  • シークレットマネージャー
    • 概要
    • クイックスタートガイド
    • Keeperシークレットマネージャー (KSM) について
      • アーキテクチャ
      • 用語
      • セキュリティと暗号化モデル
      • ワンタイムアクセストークン
      • Secrets Managerの設定
      • Keeper表記法
      • イベントレポート
      • フィールド/レコードタイプ
    • シークレットマネージャーCLI
      • profileコマンド
      • initコマンド
      • secretコマンド
      • folderコマンド
      • syncコマンド
      • execコマンド
      • configコマンド
      • versionコマンド
      • 各種コマンド
      • Dockerコンテナ
      • カスタムのレコードタイプ
    • パスワードローテーション
    • 開発者用SDK
      • Python SDK
      • Java/Kotlin SDK
        • レコードフィールドクラス
      • JavaScript SDK
      • .NET SDK
      • Go SDK
        • レコードフィールドクラス
      • PowerShell
      • ボルトのSDK
    • インテグレーション
      • Ansible
        • Ansibleプラグイン
        • Ansible Tower
      • AWS CLI認証プロセス
      • AWSシークレットマネージャー同期
      • AWS KMSでの暗号化
      • Azure DevOps拡張機能
      • Azure Key Vaultとの同期
      • Azure Key Vaultでの暗号化
      • Bitbucketプラグイン
      • Dockerイメージ
      • Dockerランタイム
      • Docker Writerイメージ
      • Entrust HSM
      • Git - SSHでコミットに署名
      • GitHub Actions
      • GitLab
      • GCPシークレットマネージャー
      • Google Cloud Key Management Encryption (英語)
      • Hashicorp Vault
      • Heroku
      • Jenkinsプラグイン
      • Keeper Connection Manager
      • Kubernetes外部シークレットオペレータ
      • Kubernetes
      • Linux Keyring
      • Octopus Deploy
      • Oracle Key Vault Encryption (英語)
      • PowerShellプラグイン
      • ServiceNow
      • TeamCity
      • Teller
      • Terraformプラグイン
        • Terraformレジストリ
      • Windows資格情報マネージャー
      • XSOAR
    • トラブルシューティング
  • コマンダーCLI
    • コマンダーの概要
    • インストールとセットアップ
      • WindowsでのCLIインストール
      • MacでのCLIインストール
      • LinuxでのCLIインストール
      • Python開発者用セットアップ
      • .NET開発者用セットアップ
      • PowerShellモジュール
      • ログイン
      • 設定と使用法
        • AWS Secrets Manager
        • AWS Key Management Service
      • Windowsタスクによる自動化
      • AWS Lambdaで自動化
      • アンインストール
    • コマンドリファレンス
      • データのインポートとエクスポート
        • インポート/エクスポートコマンド
        • CyberArkからのインポート
        • LastPassデータのインポート
        • Delinea/Thycotic Secret Serverインポート
        • Keepassインポート
        • ManageEngineインポート
        • Mykiインポート
        • Proton Passインポート
        • CSVインポート
        • JSONインポート
      • レポート作成コマンド
        • レポートの種類
      • エンタープライズ管理コマンド
        • ユーザーの作成と招待
        • コンプライアンスコマンド
        • Breachwatchコマンド
        • SCIMプッシュ配信設定
      • レコードに関するコマンド
        • レコードタイプに関するコマンド
        • レコードタイプの作成
      • 共有コマンド
      • KeeperPAMコマンド
      • 接続コマンド
        • SSH
        • SSHエージェント
        • RDP
        • connectコマンド
        • SFTP同期
      • シークレットマネージャーコマンド
      • MSP管理コマンド
      • 各種コマンド
      • パスワードローテーション
        • パスワードローテーションコマンド
        • AWSプラグイン
        • Azureプラグイン
        • Microsoft SQL Serverのプラグイン
        • MySQLプラグイン
        • Oracleプラグイン
        • PostgreSQLプラグイン
        • PSPasswdプラグイン
        • SSHプラグイン
        • Unix Passwdプラグイン
        • Windowsプラグイン
        • Active Directoryプラグイン
        • 自動実行
    • サービスモードREST API
    • トラブルシューティング
GitBook提供
このページ内
  • 機能
  • KSMの設定
  • ボルトのクレデンシャル
  • 実行環境
  • プロジェクト
  • プレイブックのリポジトリ
  • プロジェクト
  • テンプレート
  • テンプレートの起動
GitHubで編集
  1. シークレットマネージャー
  2. インテグレーション
  3. Ansible

Ansible Tower

Keeperアカウントを操作し、Ansible Towerによる自動化で使用できるAnsibleプラグインのコレクション

前へAnsibleプラグイン次へAWS CLI認証プロセス

最終更新 3 か月前

機能

  • Secrets Managerの設定をAnsible Towerで安全に保存します

  • Ansible Towerで以下の機能を搭載したを使用して、Ansibleプロジェクトを管理および実行します。

    • Ansibleプレイブックで使用するシークレットをKeeperボルトから取得

    • AnsibleからKeeperボルトのシークレットの値を更新

    • Keeperボルトからファイルをコピー

KSMの設定

Commander CLIを使用して、新しいデバイスを追加すると、ワンタイムアクセストークンを使用せずにBase64設定を生成できます。

keeper secrets-manager client add --app MyApp --config-init b64

Keeper Secrets Manager CLIの場合、ワンタイムアクセストークンが必要です。これは、アプリケーションに新しいデバイスを追加することによって、Webボルトから取得できます。

$ ksm init default US:XXXX

または、Keeper Secrets Managerコレクションに含まれるkeeper_init_tokenロールを使用します。この方法は、Ansible Towerの設定後に使用できます。このドキュメントの最後に例を示します。

Base64設定は、インベントリ、ホスト、またはテンプレートの変数セクションに追加できます。また、Ansibleシークレットとしてプレイブックのリポジトリに追加することもできます。変数名はkeeper_configです。

ボルトのクレデンシャル

Base64 KSM設定では、ボルトのクレデンシャルを作成する必要があります。Resources (リソース) メニューのCredentials (クレデンシャル) を選択し、Add (追加) をクリックします。

ボルトのクレデンシャルに名前を付け、Credential Type (クレデンシャルのタイプ) のドロップダウンからVault (ボルト) を選択し、secrets.ymlファイルの暗号化に使用したパスワードをVault Password (ボルトのパスワード) フィールドに入力して、Save (保存) をクリックします。

クレデンシャルは、テンプレートの設定時に使用されます。

実行環境

Ansible TowerでKeeper Secrets Managerプラグインを使用するには、Keeper Secrets Manager SDKを利用できる実行環境が必要です。このSDKは、Dockerイメージkeeper/keeper-secrets-manager-tower-eeに含まれています。Ansible Towerのインスタンスで、Administration (管理) メニューのExecution Environment (実行環境) を選択し、Add (追加) をクリックします。

Imageの値は、docker.io/keeper/keeper-secrets-manager-tower-ee:latestまたはdocker.io/keeper/keeper-secrets-manager-tower-ee:<tag> (特定のタグバージョンがある場合) です。

最新のタグを使用している場合は、Pullの値を「Always pull container before running」 (実行前に常にコンテナをプルする) に設定する必要があります。keeper/keeper-secrets-manager-tower-eeの特定のタグバージョンにタグを固定する場合は、値を「Only pull the image if not present before running」 (実行前にイメージが存在しない場合のみプルする) に設定します。

プロジェクト

プレイブックのリポジトリ

Ansible GalaxyのKeeper Security Managerコレクションを使用

プロジェクトでKeeper Secrets Managerプラグインを使用するには、ソースリポジトリにcollectionsディレクトリを作成します(存在しない場合)。次に、requirements.ymlファイルに以下の値を作成または追加します。

---
collections:
  - keepersecurity.keeper_secrets_manager

KSM設定を保存

Base64 KSM設定は、インベントリ、ホスト、テンプレートなど、Ansible Tower内の様々な場所に保存できます。設定は、これらの場所に保存されるときに暗号化されます。

このプロジェクトでは、KSM設定は暗号化されたシークレットとしてソースリポジトリに保存されます。リポジトリのルートディレクトリにあるdefaultsというディレクトリにsecrets.ymlというYAMLファイルを追加します。

このファイルにBase64設定を値に持つkeeper_configというキーを追加します。

---
keeper_config: ewogICAgImNsaWVudElk ...Y0tleUlkIjogIjEwIgp9

次に、ansible-vaultを使用して、secrets.ymlファイルを暗号化します。

パスワードを記録してください。ボルトのクレデンシャルにTowerで必要になります。

$ ansible-vault encrypt secret.yml
New Vault password:
Confirm New Vault password:
Encryption successful

この時点で、secrets.ymlファイルを確認すると、暗号化されているはずです。

プレイブック

ディレクトリ構造は以下のようになるはずです。

$ tree
.
├── collections
│   └── requirements.yml
├── defaults
│   └── secrets.yml
├── playbook_1.yml
└── playbook_2.yml

Keeperのプレイブックの場合、Keeper Secrets Managerコレクションがプレイブックコレクションに追加されています。最初のタスクは、組み込みアクションinclude_varsを使用してsecrets.ymlを追加することです。このタスクには、KSM設定がログに記録されないようにする no_log: Trueも含まれます。このタスクは、Keeper Secrets Managerコレクションのいずれかのプラグインの前に実行する必要があります。

Ansible Towerは、独自の標準出力コールバックプラグインを使用します。そのため、keeper_redactを使用しても機能しません。ログにシークレットを表示する可能性のあるタスクには、no_log: Trueを追加することが重要です。

---
- name:Playbook One
  hosts: all
  collections:
    - keepersecurity.keeper_secrets_manager

  tasks:
    - include_vars:
        file: "defaults/secrets.yml"
      no_log:True

    - name:"Make User SSH Directory, if does not exists"
      file:
        path: "/home/user/.ssh"
        state: directory
        recurse: yes

    - name:"Copy SSH Keys"
      keeper_copy:
        notation:"OlLZ6JLjnyMOS3CiIPHBjw/field/keyPair[{{ item.notation_key }}]"
        dest: "/home/user/.ssh/{{ item.filename }}"
        mode:"0600"
      loop:
        - { notation_key: "privateKey", filename: "id_rsa" }
        - { notation_key: "publicKey",  filename: "id_rsa.pub" }

プロジェクト

ソースリポジトリにコレクションを追加すると、新しいプロジェクトを作成できます。

keeper/keeper-secrets-manager-tower-eeイメージを使用して作成する実行環境を選択してください。

上記の例のソースリポジトリは、適切な詳細情報を含むGitでした。会社によっては、別のソース管理を使用する場合もあります。

保存したら、Ansible Towerインスタンスにプレイブックを同期します。

テンプレート

Ansible Towerのインスタンスで、Resources (リソース) メニューのTemplates (テンプレート) を選択し、Add (追加) をクリックします。

Projects (プロジェクト) で、プレイブックを含む作成したばかりのプロジェクトを選択します。Execution Environment (実行環境) で、Keeper Secrets Manager Tower EE_dockerイメージを含む Execution Environment (実行環境) を選択します。Playbook (プレイブック) で、ソースリポジトリからプレイブックを選択します。

Credentials (クレデンシャル) で、プロジェクトのソースリポジトリにあるsecrets.ymlファイルの復号化に使用するボルトのクレデンシャルを選択します。インベントリサーバーへの接続に使用するクレデンシャルを選択することもできます。

ページ下部のSave (保存) ボタンをクリックして終了します。

テンプレートの起動

最後にテンプレートを起動してジョブを作成します。

include_varsタスクは、KSM Base64設定をインポートして復号化します。no_log: Trueを指定すると、設定がログに表示されなくなります。指定しない場合は、設定がログに記録され、Ansible Towerにアクセスできるすべてのユーザーが表示できます。

設定が現在、使用可能な変数に入っているため、keeper_copyアクションによって、Keeperボルトから公開鍵と秘密のSSH鍵を取得して、リモートマシン上の場所にコピーできます。

Keeper Secrets Manager機能の完全なリストについては、をご参照ください。

Keeper Secrets ManagerでAnsible Towerを使用するには、最初にBase64設定を取得して初期化します。ドキュメントでは、またはを使用して設定を取得する方法について説明します。

Ansibleで使用できるすべてのSecrets Manager機能については、をご参照ください。

概要
Secrets Managerの設定
Keeper Secrets Manager CLI
Commander CLI
Ansibleプラグインのドキュメント
Secrets Manager Ansibleプラグイン