第11章 シークレット管理システム


ユーザーとシステム管理者は、マシンとクラウドの認証情報をアップロードして、代わりに自動化でマシンや外部サービスにアクセスできるようにします。デフォルトでは、SSH パスワード、SSH 秘密鍵、クラウドサービスの API トークンなどの機密認証情報の値は、暗号化された後にデータベースに保存されます。

認証情報プラグインによって裏付けられた外部認証情報を使用すると、認証情報フィールド (パスワードや SSH 秘密鍵など) を、Automation Controller に直接提供する代わりに、シークレット管理システム に保存されている値にマップできます。

Automation Controller は、以下の統合を含むシークレット管理システムを提供します。

  • AWS Secrets Manager Lookup
  • Centrify Vault Credential Provider Lookup
  • CyberArk Central Credential Provider Lookup (CCP)
  • CyberArk Conjur Secrets Manager Lookup
  • HashiCorp Vault Key-Value Store (KV)
  • HashiCorp Vault SSH Secrets Engine
  • Microsoft Azure Key Management System (KMS)
  • Thycotic DevOps Secrets Vault
  • Thycotic Secret Server

これらの外部シークレット値は、それらを必要とする Playbook を実行する前にフェッチされます。

関連情報

ユーザーインターフェイスでシークレット管理システムの認証情報を指定する方法の詳細は、ユーザー認証情報の管理 を参照してください。

11.1. シークレットルックアップの設定とリンク

サードパーティーシステムからシークレットを取得する場合、認証情報フィールドを外部システムにリンクすることになります。認証情報フィールドを外部システムに保存されている値にリンクするには、そのシステムに対応する外部認証情報を選択し、必要な値を検索するための メタデータ を指定します。メタデータ入力フィールドは、ソース認証情報の外部認証情報タイプ定義の一部です。

Automation Controller は、開発者、インテグレーター、システム管理者、パワーユーザー向けの認証情報プラグインインターフェイスを備えています。このインターフェイスから、新しい外部認証情報タイプを追加して、他のシークレット管理システムをサポートするように拡張できます。

Automation Controller で、サポート対象の各サードパーティーのシークレット管理システムを設定して使用するには、次の手順を実行します。

手順

  1. シークレット管理システムで認証するための外部認証情報を作成します。少なくとも、外部認証情報の名前を指定し、Credential Type フィールドで次のいずれかを選択します。

  2. 外部認証情報にリンクする Type Details エリアに続くフィールドについては、入力フィールドの鍵アイコン Link をクリックし、1 つ以上の入力フィールドを、外部認証情報と、外部システム内のシークレットを検索するためのメタデータにリンクします。
  3. シークレット情報を取得するために使用する入力ソースを選択します。
  4. リンクする認証情報を選択し、Next をクリックします。これにより、入力ソースの Metadata タブが表示されます。この例は、HashiVault Secret Lookup のメタデータプロンプトを示しています。メタデータは、選択した入力ソースに固有です。

    詳細は、認証情報入力ソースのメタデータ の表を参照してください。

  5. Test をクリックして、シークレット管理システムへの接続を確認します。検索が失敗した場合は、エラーメッセージが表示されます。
  6. OK をクリックします。対象の認証情報の Details 画面に戻ります。
  7. ステップ 3 から始めてこれらのステップを繰り返し、ターゲット認証情報の残りの入力フィールドを完了します。この方法で情報をリンクすることで、Automation Controller はユーザー名、パスワード、キー、証明書、トークンなどの機密情報をサードパーティーの管理システムから取得し、ターゲットの認証情報フォームの残りのフィールドにそのデータを入力します。
  8. 必要に応じて、機密情報の取得方法としてリンクを使用しないフィールドには、情報を手動で入力します。各フィールドの詳細は、適切な [認証情報のタイプ] を参照してください。
  9. Save をクリックします。

関連情報

詳細は、Credential プラグイン の開発ドキュメントを参照してください。

11.1.1. 認証情報入力ソースのメタデータ

入力ソースの Metadata タブに必要な情報です。

AWS Secrets Manager Lookup
メタデータ説明

AWS Secrets Manager Region (必須)

シークレットマネージャーが配置されているリージョン。

AWS Secret Name (必須)

AWS アクセスキーによって生成された AWS シークレット名を指定します。

Centrify Vault Credential Provider Lookup
メタデータ説明

アカウント名 (必須)

Centrify Vault に関連付けられたシステムアカウントまたはドメインの名前。

システム名

Centrify ポータルが使用する名前を指定します。

CyberArk Central Credential Provider Lookup
メタデータ説明

オブジェクトクエリー (必須)

オブジェクトの検索クエリー

オブジェクトクエリーフォーマット (必須)

特定のシークレット名には Exact を選択し、動的に生成された名前を持つシークレットには Regexp を選択します。

オブジェクトのプロパティー

返すプロパティーの名前を指定します。たとえば、デフォルトの Content 以外の UserName または Address です。

理由

オブジェクトのポリシーごとに必要な場合は、CyberArk は理由のログを記録するので、シークレットをチェックアウトする理由を指定します。

CyberArk Conjur Secrets Lookup
メタデータ説明

シークレット識別子

シークレットの識別子

シークレットのバージョン

必要に応じてシークレットのバージョンを指定します。しない場合には、空白にしておくと、最新バージョンが使用されます。

HashiVault Secret Lookup
メタデータ説明

シークレットバックエンドの名前

使用する KV バックエンドの名前を指定します。代わりに Path to Secret フィールドの最初のパスセグメントを使用するには、空白のままにします。

シークレットへのパス (必須)

/path/username など、機密情報が保存されるパスを指定します。

キー名 (必須)

シークレット情報を検索するキーの名前を指定します。

シークレットのバージョン (V2 のみ)

必要に応じてバージョンを指定します。しない場合には、空白にしておくと、最新バージョンが使用されます。

HashiCorp Signed SSH
メタデータ説明

未署名の公開鍵 (必須)

署名する証明書の公開鍵を指定します。これは、ターゲットホストの認証キーファイルに存在する必要があります。

シークレットへのパス (必須)

/path/username など、機密情報が保存されるパスを指定します。

ロール名 (必須)

ロールは、Hashi vault に保存される SSH 設定とパラメーターのコレクションです。通常、たとえば、異なる特権やタイムアウトを持つロールを指定できます。したがって、たとえば、ルートに対して署名された証明書の取得を許可されたロールと、その他の権限の低いロールを指定できます。

有効なプリンシパル

格納されているキーの証明書を承認するために Vault に要求する、デフォルト以外のユーザー (複数可) を指定します。Hashi Vault には、署名するデフォルトのユーザー (ec2-user など) があります。

Microsoft Azure KMS
メタデータ説明

シークレット名 (必須)

Microsoft Azure の Key Vault アプリで参照されるシークレットの名前。

シークレットのバージョン

必要に応じてシークレットのバージョンを指定します。しない場合には、空白にしておくと、最新バージョンが使用されます。

Thycotic DevOps Secrets Vault
メタデータ説明

シークレットパス (必須)

機密情報が保存されるパスを指定します (例:/path/username)。

Thycotic Secret Server
メタデータ説明

シークレット ID (必須)

シークレットの識別子

シークレットフィールド

シークレットから使用するフィールドを指定します。

11.1.2. AWS Secrets Manager lookup

このプラグインにより、Amazon Web Services を認証情報入力ソースとして使用し、Amazon Web Services Secrets Manager からシークレットを取得できるようになります。AWS Secrets Manager は、Microsoft Azure Key Vault と同様のサービスを提供しており、AWS コレクションでそのためのルックアッププラグインが提供されています。

Credential type に AWS Secrets Manager lookup を選択した場合は、ルックアップを設定するために次のメタデータを指定します。

  • AWS Access Key (必須): AWS キー管理システムとの通信に使用するアクセスキーを指定します。
  • AWS Secret Key (必須): AWS IAM コンソールで取得したシークレットを指定します。

11.1.3. Centrify Vault Credential Provider Lookup

この統合が機能するには、Centrify Vault Web サービスを実行してシークレットを保存する必要があります。Credential TypeCentrify Vault Credential Provider Lookup を選択した場合は、次のメタデータを指定してルックアップを設定します。

  • Centrify Tenant URL (必須): Centrify のシークレット管理システムとの通信に使用する URL を指定します。
  • Centrify API User (必須): ユーザー名を指定します。
  • Centrify API Password (必須): パスワードを指定します。
  • OAuth2 Application ID: OAuth2 クライアントに関連付けられている特定の識別子を指定します。
  • OAuth2 Scope: OAuth2 クライアントのスコープを指定します。

11.1.4. CyberArk Central Credential Provider (CCP) Lookup

この統合が機能するようするには、CyberArk Central Credential Provider Web サービスが稼働中で、シークレットを保存する必要があります。Credential TypeCyberArk Central Credential Provider Lookup を選択した場合は、次のメタデータを指定して検索を設定します。

  • CyberArk CCP URL (必須): CyberArk CCP のシークレット管理システムとの通信に使用する URL を指定します。http や https などの URL スキームを含める必要があります。
  • オプション: Web Service ID: Web サービスの識別子を指定します。これを空白のままにすると、デフォルトで AIMWebService になります。
  • Application ID (必須): CyberArk AIM サービスで提供される識別子を指定します。
  • Client Key: クライアントキーを貼り付けます (CyberArk から提供されている場合)。
  • Client Certificate: 証明書を貼り付けるときに BEGIN CERTIFICATE 行と END CERTIFICATE 行を含めます (CyberArk から提供されている場合)。
  • Verify SSL Certificates: このオプションは、URL が HTTPS を使用している場合にのみ使用できます。サーバーの SSL/TLS 証明書が有効で信頼できるかどうかを検証するには、このオプションをオンにします。内部 CA またはプライベート CA を使用する環境では、このオプションをオフのままにして検証を無効にしてください。

11.1.5. CyberArk Conjur Secrets Manager Lookup

Conjur Cloud テナントをターゲットとして使用できる場合、CyberArk Conjur Secrets Lookup 外部管理システム認証情報プラグインを設定します。

Credential TypeCyberArk Conjur Secrets Manager Lookup を選択した場合は、次のメタデータを指定してルックアップを設定します。

  • Conjur URL (必須): CyberArk Conjur のシークレット管理システムとの通信に使用する URL を指定します。これには、http や https などの URL スキームが含まれている必要があります。
  • API キー (必須): Conjur の管理者から受け取ったキーを指定します。
  • アカウント (必須): 組織のアカウント名
  • ユーザー名 (必須): このサービス用に認証するユーザー
  • 公開鍵鍵証明書: CyberArk から提供されている場合、公開鍵を貼り付けるときに BEGIN CERTIFICATE および END CERTIFICATE の行を含めます。

11.1.6. HashiCorp Vault Secret Lookup

Credential TypeHashiCorp Vault Secret Lookup を選択した場合は、次のメタデータを指定してルックアップを設定します。

  • Server URL (必須): HashiCorp Vault のシークレット管理システムとの通信に使用する URL を指定します。
  • Token: HashiCorp のサーバーの認証に使用するアクセストークンを指定します。
  • CA Certificate: HashiCorp のサーバーの検証に使用される CA 証明書を指定します。
  • AppRole role_id: 認証に AppRole を使用している場合は、ID を指定します。
  • AppRole secret_id: AppRole 認証に対応するシークレット ID を指定します。
  • Client Certificate: Hashicorp Vault が必要とする中間証明書など、TLS 認証方法を使用する場合に、PEM でエンコードされたクライアント証明書を指定します。
  • Client Certificate Key: TLS 認証方法を使用する場合に、PEM でエンコードされた証明書の秘密鍵を指定します。
  • TLS Authentication Role: TLS 認証方法の使用時にクライアント証明書に対応する Hashicorp Vault でロールまたは証明書名を指定します。指定しないと、Hashicorp Vault は証明書を自動的に一致しようとします。
  • Namespace name: namespace 名を指定します (Hashicorp Vault エンタープライズのみ)。
  • Kubernetes role: Kubernetes 認証の使用時にロール名を指定します。
  • Username: このサービスの認証に使用されるユーザーのユーザー名を入力します。
  • Password: このサービスの認証に使用するユーザーに関連付けられたパスワードを入力します。
  • Path to Auth: /approle のデフォルトパス以外のパスを指定します。
  • API Version (必須): 静的ルックアップの場合は v1 を選択し、バージョンを含むルックアップの場合は v2 を選択します。

LDAP 認証では、HashiCorp の Vault UI で LDAP を設定し、ユーザーに追加するポリシーを設定する必要があります。cubbyhole は、デフォルトのシークレットマウントの名前です。適切なパーミッションがある場合は、他のマウントを作成し、キー値をそれらに書き込むことができます。

ルックアップをテストするには、Hashicorp Vault ルックアップを使用する別の認証情報を作成します。

関連情報

LDAP 認証方式およびそのフィールドの詳細は、LDAP 認証メソッドの Vault ドキュメント を参照してください。

AppRole 認証メソッドおよびそのフィールドの詳細は、AppRole auth method の Vault のドキュメント を参照してください。

userpass 認証メソッドおよびそのフィールドの詳細は、userpass auth method の Vault のドキュメント を参照してください。

Kubernetes の auth メソッドおよびそのフィールドの詳細は、Kubernetes auth method の Vault のドキュメント を参照してください。

TLS 証明書認証メソッドおよびそのフィールドの詳細は、TLS certificates auth method の Vault のドキュメント を参照してください。

11.1.7. HashiCorp Vault Signed SSH

Credential TypeHashiCorp Vault Signed SSH を選択した場合は、次のメタデータを指定してルックアップを設定します。

  • Server URL (必須): HashiCorp 署名の SSH のシークレット管理システムとの通信に使用する URL を指定します。
  • Token: HashiCorp のサーバーの認証に使用するアクセストークンを指定します。
  • CA Certificate: HashiCorp のサーバーの検証に使用される CA 証明書を指定します。
  • AppRole role_id: AppRole 認証の ID を指定します。
  • AppRole secret_id: AppRole 認証に対応するシークレット ID を指定します。
  • Client Certificate: Hashicorp Vault が必要とする中間証明書など、TLS 認証方法を使用する場合に、PEM でエンコードされたクライアント証明書を指定します。
  • Client Certificate Key: TLS 認証方法を使用する場合に、PEM でエンコードされた証明書の秘密鍵を指定します。
  • TLS Authentication Role: TLS 認証方法の使用時にクライアント証明書に対応する Hashicorp Vault でロールまたは証明書名を指定します。指定しないと、Hashicorp Vault は証明書を自動的に一致しようとします。
  • Namespace name: namespace 名を指定します (Hashicorp Vault エンタープライズのみ)。
  • Kubernetes role: Kubernetes 認証の使用時にロール名を指定します。
  • Username: このサービスの認証に使用されるユーザーのユーザー名を入力します。
  • Password: このサービスの認証に使用するユーザーに関連付けられたパスワードを入力します。
  • Path to Auth: /approle のデフォルトパス以外のパスを指定します。

関連情報

AppRole 認証メソッドおよびそのフィールドの詳細は、AppRole auth method の Vault のドキュメント を参照してください。

Kubernetes の認証メソッドおよびそのフィールドの詳細は、Kubernetes auth method の Vault ドキュメント を参照してください。

TLS 証明書認証メソッドおよびそのフィールドの詳細は、TLS certificates auth method の Vault のドキュメント を参照してください。

11.1.8. Microsoft Azure Key Vault

Credential TypeMicrosoft Azure Key Vault を選択した場合は、次のメタデータを指定してルックアップを設定します。

  • Vault URL (DNS Name) (必須): Microsoft Azure の鍵管理システムとの通信に使用する URL を指定します。
  • Client ID (必須): Microsoft Entra ID によって取得された識別子を指定します。
  • Client Secret (必須): Microsoft Entra ID によって取得されたシークレットを指定します。
  • Tenant ID (必須): Azure サブスクリプション内の Microsoft Entra ID インスタンスに関連付けられた一意の識別子を指定します。
  • Cloud Environment: 適用するクラウド環境を選択します。

11.1.9. Thycotic DevOps Secrets Vault

Credential TypeThycotic DevOps Secrets Vault を選択した場合は、次のメタデータを指定してルックアップを設定します。

  • Tenant (必須): Thycotic のシークレット管理システムとの通信に使用する URL を指定します
  • Top-level Domain (TLD): 統合するシークレット Vault に関連付けられたトップレベルドメインの指定 (com、edu、org など) を提供します。
  • Client ID (必須): Thycotic のシークレット管理システムによって取得された識別子を指定します。
  • Client Secret (必須): Thycotic のシークレット管理システムによって取得されたシークレットを指定します。

11.1.10. Thycotic Secret Server

Credential TypeThycotic Secrets Server を選択した場合は、次のメタデータを指定してルックアップを設定します。

  • Secret Server URL (必須): Thycotic Secrets Server 管理システムとの通信に使用する URL を指定します。
  • Username (必須): このサービスの認証済みユーザーを指定します。
  • Domain: (アプリケーション) ユーザードメインを指定します。
  • Password (必須): ユーザーに関連付けられたパスワードを指定します。
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.