GitLabシークレットマネージャー
- プラン: Ultimate
- 提供形態: GitLab.com
- ステータス: 実験的機能
これは実験的機能であり、予告なく変更される場合があります。この機能は、パブリックテストまたは本番環境での使用には対応していません。
シークレットは、機能するためにCI/CDジョブが必要とする機密情報を表します。シークレットは、アクセストークン、データベース認証情報、プライベートキーなどの場合があります。
デフォルトで常にジョブで利用可能なCI/CD変数とは異なり、シークレットはジョブによって明示的にリクエストされる必要があります。
GitLabシークレットマネージャーを使用して、プロジェクトのシークレットと認証情報を安全に保存および管理します。
GitLabシークレットマネージャーを有効にする
前提要件:
- プロジェクトのオーナーロールが必要です。
GitLabシークレットマネージャーを有効にするには:
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
- 設定 > 一般を選択します。
- 可視性、プロジェクトの機能、権限を展開します。
- シークレットマネージャー切替をオンにして、シークレットマネージャーがプロビジョニングされるまで待ちます。
シークレットを定義する
セキュアなCI/CDパイプラインとワークフローに使用できるように、シークレットマネージャーにシークレットを追加できます。
- 左側のサイドバーで、検索または移動先を選択して、プロジェクトを見つけます。
- セキュリティ > シークレットマネージャーを選択します。
- シークレットを追加を選択し、詳細を入力します:
シークレットを作成すると、パイプラインの設定またはジョブスクリプトで使用できます。
ジョブスクリプトでシークレットを使用する
シークレットマネージャーで定義されたシークレットにアクセスするには、secretsおよびgitlab_secrets_managerキーワードを使用します:
job:
secrets:
TEST_SECRET:
gitlab_secrets_manager:
name: foo
script:
- cat $TEST_SECRET