GitHub Actions
GitHub ActionsにKeeperシークレットマネージャーを連携し、動的にシークレットを取得


機能
GitHub Actionsランナー内でKeeperボルトからシークレットを取得
GitHub Actionsスクリプトでシークレットの認証情報をビルド引数または環境変数として設定
Keeperボルトから安全なファイルをコピー
Keeperシークレットマネージャーの機能について、詳しくは概要をご参照ください。
動画デモ
以下の動画では、基本設定とGithub Actions統合に触れています。
要件
Keeperシークレットマネージャーへのアクセス (詳細は、クイックスタートガイドをご参照ください)
Keeperサブスクリプションでシークレットマネージャーアドオンが有効化されていること
シークレットマネージャー関連ポリシーが有効化されたロールを割り当てられたメンバーシップ
シークレットが共有されたKeeperシークレットマネージャーアプリケーション
アプリケーションの作成手順については、クイックスタートガイドをご参照ください
初期化されたKeeperシークレットマネージャー構成
この統合ではJSON形式とBase64形式の設定を使用できます
概説
このアクションを使用すると、Keeperからシークレットを安全に取得し、GitHub Actionsランナー上の指定先 (環境変数、ステップの出力パラメーター、ファイル) に配置できます。
クイックスタート
以下の例では、このプラグインで利用可能な機能を一通り確認できます。
GitHub Actionsプラグインを利用するには、次の2つの入力を指定する必要があります。
GitHub ActionsではJSON形式の構成がサポートされています。
シークレットを取得するためのKeeper表記法によるクエリ
入力値
keeper-secret-config
keeper-secret-configシークレットの構成です。構成の作成方法については、ドキュメントをご参照ください。
JSON形式の構成がサポートされています。
例:
上記の例のように、構成はGitHub Actionsのシークレットに保存し、変数として参照する方法を推奨します。
secrets
secretsKeeper表記法を使用して、Keeperレコード内のフィールドにアクセスするためのクエリです。
secrets パラメータには、Keeperから取得するシークレットの一覧を指定します。取得したシークレットは、環境変数やGitHub Actionsの出力、ファイルとして、GitHub Actionsランナー上で利用できます。
例:
最初の部分は、Keeper表記法を使用したシークレットのIDです。
シークレット内で複合的な値を参照する場合は、Keeper表記法の述部 (Predicates) に関する項目をご参照ください。配列、キーと値のペア、その他のネストされた値を参照する際には、述部記法を使用します。
2番目の部分では、GitHubランナーのシークレットの代入先を定義します。
field または custom_field
表記法を使用したクエリの結果はステップの出力に格納されます
表記法を使用したクエリの結果は環境変数に格納されます
許可されていません
file
ファイルがダウンロードされ、代入先に格納されます
ファイルがダウンロードされ、代入先に格納されます
ファイルがダウンロードされ、代入先に格納されます
マスキング (ログからシークレットを隠す)
このアクションでは、GitHub Actionsに組み込まれているマスキング機能を使用しています。そのため、変数がコンソールやログに出力された場合でも、値は自動的にマスクされます。なお、このマスキングは出力ログ上で値を見えなくするだけの仕組みです。ワークフローを編集できる権限を持つユーザーは、通常のGitHubシークレットと同様に、シークレットの内容を読み取ったり、別の場所に書き出したりすることができます。
ソースコード
KeeperシークレットマネージャーのGitHub Actionsプラグインのソースコードは、GitHubリポジトリで確認できます。
最終更新

