GitLab CI/CD
Bitwardenは、BitwardenのシークレットマネージャーCLIを使用して、あなたのGitLab CI/CDパイプラインにシークレットを注入する方法を提供します。これにより、CI/CDワークフローで秘密情報を安全に保存し使用することができます。始めるために:
このステップでは、アクセストークンをGitLab CI/CD変数として保存します。このトークンは、BitwardenシークレットマネージャーAPIに認証し、シークレットを取得するために使用されます。
GitLabで、プロジェクトの設定 > CI/CDページに移動します。
展開を変数セクションで選択してください。
変数を追加を選択します。
マスク変数フラグを確認してください。
キーの名前は
BWS_ACCESS_TOKEN
です。これは、シークレットマネージャーCLIが認証するために探す変数です。あるいは、キーに別の名前を付ける必要がある場合は、後でbws secret get
の行に--access-token NAME_OF_VAR
を指定してください。別のタブで、シークレットマネージャーのウェブアプリを開き、アクセストークンを作成します。
GitLabに戻り、新しく作成したアクセストークンを値フィールドに貼り付けます。
変数を追加を選択して保存してください。
次に、我々は基本的なGitLab CI/CDワークフローを書き込みます。あなたのリポジトリのルートに.gitlab-ci.yml
という名前のファイルを作成し、次の内容を記入してください:
Bashstages:
- default_runner
image: ubuntu
build:
stage: default_runner
script:
- |
# install bws
apt-get update && apt-get install -y curl git jq unzip
export BWS_VER="$(
curl -s https://api.github.com/repos/bitwarden/sdk/releases/latest | \
jq -r '.tag_name' | sed 's/bws-v//'
)"
curl -LO \
"https://github.com/bitwarden/sdk/releases/download/bws-v$BWS_VER/bws-x86_64-unknown-linux-gnu-$BWS_VER.zip"
unzip -o bws-x86_64-unknown-linux-gnu-$BWS_VER.zip -d /usr/local/bin
# secrets to retrieve
secret_ids=(
"534cc788-a143-4743-94f5-afdb00a40a41"
"9a0b500c-cb3a-42b2-aaa2-afdb00a41daa"
)
# export secrets as environment variables
for secret_id in "${secret_ids[@]}"; do
secret="$(bws secret get "$secret_id")"
secret_key="$(echo "$secret" | jq -r '.key')"
secret_value="$(echo "$secret" | jq -r '.value')"
export "$secret_key"="$secret_value"
done
# run the command that requires secrets
- npm run start
どこで
BWS_VER
は、インストールするBitwardenシークレットマネージャーCLIのバージョンです。ここでは、自動的に最新バージョンを取得しています。このバージョンを特定のバージョンに変更することでインストールされるバージョンを固定できます。例えば、BWS_VER="0.3.1"
のようにします。534cc788-a143-4743-94f5-afdb00a40a41
と9a0b500c-cb3a-42b2-aaa2-afdb00a41daa
は、シークレットマネージャーに保存されている秘密の参照識別子です。あなたのアクセストークンが所属するサービスアカウントは、これらの特定のシークレットにアクセスできる必要があります。npm run start
は、bws
によって取得される秘密の値を期待するコマンドです。あなたのプロジェクトを実行するための関連コマンドにこれを置き換えてください。
注意
シークレットは環境変数として保存されます。これらの秘密をログに出力するコマンドを実行することを避けることが重要です。
左側で、ビルド > パイプラインを選択し、ページの右上でパイプラインの実行を選択してください。新しく作成したパイプラインを実行するには、ページ上でパイプラインを実行を選択します。