github編集

GitHub Actions

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

機能

  • GitHub Actionsランナー内でKeeperボルトからシークレットを取得

  • GitHub Actionsスクリプトでシークレットの認証情報をビルド引数または環境変数として設定

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

circle-info

Keeperシークレットマネージャーの機能について、詳しくは概要をご参照ください。

動画デモ

以下の動画では、基本設定とGithub Actions統合に触れています。

要件

概説

このアクションを使用すると、Keeperからシークレットを安全に取得し、GitHub Actionsランナー上の指定先 (環境変数、ステップの出力パラメーター、ファイル) に配置できます。

クイックスタート

以下の例では、このプラグインで利用可能な機能を一通り確認できます。

GitHub Actionsプラグインを利用するには、次の2つの入力を指定する必要があります。

入力値

keeper-secret-config

シークレットの構成です。構成の作成方法については、ドキュメントをご参照ください。

JSON形式の構成がサポートされています。

例:

上記の例のように、構成はGitHub Actionsのシークレットに保存し、変数として参照する方法を推奨します。

secrets

Keeper表記法を使用して、Keeperレコード内のフィールドにアクセスするためのクエリです。

secrets パラメータには、Keeperから取得するシークレットの一覧を指定します。取得したシークレットは、環境変数やGitHub Actionsの出力、ファイルとして、GitHub Actionsランナー上で利用できます。

:

最初の部分は、Keeper表記法を使用したシークレットのIDです。

circle-info

シークレット内で複合的な値を参照する場合は、Keeper表記法の述部 (Predicates) に関する項目をご参照ください。配列、キーと値のペア、その他のネストされた値を参照する際には、述部記法を使用します。

2番目の部分では、GitHubランナーのシークレットの代入先を定義します。

表記法\代入先プレフィックス
デフォルト(空)
env:
file:

field または custom_field

表記法を使用したクエリの結果はステップの出力に格納されます

表記法を使用したクエリの結果は環境変数に格納されます

許可されていません

file

ファイルがダウンロードされ、代入先に格納されます

ファイルがダウンロードされ、代入先に格納されます

ファイルがダウンロードされ、代入先に格納されます

マスキング (ログからシークレットを隠す)

このアクションでは、GitHub Actionsに組み込まれているマスキング機能を使用しています。そのため、変数がコンソールやログに出力された場合でも、値は自動的にマスクされます。なお、このマスキングは出力ログ上で値を見えなくするだけの仕組みです。ワークフローを編集できる権限を持つユーザーは、通常のGitHubシークレットと同様に、シークレットの内容を読み取ったり、別の場所に書き出したりすることができます。

ソースコード

KeeperシークレットマネージャーのGitHub Actionsプラグインのソースコードは、GitHubリポジトリarrow-up-rightで確認できます。

最終更新