セキュリティのモダナイゼーションは、大規模に成果を上げていますか?
GitLabは、業界をリードする顧客との取り組みから、この成熟度フレームワークを構築しました。チームのセキュリティとコンプライアンスへの取り組みについて、いくつかの質問に回答すると、成熟度スコアと次の段階に向けた推奨事項を確認できます。
所要時間は5分以内です
Secrets Manager
OpenBaoを基盤とするGitLab Secrets Managerで、シークレットの乱立を解消します。パイプラインとランタイムのシークレットを1つのストアから読み取り、コードに適用されている既存の権限と監査証跡のもとで管理できます。

デベロッパーが普段作業する環境でシークレットを管理
GitLab Secrets Managerでは、シークレットはそれを使用するコードと同じグループやプロジェクトに保存されます。プラグインやエージェント、別のツールを覚える必要はなく、通常のワークフローの中でシークレットを追加・利用できます。

アクセス権は既存のグループとプロジェクトの階層に従って管理され、きめ細かな権限設定も可能です。そのため、別のアクセス管理モデルを用意して同期する必要はありません。認証情報は、プロジェクト単位で使用する場合も、グループ全体で共有する場合も、一度定義するだけで済みます。プロジェクトから離脱したユーザーは、自動的にアクセス権を失います。
デベロッパーは、パイプライン設定ファイルのsecrets:キーワードで、ジョブに必要なシークレットを宣言します。GitLabは各ジョブが属するプロジェクトやブランチ、環境をすでに把握しているため、CIと外部のシークレット管理システムとの間でID連携を設定する必要はありません。
シークレットの参照が壊れた場合でも、コードと同じマージリクエストで修正を反映できるため、別のリポジトリや承認者は不要です。安全に管理された認証情報をわずか1行で取得できるため、CI変数やローカル設定ファイル、リポジトリにシークレットが保存されるケースを減らせます。
認証情報の漏洩による影響範囲の最小化
侵害された依存関係がジョブ内で実行されても、GitLab Secrets Managerなら、すべてのパイプラインを止める必要はありません。そのジョブがアクセスできたシークレットをローテーションし、監査するだけで対処できます。

パイプライン内のすべてのジョブに適用されるCI変数とは異なり、シークレットは、宣言したジョブのうち、スコープ(ブランチ、環境、保護ステータス)の条件に合致するジョブでのみ利用できます。
Secrets Managerは値を一時ファイルに書き込み、そのファイルパスだけを渡すことで、サブプロセス、クラッシュダンプ、テレメトリに値が露出するリスクを抑えます。値はジョブログでマスクされ、ジョブ終了時に破棄されるため、Runner上にデータが残ることはありません。
作成、読み取り、更新、削除のイベントは、GitLabの他の機能と同様の監査証跡に記録されます。パイプラインによるシークレットの読み取り記録にはパイプラインIDとジョブIDが含まれるため、対応担当者や監査担当者は、システム間のログを手動で照合することなく、認証情報へのアクセスからデプロイまで追跡できます。
パイプライン、クラスター、インフラストラクチャで共通利用できるストア
パイプラインがシークレットを直接読み取ります。Kubernetesワークロード、TerraformやOpenTofuの実行、Vault互換のCLIツール、その他の自動化処理は、標準のインテグレーションポイントを通じて接続し、パイプラインと同じ権限と監査証跡のもとで動作します。

External Secrets OperatorがKubernetes SecretsをGitLabと同期するため、シークレットをローテーションしても、再デプロイせずに変更が反映されます。TerraformとOpenTofuは実行時にデータソースとしてシークレットを読み取るため、認証情報がファイルやCI/CD変数に含まれることを防ぎます。
OpenBaoを基盤とするSecrets ManagerはVault互換のAPIを公開しているため、すでにOpenBaoやVault CLI向けにスクリプトを作成している場合、既存のコマンドをそのまま使用できます。その他の自動化ツールは、認証情報をハードコードしたり個別の変数ファイルを管理したりする代わりに、Secrets Manager APIを通じてシークレットをフェッチします。
認証情報は、マルチクラウド、ハイブリッド、オンプレミスの各ワークロードに追従するため、プラットフォームごとのIDフェデレーションを設定する必要はありません。ワークロードを別のクラウドに移行しても、2つ目のストアを立ち上げる必要はありません。また、アカウントごとやリージョンごとのストアに分散していたシークレットは、1か所に集約されます。
[ 保護 ]
シークレットの漏洩を防止および検出GitLabは認証情報の管理にとどまりません。シークレットプッシュ保護により認証情報がリポジトリに到達するのをブロックし、クライアントサイド検出によりイシューやマージリクエストのテキスト内のシークレットを検出し、パイプラインシークレット検出によりコード内にすでに存在するシークレットを見つけ出します。Duo Agent Platform が検出結果をトリアージし、誤検出の可能性が高いものをフラグ付けします。

[ 料金 ]
使用した分だけのお支払いGitLab Secrets Managerは、PremiumまたはUltimateプラン向けの有料アドオンです。GitLabクレジットを通じて課金され、保存するシークレット1つにつき月額1クレジット、シークレットの読み取り操作2,500回につき1クレジットが消費されます。定額料金をご希望の場合は、エンタープライズライセンス契約(ELA)をご利用いただけます。

// 次の時代を自分のものに
すでにPremiumまたはUltimateをご利用ですか?GitLab Secrets Managerを無料で試用できます。トライアルは、開始から30日が経過するか、500評価クレジットを使い切った時点で終了します。
トライアルを開始セキュリティのモダナイゼーションは、大規模に成果を上げていますか?
GitLabは、業界をリードする顧客との取り組みから、この成熟度フレームワークを構築しました。チームのセキュリティとコンプライアンスへの取り組みについて、いくつかの質問に回答すると、成熟度スコアと次の段階に向けた推奨事項を確認できます。
所要時間は5分以内です

よくある質問
そのまま機能します。自動的に移行されることはありません。CI/CD変数は、機密情報を含まない設定の管理に引き続き適しています。移行の候補を見つけるには、CI/CD変数用のシークレット監査ツールを使用して、認証情報を保持している変数を特定します。その後、ご都合のよいタイミングで、該当する値をSecrets Managerに移行してください。
GitLab Secrets Managerは、GitLabクレジットを通じて請求される有料アドオンです。1つのシークレットを1か月間保存すると1クレジットが消費され、2,500回のシークレット読み取り操作で1クレジットが消費されます。使用量はネームスペース単位で計測されるため、ユーザーごとのクレジット割り当てや支出上限は適用されません。コミットメントプールをご契約の場合は、Secrets Managerの利用に応じたクレジットがそのプールから差し引かれます。クレジットダッシュボードでは、その利用分がDuo Agent Platformの利用分とは別に表示されます。詳細は、Secrets Managerの課金に関するドキュメントをご覧ください。
PremiumまたはUltimateサブスクリプションと、トップレベルグループのオーナーロールが必要です。トライアルは、開始から30日が経過するか、500評価クレジットを使い切った時点で終了します。GitLab Self-Managed(GitLab 19.5以降)では、管理者がまずインスタンスにSecrets Managerをインストールする必要があります。詳細な手順については、トライアルの開始方法を参照してください。
はい。Kubernetesワークロードは、Vaultプロバイダーを使用してExternal Secrets Operator経由でシークレットを同期します。TerraformおよびOpenTofuは、planまたはapplyの実行時にデータソースとしてシークレットを読み取ります。Vault互換ツールを使用してすでにスクリプトを作成しているチームは、OpenBaoまたはVault CLIを使用します。その他の自動化については、Secrets Manager APIを通じて読み取ります。これらはすべて、パイプラインと同じ権限で同じストアから読み取られます。CI/CD外からのアクセスを参照してください。