アプリケーションのシークレット
このPagesはアプリケーションシークレットの開発者ガイドです。
シークレットエントリー
エントリ | 説明 |
---|---|
secret_key_base | さまざまなシークレットを生成する際に使用するベースキー。 |
otp_key_base | ユーザー管理で説明するワンタイムパスワードのベースキー。 |
db_key_base |
attr_encrypted カラムのデータを暗号化するための基本キー。 |
openid_connect_signing_key | OpenID Connectの署名キー |
encrypted_settings_key_base | 設定ファイルを暗号化するためのベースキー |
ci_jwt_signing_key |
CI_JOB_JWT とCI_JOB_JWT_V2 定義済み CI/CD 変数を暗号化するためのベースキー。CI_JOB_JWT とCI_JOB_JWT_V2 はGitLab 15.9 で非推奨となり、GitLab 16.5 で削除される予定です。 |
シークレットの保存場所
インストールの種類 | 設置場所 |
---|---|
Linuxパッケージ | /etc/gitlab/gitlab-secrets.json |
クラウドネイティブGitLabチャート | Kubernetesのシークレット |
セルフコンパイル |
<path-to-gitlab-rails>/config/secrets.yml (01_secret_token.rbによって自動的に生成されます) |
警告アプリケーションのシークレットに新しいシークレットを追加する前に
config/initializers/01_secret_token.rb
に新しいシークレットを追加する前に、必ず Omnibus GitLab もアップデートしてください。Omnibusはsecrets.yml
。Omnibusがシークレットについて知らない場合、Railsはファイルへの書き込みを試みますが、Railsには書き込み権限がないため失敗します。同じルールがCloud Native GitLabチャートにも適用されるので、最初にチャートを更新する必要があります。シークレットを各ノードで同じ値にする必要がある場合(通常はそうです)、このファイルを変更する前に、すべてのGitLab.com環境で設定されていることを確認する必要があります。
実験例
さらなる反復
今後、この自動シークレット生成01_secret_token.rb
を非推奨または削除する可能性があります。詳しくはイシュー222690をご覧ください。