セキュリティの刷新は、
組織全体で成果を上げていますか?
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のシークレットを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.comで開始するには、トップレベルグループに移動し、**Secure > Secrets Managerを選択してから、Start 30-day trial**を選択します。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外からのアクセスを参照してください。