GitHub Actions
GitHub Actionsへのシークレットマネージャー連携と動的なシークレット取得

機能
Keeperボルトからのシークレット取得と、環境変数・ステップ出力・ファイルへの設定
環境変数・ファイル・インライン値からのボルトへの書き戻し
Keeperレコードへのファイルアップロード
保存時に必要に応じた新規レコードの作成
Keeperシークレットマネージャーの機能一式については、概要をご参照ください。
動画デモ
以下の概要動画では、基本設定からGitHub Actionsとの連携までを扱っています。
要件
本ページではシークレットマネージャーのGitHub Actions連携について説明します。利用には以下が必要です。
Keeperシークレットマネージャーへのアクセス (クイックスタートガイドをご参照ください)
Keeperアカウントでシークレットマネージャーアドオンが有効であること
シークレットマネージャーの適用ポリシーが有効なロールへの所属
Keeperのシークレットマネージャーアプリケーションにシークレットが共有されていること
アプリケーションの作成手順は、クイックスタートガイドをご参照ください
初期化済みのシークレットマネージャー構成
GitHub Actions連携ではJSON形式およびBase64形式の構成を受け付けます
概要
このアクションを使うと、Keeperボルトからシークレットを取得し、GitHub Actionsランナーの環境変数・ステップ出力・ファイルへ渡せます。ボルトへの書き戻しにも対応し、シークレットのローテーション、証明書の管理、双方向の認証情報ワークフローに適しています。
クイックスタート
シークレットの取得
シークレットの保存
取得と保存の併用
同一ステップで取得と保存を行う例です。
GitHub Actionsプラグインを利用するには、以下の2つの入力が必要です。
JSON形式およびBase64形式の構成を利用可能
Keeper表記法に基づくシークレット取得用のクエリ
入力値
keeper-secret-config
keeper-secret-configシークレットの構成です。構成の作成方法については、ドキュメントをご参照ください。
JSON形式およびBase64形式の構成に対応します。
例:
構成はGitHub Actionsのシークレットに保存し、上記のように変数として参照することを推奨します。
secrets
secretssecrets では、Keeper表記法により取得 (>) と保存 (<) を1行ずつ指定します。
取得 — Keeperからフィールドを読み取り、ランナーへ渡します。
保存 — ランナー側の値をKeeperへ書き込みます。
例:
シークレット内で複雑な値を参照する場合は、Keeper表記法の述部をご参照ください。
配列、キーと値のペア、その他の入れ子構造の値は、述部記法で参照します。
取得先の指定
セレクター
プレフィックスなし (ステップ出力)
env: (環境変数)
file: (ファイルパス)
field または custom_field
ステップ出力へ格納
環境変数へ格納
不可
file
指定パスへダウンロード
指定パスへダウンロード
指定パスへダウンロード
保存元の指定
(なし)
リテラルまたはGitHub Actions式の解決結果
< ${{ steps.id.outputs.val }}
env:
環境変数から読み取り
< env:NEW_PASSWORD
file:
ランナー上のファイルから読み取り
< file:./secret.txt
ファイルのアップロードには file セレクターを使います。例: RecordUID/file < file:./cert.pem
create-if-missing
create-if-missingtrue のとき、参照先レコードが存在しない場合は保存処理で新規レコードを作成します。folder-uid が必要です。既定値は false です。
例:
folder-uid
folder-uid新規作成するレコードの配置先となる共有フォルダのUIDです。create-if-missing が true のときに必要です。
new-record-type
new-record-type新規作成するレコードのタイプです。既定値は login です。
fail-on-store-error
fail-on-store-error保存処理のいずれかが失敗したときにアクション全体を失敗扱いにします。既定値は true です。false にすると、保存に失敗してもワークフローを続行できます。
allow-empty-values
allow-empty-values空文字列をフィールドに保存することを許可します。既定値は false です。false のとき、空の値は誤った上書きを防ぐため拒否されます。
マスキング (ログからシークレットを隠す)
GitHub Actions組み込みのマスキングにより、取得・保存した値はコンソール出力やログに自動でマスクされます。保存処理で扱う値も、デバッグログではマスクされます。
ログ上では値が見えなくなるだけです。ワークフローを編集できるユーザーは、通常のGitHubシークレットと同様に、シークレットの内容を読み取ったり他へ書き出したりできる場合があります。
ソースコード
KeeperシークレットマネージャーのGitHub Actionsプラグインのソースコードは、GitHubリポジトリで確認できます。
最終更新

