GitHub Actions

Keeper Secrets ManagerのGitHub Actionsへの統合によるシークレットの動的な取得

機能

  • Github Actionsランナー内にKeeperボルトからシークレットを取り込みます

  • Github Actionsのスクリプトで、ビルドの引数または環境変数としてシークレットのクレデンシャルを設定します

  • Keeperボルトからセキュリティで保護されたファイルをコピーします

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

ビデオデモ

以下の概要ビデオでは、基本設定について説明し、最後に基本的なGithub Actions統合に触れます。

前提条件

このページでは、Secrets ManagerとGitHub Actionsの連携について説明します。 この連携を利用するための必要条件は以下のとおりです。

概説

このアクションによって、Keeperからシークレットを安全に取得し、環境変数、ステップの出力パラメータ、ファイルなど、GitHub Actionsランナーの適切な場所に格納します。

クイックスタート

以下の例は、このプラグインで利用可能なすべての機能を示しています。

on:
  push:
    branches: [ master ]

jobs:
  buildexecutable:
    runs-on: ubuntu-latest
    name:Build with Keeper secrets
    steps:

      - name:Retrieve secrets from Keeper
        id: ksecrets
        uses:Keeper-Security/ksm-action@master
        with:
          keeper-secret-config: ${{ secrets.KSM_CONFIG }}
          secrets: |
              uid123/field/password > PASSWORD
              uid234/field/password > env:PASSWORD
              uid234/field/login > LOGIN
              uid234/custom_field/Cust1 > env:CUST1
              uid321/file/Certificate.crt > file:/tmp/Certificate.crt

      # 「PASSWORD」環境変数に格納されたシークレットを表示
      - name:Print password
        run: |
          echo "Password is ${{ env.PASSWORD }}"
          echo "Login is ${{ steps.ksecrets.outputs.LOGIN }}"

Github Actionsプラグインを利用するには、以下の2つの入力値の指定が必要です。

入力値

keeper-secret-config

シークレットの設定。設定の作成の詳細は、ドキュメントをご参照ください。

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

例:

keeper-secret-config: ${{ secrets.KSM_CONFIG }}

上記の例に示すように、設定をGithub Actionsシークレットに格納し、変数としてアクセスすることをお勧めします。

secrets

Keeper表記法を使用してクエリを実行し、Keeperの記録のフィールドにアクセスします。

シークレットの入力値は、Keeperから取得し、環境変数、GitHub Actionの出力、またはファイルのいずれかに格納する必要があるシークレットの一覧です。

:

secrets: |
  uid123/field/password > APP_PASSWORD
  uid234/field/password > env:DB_PASSWORD
  uid321/file/Certificate.crt > file:/tmp/Certificate.crt

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

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

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

fieldまたはcustom_field

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

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

許可されていません

file

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

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

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

マスキング - ログのシークレットを非表示

このアクションはGitHub Actionに組み込まれたマスキングを使用するため、コンソールまたはログに出力すると、すべての変数が自動的にマスキングされます。これは出力ログでシークレットを見えなくするだけです。ワークフローを編集できるユーザーであれば、通常のGitHubシークレットと同様に、シークレットを読み取って、どこか別の場所に書き込むことができます。

ソースコード

Keeper Secrets Manager Github Actionsプラグインのソースコードは、GitHubリポジトリにあります

最終更新