[{"data":1,"prerenderedAt":1980},["ShallowReactive",2],{"/ja-jp/blog/complete-guide-to-gitlab-container-scanning":3,"navigation-ja-jp":1198,"banner-ja-jp":1627,"footer-ja-jp":1635,"blog-post-authors-ja-jp-Fernando Diaz":1877,"blog-related-posts-ja-jp-complete-guide-to-gitlab-container-scanning":1892,"blog-promotions-ja-jp":1918,"next-steps-ja-jp":1971},{"id":4,"title":5,"authors":6,"body":8,"category":1180,"date":1181,"description":1182,"extension":1183,"externalUrl":1184,"faq":1184,"featured":192,"heroImage":1185,"meta":1186,"navigation":192,"path":1187,"seo":1188,"slug":1191,"stem":1192,"tags":1193,"template":1195,"updatedDate":1196,"__hash__":1197},"blogPosts/ja-jp/blog/complete-guide-to-gitlab-container-scanning.md","GitLab コンテナスキャン完全ガイド：SBOM生成から運用監視まで5つのスキャン手法",[7],"Fernando Diaz",{"type":9,"value":10,"toc":1167},"minimark",[11,15,18,22,25,28,32,35,40,61,64,68,74,95,100,109,147,150,155,166,220,225,238,285,288,297,304,315,321,327,330,333,342,348,363,369,375,382,390,393,396,405,416,423,426,430,451,456,459,475,481,484,498,505,509,526,529,532,541,616,623,645,648,653,723,728,774,778,794,797,800,814,817,831,835,851,854,857,865,926,935,942,945,974,978,981,984,991,994,1000,1008,1011,1017,1020,1027,1030,1036,1039,1117,1120,1123,1126,1145,1148,1151,1163],[12,13,14],"p",{},"コンテナの脆弱性は、次のデプロイメントを待ってくれるわけではありません。イメージのビルド時や、コンテナが本番環境で稼働している間など、あらゆるタイミングで発生する可能性があります。\nGitLab はこうした現実に対応するため、コンテナライフサイクルのさまざまな段階に対応した複数のコンテナスキャンアプローチを提供しています。",[12,16,17],{},"本ガイドでは、GitLab が提供するコンテナスキャンの種類、各機能の有効化方法、および初期設定に役立つ一般的な構成についてご説明します。",[19,20,21],"h2",{"id":21},"コンテナスキャンが重要な理由",[12,23,24],{},"コンテナイメージのセキュリティ脆弱性は、アプリケーションライフサイクル全体にわたってリスクをもたらします。ベースイメージ、OSパッケージ、アプリケーションの依存関係はいずれも、攻撃者が積極的に悪用する脆弱性を含んでいる可能性があります。コンテナスキャンはこれらのリスクを早期に、本番環境に到達する前に検出し、利用可能な場合は修正方法を提供します。",[12,26,27],{},"コンテナスキャンはソフトウェアコンポジション分析（SCA）の重要なコンポーネントであり、コンテナ化されたアプリケーションが依存する外部依存関係を把握し、保護するために役立ちます。",[19,29,31],{"id":30},"gitlab-コンテナスキャンの5つの種類","GitLab コンテナスキャンの5つの種類",[12,33,34],{},"GitLab は5つの異なるコンテナスキャンアプローチを提供しており、それぞれがセキュリティ戦略において固有の目的を果たします。",[36,37,39],"h3",{"id":38},"_1-パイプラインベースのコンテナスキャン","1. パイプラインベースのコンテナスキャン",[41,42,43,47,50,53],"ul",{},[44,45,46],"li",{},"機能：CI/CDパイプラインの実行中にコンテナイメージをスキャンし、デプロイ前に脆弱性を検出します。",[44,48,49],{},"最適な用途：シフトレフトセキュリティ、脆弱性のあるイメージが本番環境に到達するのを防止",[44,51,52],{},"利用可能なプラン：Free、Premium、Ultimate（Ultimateではより高度な機能を利用可能）",[44,54,55],{},[56,57,60],"a",{"href":58,"rel":59},"https://docs.gitlab.com/ja-jp/user/application_security/container_scanning/",[],"ドキュメント",[12,62,63],{},"GitLab は Trivy セキュリティスキャナーを使用してコンテナイメージの既知の脆弱性を分析します。パイプラインの実行時にスキャナーがイメージを検査し、詳細なレポートを生成します。",[65,66,67],"h4",{"id":67},"パイプラインベースのコンテナスキャンを有効にする方法",[12,69,70],{},[71,72,73],"strong",{},"オプション A：事前設定済みのマージリクエスト",[41,75,76,83,86,92],{},[44,77,78,79,82],{},"プロジェクトで ",[71,80,81],{},"Secure > セキュリティ設定"," に移動します。",[44,84,85],{},"「コンテナスキャン」の行を見つけます。",[44,87,88,91],{},[71,89,90],{},"マージリクエストで設定"," を選択します。",[44,93,94],{},"必要な設定を含むマージリクエストが自動的に作成されます。",[12,96,97],{},[71,98,99],{},"オプション B：手動設定",[41,101,102],{},[44,103,104,108],{},[105,106,107],"code",{},".gitlab-ci.yml"," に以下を追加します。",[110,111,116],"pre",{"className":112,"code":113,"language":114,"meta":115,"style":115},"language-yaml shiki shiki-themes github-light","include:\n  - template: Jobs/Container-Scanning.gitlab-ci.yml\n","yaml","",[105,117,118,131],{"__ignoreMap":115},[119,120,123,127],"span",{"class":121,"line":122},"line",1,[119,124,126],{"class":125},"shJU0","include",[119,128,130],{"class":129},"sgsFI",":\n",[119,132,134,137,140,143],{"class":121,"line":133},2,[119,135,136],{"class":129},"  - ",[119,138,139],{"class":125},"template",[119,141,142],{"class":129},": ",[119,144,146],{"class":145},"sYBdl","Jobs/Container-Scanning.gitlab-ci.yml\n",[65,148,149],{"id":149},"一般的な設定",[12,151,152],{},[71,153,154],{},"特定のイメージをスキャンする：",[12,156,157,158,161,162,165],{},"特定のイメージをスキャンするには、",[105,159,160],{},"container_scanning"," ジョブの ",[105,163,164],{},"CS_IMAGE"," 変数を上書きします。",[110,167,169],{"className":112,"code":168,"language":114,"meta":115,"style":115},"include:\n  - template: Jobs/Container-Scanning.gitlab-ci.yml\n\ncontainer_scanning:\n  variables:\n    CS_IMAGE: myregistry.com/myapp:latest\n",[105,170,171,177,187,194,201,209],{"__ignoreMap":115},[119,172,173,175],{"class":121,"line":122},[119,174,126],{"class":125},[119,176,130],{"class":129},[119,178,179,181,183,185],{"class":121,"line":133},[119,180,136],{"class":129},[119,182,139],{"class":125},[119,184,142],{"class":129},[119,186,146],{"class":145},[119,188,190],{"class":121,"line":189},3,[119,191,193],{"emptyLinePlaceholder":192},true,"\n",[119,195,197,199],{"class":121,"line":196},4,[119,198,160],{"class":125},[119,200,130],{"class":129},[119,202,204,207],{"class":121,"line":203},5,[119,205,206],{"class":125},"  variables",[119,208,130],{"class":129},[119,210,212,215,217],{"class":121,"line":211},6,[119,213,214],{"class":125},"    CS_IMAGE",[119,216,142],{"class":129},[119,218,219],{"class":145},"myregistry.com/myapp:latest\n",[12,221,222],{},[71,223,224],{},"重大度のしきい値でフィルタリングする：",[12,226,227,228,161,230,233,234,237],{},"特定の重大度基準を持つ脆弱性のみを検出するには、",[105,229,160],{},[105,231,232],{},"CS_SEVERITY_THRESHOLD"," 変数を上書きします。以下の例では、重大度が ",[71,235,236],{},"High"," 以上の脆弱性のみが表示されます。",[110,239,241],{"className":112,"code":240,"language":114,"meta":115,"style":115},"include:\n  - template: Jobs/Container-Scanning.gitlab-ci.yml\n\ncontainer_scanning:\n  variables:\n    CS_SEVERITY_THRESHOLD: \"HIGH\"\n",[105,242,243,249,259,263,269,275],{"__ignoreMap":115},[119,244,245,247],{"class":121,"line":122},[119,246,126],{"class":125},[119,248,130],{"class":129},[119,250,251,253,255,257],{"class":121,"line":133},[119,252,136],{"class":129},[119,254,139],{"class":125},[119,256,142],{"class":129},[119,258,146],{"class":145},[119,260,261],{"class":121,"line":189},[119,262,193],{"emptyLinePlaceholder":192},[119,264,265,267],{"class":121,"line":196},[119,266,160],{"class":125},[119,268,130],{"class":129},[119,270,271,273],{"class":121,"line":203},[119,272,206],{"class":125},[119,274,130],{"class":129},[119,276,277,280,282],{"class":121,"line":211},[119,278,279],{"class":125},"    CS_SEVERITY_THRESHOLD",[119,281,142],{"class":129},[119,283,284],{"class":145},"\"HIGH\"\n",[65,286,287],{"id":287},"マージリクエストでの脆弱性の確認",[12,289,290,291,296],{},"マージリクエスト内でコンテナスキャンの脆弱性を直接確認することで、セキュリティレビューをシームレスかつ効率的に実施できます。CI/CDパイプラインにコンテナスキャンを設定すると、GitLab はマージリクエストの",[56,292,295],{"href":293,"rel":294},"https://docs.gitlab.com/ja-jp/user/project/merge_requests/widgets/#application-security-scanning",[],"セキュリティウィジェット","に検出された脆弱性を自動的に表示します。",[12,298,299],{},[300,301],"img",{"alt":302,"src":303,"title":302},"マージリクエストに表示されたコンテナスキャンの脆弱性","https://res.cloudinary.com/about-gitlab-com/image/upload/v1772547514/lt6elcq6jexdhqatdy8l.png",[41,305,306,309],{},[44,307,308],{},"マージリクエストの「セキュリティスキャン」セクションまでスクロールすると、コンテナイメージで新たに検出された脆弱性と既存の脆弱性の概要が確認できます。",[44,310,311,314],{},[71,312,313],{},"脆弱性"," をクリックすると、重大度レベル、影響を受けるパッケージ、利用可能な修正ガイダンスなど、検出内容の詳細情報にアクセスできます。",[12,316,317],{},[300,318],{"alt":319,"src":320},"GitLab セキュリティ - MRでの詳細表示","https://res.cloudinary.com/about-gitlab-com/image/upload/v1772547514/hplihdlekc11uvpfih1p.png",[12,322,323],{},[300,324],{"alt":319,"src":325,"title":326},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772547513/jnxbe7uld8wfeezboifs.png","MRでのコンテナスキャン脆弱性の詳細",[12,328,329],{},"この可視性により、開発者とセキュリティチームはコンテナの脆弱性が本番環境に到達する前に発見・対処できるようになり、セキュリティがコードレビュープロセスに統合されます。",[65,331,332],{"id":332},"脆弱性レポートでの脆弱性の確認",[12,334,335,336,341],{},"マージリクエストのレビューに加え、GitLab はプロジェクト内のすべてのコンテナスキャン結果を一元的に確認できる",[56,337,340],{"href":338,"rel":339},"https://docs.gitlab.com/ja-jp/user/application_security/vulnerability_report/",[],"脆弱性レポート","を提供しており、セキュリティチームに包括的な可視性をもたらします。",[12,343,344],{},[300,345],{"alt":346,"src":347,"title":346},"コンテナスキャンでフィルタリングされた脆弱性レポート","https://res.cloudinary.com/about-gitlab-com/image/upload/v1772547524/gagau279fzfgjpnvipm5.png",[41,349,350,357,360],{},[44,351,352,353,356],{},"プロジェクトのサイドバーで ",[71,354,355],{},"セキュリティとコンプライアンス > 脆弱性レポート"," に移動してレポートにアクセスします。",[44,358,359],{},"ここでは、ブランチ全体で検出されたすべてのコンテナ脆弱性が集約されて表示され、重大度、ステータス、スキャナーの種類、特定のコンテナイメージでフィルタリングする強力なオプションが利用できます。",[44,361,362],{},"脆弱性をクリックすると、脆弱性ページにアクセスできます。",[12,364,365],{},[300,366],{"alt":367,"src":368},"脆弱性ページ - 1番目のビュー","https://res.cloudinary.com/about-gitlab-com/image/upload/v1772547520/e1woxupyoajhrpzrlylj.png",[12,370,371],{},[300,372],{"alt":373,"src":374},"脆弱性ページ - 2番目のビュー","https://res.cloudinary.com/about-gitlab-com/image/upload/v1772547521/idzcftcgjc8eryixnbjn.png",[12,376,377],{},[300,378],{"alt":379,"src":380,"title":381},"脆弱性ページ - 3番目のビュー","https://res.cloudinary.com/about-gitlab-com/image/upload/v1772547522/mbbwbbprtf9anqqola10.png","コンテナスキャン脆弱性の詳細",[12,383,384,389],{},[56,385,388],{"href":386,"rel":387},"https://docs.gitlab.com/ja-jp/user/application_security/vulnerabilities/",[],"脆弱性の詳細","では、影響を受けるコンテナイメージとレイヤーが正確に示されるため、脆弱性の発生源を容易に追跡できます。脆弱性をチームメンバーに割り当て、ステータスを変更（検出済み、確認済み、解決済み、却下済み）し、コラボレーションのためのコメントを追加し、修正作業の追跡のために関連するイシューをリンクすることができます。",[12,391,392],{},"このワークフローにより、脆弱性管理がスプレッドシートによる管理から開発プロセスの一部へと変わり、コンテナセキュリティの検出結果が体系的に追跡・優先順位付け・解決されるようになります。",[65,394,395],{"id":395},"依存関係リストの確認",[12,397,398,399,404],{},"GitLab の",[56,400,403],{"href":401,"rel":402},"https://docs.gitlab.com/ja-jp/user/application_security/dependency_list/",[],"依存関係リスト","は、コンテナイメージ内のすべてのコンポーネントをカタログ化した包括的なソフトウェア部品表（SBOM）を提供し、ソフトウェアサプライチェーンの完全な透明性をもたらします。",[41,406,407,413],{},[44,408,409,412],{},[71,410,411],{},"セキュリティとコンプライアンス > 依存関係リスト"," に移動すると、プロジェクト全体でコンテナスキャンが検出したすべてのパッケージ、ライブラリ、依存関係のインベントリにアクセスできます。",[44,414,415],{},"このビューは、ベースOSパッケージからアプリケーションレベルの依存関係まで、コンテナ内で実際に稼働しているものを把握するために非常に役立ちます。",[12,417,418],{},[300,419],{"alt":420,"src":421,"title":422},"GitLab 依存関係リスト","https://res.cloudinary.com/about-gitlab-com/image/upload/v1772547513/vjg6dk3nhajqamplroji.png","GitLab 依存関係リスト（SBOM）",[12,424,425],{},"パッケージマネージャー、ライセンスの種類、または脆弱性のステータスでリストをフィルタリングすることで、セキュリティリスクやコンプライアンス上の問題をもたらすコンポーネントを素早く特定できます。各依存関係エントリには関連する脆弱性が表示されるため、単独の検出結果としてではなく、実際のソフトウェアコンポーネントのコンテキストでセキュリティの問題を把握できます。",[36,427,429],{"id":428},"_2-レジストリ向けコンテナスキャン","2. レジストリ向けコンテナスキャン",[41,431,432,439,442,445],{},[44,433,434,435,438],{},"機能：",[105,436,437],{},"latest"," タグで GitLab コンテナレジストリにプッシュされたイメージを自動的にスキャンします。",[44,440,441],{},"最適な用途：手動のパイプラインを実行することなく、レジストリイメージの継続的なモニタリングを実施",[44,443,444],{},"利用可能なプラン：Ultimate のみ",[44,446,447],{},[56,448,60],{"href":449,"rel":450},"https://docs.gitlab.com/ja-jp/user/application_security/container_scanning/#container-scanning-for-registry",[],[12,452,453,455],{},[105,454,437],{}," タグが付いたコンテナイメージをプッシュすると、GitLab のセキュリティポリシーボットがデフォルトブランチに対してスキャンを自動的にトリガーします。パイプラインベースのスキャンとは異なり、このアプローチは継続的脆弱性スキャンと連携して、新たに公開されたアドバイザリーを監視します。",[65,457,458],{"id":458},"レジストリ向けコンテナスキャンを有効にする方法",[460,461,462,466,472],"ol",{},[44,463,464,82],{},[71,465,81],{},[44,467,468,471],{},[71,469,470],{},"レジストリ向けコンテナスキャン"," セクションまでスクロールします。",[44,473,474],{},"機能をオンに切り替えます。",[12,476,477],{},[300,478],{"alt":470,"src":479,"title":480},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772547512/vntrlhtmsh1ecnwni5ji.png","レジストリ向けコンテナスキャンの切り替えスイッチ",[65,482,483],{"id":483},"前提条件",[41,485,486,489,492,495],{},[44,487,488],{},"プロジェクトのメンテナーロール以上",[44,490,491],{},"プロジェクトが空でないこと（デフォルトブランチに少なくとも1つのコミットが必要）",[44,493,494],{},"コンテナレジストリの通知が設定済みであること",[44,496,497],{},"パッケージメタデータデータベースが設定済みであること（GitLab.com ではデフォルトで有効）",[12,499,500,501,504],{},"脆弱性は脆弱性レポートの ",[71,502,503],{},"コンテナレジストリの脆弱性"," タブに表示されます。",[36,506,508],{"id":507},"_3-マルチコンテナスキャン","3. マルチコンテナスキャン",[41,510,511,514,517,520],{},[44,512,513],{},"機能：単一のパイプライン内で複数のコンテナイメージを並行してスキャンします。",[44,515,516],{},"最適な用途：マイクロサービスアーキテクチャや複数のコンテナイメージを持つプロジェクト",[44,518,519],{},"利用可能なプラン：Free、Premium、Ultimate（現在ベータ版）",[44,521,522],{},[56,523,60],{"href":524,"rel":525},"https://docs.gitlab.com/ja-jp/user/application_security/container_scanning/multi_container_scanning/",[],[12,527,528],{},"マルチコンテナスキャンは動的な子パイプラインを使用してスキャンを並行実行するため、複数のイメージをスキャンする際のパイプライン全体の実行時間を大幅に短縮できます。",[65,530,531],{"id":531},"マルチコンテナスキャンを有効にする方法",[460,533,534],{},[44,535,536,537,540],{},"リポジトリのルートに ",[105,538,539],{},".gitlab-multi-image.yml"," ファイルを作成します。",[110,542,544],{"className":112,"code":543,"language":114,"meta":115,"style":115},"scanTargets:\n  - name: alpine\n    tag: \"3.19\"\n  - name: python\n    tag: \"3.9-slim\"\n  - name: nginx\n    tag: \"1.25\"\n",[105,545,546,553,565,575,586,595,606],{"__ignoreMap":115},[119,547,548,551],{"class":121,"line":122},[119,549,550],{"class":125},"scanTargets",[119,552,130],{"class":129},[119,554,555,557,560,562],{"class":121,"line":133},[119,556,136],{"class":129},[119,558,559],{"class":125},"name",[119,561,142],{"class":129},[119,563,564],{"class":145},"alpine\n",[119,566,567,570,572],{"class":121,"line":189},[119,568,569],{"class":125},"    tag",[119,571,142],{"class":129},[119,573,574],{"class":145},"\"3.19\"\n",[119,576,577,579,581,583],{"class":121,"line":196},[119,578,136],{"class":129},[119,580,559],{"class":125},[119,582,142],{"class":129},[119,584,585],{"class":145},"python\n",[119,587,588,590,592],{"class":121,"line":203},[119,589,569],{"class":125},[119,591,142],{"class":129},[119,593,594],{"class":145},"\"3.9-slim\"\n",[119,596,597,599,601,603],{"class":121,"line":211},[119,598,136],{"class":129},[119,600,559],{"class":125},[119,602,142],{"class":129},[119,604,605],{"class":145},"nginx\n",[119,607,609,611,613],{"class":121,"line":608},7,[119,610,569],{"class":125},[119,612,142],{"class":129},[119,614,615],{"class":145},"\"1.25\"\n",[460,617,618],{"start":133},[44,619,620,622],{},[105,621,107],{}," にテンプレートを追加します。",[110,624,626],{"className":112,"code":625,"language":114,"meta":115,"style":115},"include:\n  - template: Jobs/Multi-Container-Scanning.latest.gitlab-ci.yml\n",[105,627,628,634],{"__ignoreMap":115},[119,629,630,632],{"class":121,"line":122},[119,631,126],{"class":125},[119,633,130],{"class":129},[119,635,636,638,640,642],{"class":121,"line":133},[119,637,136],{"class":129},[119,639,139],{"class":125},[119,641,142],{"class":129},[119,643,644],{"class":145},"Jobs/Multi-Container-Scanning.latest.gitlab-ci.yml\n",[65,646,647],{"id":647},"詳細設定",[12,649,650],{},[71,651,652],{},"プライベートレジストリからイメージをスキャンする：",[110,654,656],{"className":112,"code":655,"language":114,"meta":115,"style":115},"auths:\n  registry.gitlab.com:\n    username: ${CI_REGISTRY_USER}\n    password: ${CI_REGISTRY_PASSWORD}\n\nscanTargets:\n  - name: registry.gitlab.com/private/image\n    tag: latest\n",[105,657,658,665,672,682,692,696,702,713],{"__ignoreMap":115},[119,659,660,663],{"class":121,"line":122},[119,661,662],{"class":125},"auths",[119,664,130],{"class":129},[119,666,667,670],{"class":121,"line":133},[119,668,669],{"class":125},"  registry.gitlab.com",[119,671,130],{"class":129},[119,673,674,677,679],{"class":121,"line":189},[119,675,676],{"class":125},"    username",[119,678,142],{"class":129},[119,680,681],{"class":145},"${CI_REGISTRY_USER}\n",[119,683,684,687,689],{"class":121,"line":196},[119,685,686],{"class":125},"    password",[119,688,142],{"class":129},[119,690,691],{"class":145},"${CI_REGISTRY_PASSWORD}\n",[119,693,694],{"class":121,"line":203},[119,695,193],{"emptyLinePlaceholder":192},[119,697,698,700],{"class":121,"line":211},[119,699,550],{"class":125},[119,701,130],{"class":129},[119,703,704,706,708,710],{"class":121,"line":608},[119,705,136],{"class":129},[119,707,559],{"class":125},[119,709,142],{"class":129},[119,711,712],{"class":145},"registry.gitlab.com/private/image\n",[119,714,716,718,720],{"class":121,"line":715},8,[119,717,569],{"class":125},[119,719,142],{"class":129},[119,721,722],{"class":145},"latest\n",[12,724,725],{},[71,726,727],{},"ライセンス情報を含める：",[110,729,731],{"className":112,"code":730,"language":114,"meta":115,"style":115},"includeLicenses: true\n\nscanTargets:\n  - name: postgres\n    tag: \"15-alpine\"\n",[105,732,733,744,748,754,765],{"__ignoreMap":115},[119,734,735,738,740],{"class":121,"line":122},[119,736,737],{"class":125},"includeLicenses",[119,739,142],{"class":129},[119,741,743],{"class":742},"sYu0t","true\n",[119,745,746],{"class":121,"line":133},[119,747,193],{"emptyLinePlaceholder":192},[119,749,750,752],{"class":121,"line":189},[119,751,550],{"class":125},[119,753,130],{"class":129},[119,755,756,758,760,762],{"class":121,"line":196},[119,757,136],{"class":129},[119,759,559],{"class":125},[119,761,142],{"class":129},[119,763,764],{"class":145},"postgres\n",[119,766,767,769,771],{"class":121,"line":203},[119,768,569],{"class":125},[119,770,142],{"class":129},[119,772,773],{"class":145},"\"15-alpine\"\n",[36,775,777],{"id":776},"_4-継続的脆弱性スキャン","4. 継続的脆弱性スキャン",[41,779,780,783,786,788],{},[44,781,782],{},"機能：パイプラインを実行することなく、新しいセキュリティアドバイザリーが公開された際に自動的に脆弱性を作成します。",[44,784,785],{},"最適な用途：デプロイ間のプロアクティブなセキュリティモニタリング",[44,787,444],{},[44,789,790],{},[56,791,60],{"href":792,"rel":793},"https://docs.gitlab.com/ja-jp/user/application_security/continuous_vulnerability_scanning/",[],[12,795,796],{},"従来のスキャンは、スキャン実行時の脆弱性しか検出できません。しかし、昨日スキャンしたパッケージに対して、明日新しい CVE が公開された場合はどうなるでしょうか。継続的脆弱性スキャンは、GitLab アドバイザリーデータベースを監視し、新しいアドバイザリーがコンポーネントに影響を与える際に自動的に脆弱性レコードを作成することでこの課題を解決します。",[65,798,799],{"id":799},"仕組み",[460,801,802,805,808,811],{},[44,803,804],{},"コンテナスキャンまたは依存関係スキャンジョブが CycloneDX SBOM を生成します。",[44,806,807],{},"GitLab はこの SBOM からプロジェクトのコンポーネントを登録します。",[44,809,810],{},"新しいアドバイザリーが公開されると、GitLab はコンポーネントが影響を受けるかどうかを確認します。",[44,812,813],{},"脆弱性レポートに脆弱性が自動的に作成されます。",[65,815,816],{"id":816},"重要な考慮事項",[41,818,819,822,825,828],{},[44,820,821],{},"スキャンは CI パイプラインではなく、バックグラウンドジョブ（Sidekiq）経由で実行されます。",[44,823,824],{},"新しいコンポーネント検出には、過去14日以内に公開されたアドバイザリーのみが対象となります。",[44,826,827],{},"脆弱性では「GitLab SBoM Vulnerability Scanner」がスキャナー名として使用されます。",[44,829,830],{},"脆弱性を解決済みとしてマークするには、引き続きパイプラインベースのスキャンを実行する必要があります。",[36,832,834],{"id":833},"_5-運用コンテナスキャン","5. 運用コンテナスキャン",[41,836,837,840,843,845],{},[44,838,839],{},"機能：スケジュールされた間隔で Kubernetes クラスター内の稼働中のコンテナをスキャンします。",[44,841,842],{},"最適な用途：デプロイ後のセキュリティモニタリングとランタイム脆弱性の検出",[44,844,444],{},[44,846,847],{},[56,848,60],{"href":849,"rel":850},"https://docs.gitlab.com/ja-jp/user/clusters/agent/vulnerabilities/",[],[12,852,853],{},"運用コンテナスキャンは、ビルド時のセキュリティとランタイムセキュリティの間のギャップを埋めます。GitLab Agent for Kubernetes を使用して、クラスター内で実際に稼働しているコンテナをスキャンし、デプロイ後に発生する脆弱性を検出します。",[65,855,856],{"id":856},"運用コンテナスキャンを有効にする方法",[12,858,859,864],{},[56,860,863],{"href":861,"rel":862},"https://docs.gitlab.com/ja-jp/user/clusters/agent/install/",[],"GitLab Kubernetes Agent"," を使用している場合、エージェント設定ファイルに以下を追加できます。",[110,866,868],{"className":112,"code":867,"language":114,"meta":115,"style":115},"container_scanning:\n  cadence: '0 0 * * *'  # 毎日深夜0時\n  vulnerability_report:\n    namespaces:\n      include:\n        - production\n        - staging\n",[105,869,870,876,890,897,904,911,919],{"__ignoreMap":115},[119,871,872,874],{"class":121,"line":122},[119,873,160],{"class":125},[119,875,130],{"class":129},[119,877,878,881,883,886],{"class":121,"line":133},[119,879,880],{"class":125},"  cadence",[119,882,142],{"class":129},[119,884,885],{"class":145},"'0 0 * * *'",[119,887,889],{"class":888},"sAwPA","  # 毎日深夜0時\n",[119,891,892,895],{"class":121,"line":189},[119,893,894],{"class":125},"  vulnerability_report",[119,896,130],{"class":129},[119,898,899,902],{"class":121,"line":196},[119,900,901],{"class":125},"    namespaces",[119,903,130],{"class":129},[119,905,906,909],{"class":121,"line":203},[119,907,908],{"class":125},"      include",[119,910,130],{"class":129},[119,912,913,916],{"class":121,"line":211},[119,914,915],{"class":129},"        - ",[119,917,918],{"class":145},"production\n",[119,920,921,923],{"class":121,"line":608},[119,922,915],{"class":129},[119,924,925],{"class":145},"staging\n",[12,927,928,929,934],{},"また、GitLab Kubernetes Agent によるスケジュールスキャンを強制する",[56,930,933],{"href":931,"rel":932},"https://docs.gitlab.com/ja-jp/user/clusters/agent/vulnerabilities/#enable-via-scan-execution-policies",[],"スキャン実行ポリシー","を作成することもできます。",[12,936,937],{},[300,938],{"alt":939,"src":940,"title":941},"スキャン実行ポリシー - 運用コンテナスキャン","https://res.cloudinary.com/about-gitlab-com/image/upload/v1772547515/gsgvjcq4sas4dfc8ciqk.png","運用コンテナスキャンのスキャン実行ポリシー条件",[65,943,944],{"id":944},"結果の確認",[41,946,947,952,958,964],{},[44,948,949,82],{},[71,950,951],{},"運用 > Kubernetes クラスター",[44,953,954,957],{},[71,955,956],{},"エージェント"," タブを選択し、エージェントを選択します。",[44,959,960,963],{},[71,961,962],{},"セキュリティ"," タブを選択してクラスターの脆弱性を確認します。",[44,965,966,967,969,970,973],{},"結果は ",[71,968,340],{}," の ",[71,971,972],{},"運用上の脆弱性"," タブにも表示されます。",[19,975,977],{"id":976},"gitlab-セキュリティポリシーによるセキュリティ態勢の強化","GitLab セキュリティポリシーによるセキュリティ態勢の強化",[12,979,980],{},"GitLab セキュリティポリシーを使用すると、自動化されたポリシー駆動型のコントロールを通じて、コンテナワークフロー全体で一貫したセキュリティ標準を適用できます。これらのポリシーは、要件を開発パイプラインに直接組み込むことでセキュリティをシフトレフトし、コードが本番環境に到達する前に脆弱性を検出・対処できるようにします。",[65,982,983],{"id":983},"スキャン実行ポリシーとパイプラインポリシー",[12,985,986,990],{},[56,987,933],{"href":988,"rel":989},"https://docs.gitlab.com/ja-jp/user/application_security/policies/scan_execution_policies/",[],"は、プロジェクト全体でコンテナスキャンがいつ・どのように実行されるかを自動化します。すべてのマージリクエストでコンテナスキャンをトリガーし、メインブランチの定期的なスキャンをスケジュールするポリシーなどを定義できます。これらのポリシーにより、各プロジェクトの CI/CD パイプラインで手動でスキャンを設定することなく、包括的なカバレッジが確保されます。",[12,992,993],{},"使用するスキャナーのバージョンを指定し、スキャンパラメーターを一元的に設定することで、新しいコンテナセキュリティの脅威に対応しながら組織全体の一貫性を維持できます。",[12,995,996],{},[300,997],{"alt":998,"src":999,"title":998},"スキャン実行ポリシーの設定","https://res.cloudinary.com/about-gitlab-com/image/upload/v1772547517/z36dntxslqem9udrynvx.png",[12,1001,1002,1007],{},[56,1003,1006],{"href":1004,"rel":1005},"https://docs.gitlab.com/ja-jp/user/application_security/policies/pipeline_execution_policies/",[],"パイプライン実行ポリシー","は、コンプライアンス要件に基づいてパイプラインにカスタムジョブを注入（または上書き）するための柔軟なコントロールを提供します。",[12,1009,1010],{},"これらのポリシーを使用して、コンテナスキャンジョブをパイプラインに自動的に注入したり、コンテナの脆弱性がリスク許容度を超えた場合にビルドを失敗させたり、特定のブランチやタグに対して追加のセキュリティチェックをトリガーしたり、本番環境向けコンテナイメージのコンプライアンス要件を適用したりすることができます。パイプライン実行ポリシーは自動化されたガードレールとして機能し、手動操作なしですべてのコンテナデプロイメントにセキュリティ標準が一貫して適用されるようにします。",[12,1012,1013],{},[300,1014],{"alt":1006,"src":1015,"title":1016},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772547517/ddhhugzcr2swptgodof2.png","パイプライン実行ポリシーのアクション",[65,1018,1019],{"id":1019},"マージリクエスト承認ポリシー",[12,1021,1022,1026],{},[56,1023,1019],{"href":1024,"rel":1025},"https://docs.gitlab.com/ja-jp/user/application_security/policies/merge_request_approval_policies/",[],"は、コンテナの脆弱性を含むマージリクエストを指定された承認者がレビューし、承認することを要求することでセキュリティゲートを適用します。",[12,1028,1029],{},"重大度の高い脆弱性が検出された場合にマージをブロックするポリシーや、新しいコンテナの検出結果を導入するマージリクエストにセキュリティチームの承認を要求するポリシーを設定できます。これらのポリシーにより、低リスクな変更の開発速度を維持しながら、脆弱性のあるコンテナイメージがパイプラインを通じて進むことを防ぎます。",[12,1031,1032],{},[300,1033],{"alt":1034,"src":1035,"title":1034},"MRでブロックを実行するマージリクエスト承認ポリシー","https://res.cloudinary.com/about-gitlab-com/image/upload/v1772547513/hgnbc1vl4ssqafqcyuzg.png",[19,1037,1038],{"id":1038},"適切なアプローチの選択",[1040,1041,1042,1058],"table",{},[1043,1044,1045],"thead",{},[1046,1047,1048,1052,1055],"tr",{},[1049,1050,1051],"th",{},"スキャンの種類",[1049,1053,1054],{},"使用するタイミング",[1049,1056,1057],{},"主なメリット",[1059,1060,1061,1073,1084,1095,1106],"tbody",{},[1046,1062,1063,1067,1070],{},[1064,1065,1066],"td",{},"パイプラインベース",[1064,1068,1069],{},"すべてのビルド時",[1064,1071,1072],{},"シフトレフトセキュリティ、脆弱なビルドをブロック",[1046,1074,1075,1078,1081],{},[1064,1076,1077],{},"レジストリスキャン",[1064,1079,1080],{},"継続的なモニタリング",[1064,1082,1083],{},"保存されたイメージの新しい CVE を検出",[1046,1085,1086,1089,1092],{},[1064,1087,1088],{},"マルチコンテナ",[1064,1090,1091],{},"マイクロサービス",[1064,1093,1094],{},"並行スキャン、パイプラインの高速化",[1046,1096,1097,1100,1103],{},[1064,1098,1099],{},"継続的脆弱性",[1064,1101,1102],{},"デプロイ間",[1064,1104,1105],{},"プロアクティブなアドバイザリーモニタリング",[1046,1107,1108,1111,1114],{},[1064,1109,1110],{},"運用",[1064,1112,1113],{},"本番環境のモニタリング",[1064,1115,1116],{},"ランタイム脆弱性の検出",[12,1118,1119],{},"包括的なセキュリティのためには、複数のアプローチを組み合わせることをお勧めします。開発中の問題を検出するためのパイプラインベースのスキャン、継続的なモニタリングのためのレジストリ向けコンテナスキャン、そして本番環境の可視性のための運用スキャンを組み合わせてご活用ください。",[19,1121,1122],{"id":1122},"今すぐ始める",[12,1124,1125],{},"コンテナセキュリティへの最短ルートは、パイプラインベースのスキャンを有効にすることです。",[460,1127,1128,1133,1139,1142],{},[44,1129,1130,1131,82],{},"プロジェクトの ",[71,1132,81],{},[44,1134,1135,1136,1138],{},"コンテナスキャンの ",[71,1137,90],{}," をクリックします。",[44,1140,1141],{},"作成されたマージリクエストをマージします。",[44,1143,1144],{},"次のパイプラインに脆弱性スキャンが含まれるようになります。",[12,1146,1147],{},"その後、セキュリティ要件と GitLab のプランに応じて、追加のスキャンの種類を段階的に導入してください。",[12,1149,1150],{},"コンテナセキュリティは一度実施すれば完了するものではなく、継続的なプロセスです。\nGitLab の包括的なコンテナスキャン機能を活用することで、ビルドからランタイムまでコンテナライフサイクルのあらゆる段階で脆弱性を検出できます。",[1152,1153,1154],"blockquote",{},[12,1155,1156,1157,1162],{},"GitLab がセキュリティ態勢の強化にどのように役立つかについての詳細は、",[56,1158,1161],{"href":1159,"rel":1160},"https://about.gitlab.com/solutions/application-security-testing/",[],"GitLab セキュリティ & ガバナンス ソリューションページ","をご覧ください。",[1164,1165,1166],"style",{},"html pre.shiki code .shJU0, html code.shiki .shJU0{--shiki-default:#22863A}html pre.shiki code .sgsFI, html code.shiki .sgsFI{--shiki-default:#24292E}html pre.shiki code .sYBdl, html code.shiki .sYBdl{--shiki-default:#032F62}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html pre.shiki code .sYu0t, html code.shiki .sYu0t{--shiki-default:#005CC5}html pre.shiki code .sAwPA, html code.shiki .sAwPA{--shiki-default:#6A737D}",{"title":115,"searchDepth":133,"depth":133,"links":1168},[1169,1170,1177,1178,1179],{"id":21,"depth":133,"text":21},{"id":30,"depth":133,"text":31,"children":1171},[1172,1173,1174,1175,1176],{"id":38,"depth":189,"text":39},{"id":428,"depth":189,"text":429},{"id":507,"depth":189,"text":508},{"id":776,"depth":189,"text":777},{"id":833,"depth":189,"text":834},{"id":976,"depth":133,"text":977},{"id":1038,"depth":133,"text":1038},{"id":1122,"depth":133,"text":1122},"security","2026-03-05","GitLab のさまざまなコンテナスキャン方法を詳しく解説し、コンテナライフサイクルの各段階でセキュリティを確保する方法をご紹介します。","md",null,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772721753/frfsm1qfscwrmsyzj1qn.png",{},"/ja-jp/blog/complete-guide-to-gitlab-container-scanning",{"config":1189,"title":5,"description":1182,"ogTitle":5},{"noIndex":1190},false,"complete-guide-to-gitlab-container-scanning","ja-jp/blog/complete-guide-to-gitlab-container-scanning",[1180,1194],"tutorial","BlogPost","2026-03-09","_9Imw3ANgrUDEH_2TY02y5h7nr7SC6zZ2yWxiEo40LE",{"logo":1199,"freeTrial":1204,"sales":1209,"login":1214,"items":1219,"search":1547,"minimal":1580,"duo":1597,"switchNav":1606,"pricingDeployment":1617},{"config":1200},{"href":1201,"dataGaName":1202,"dataGaLocation":1203},"/ja-jp/","gitlab logo","header",{"text":1205,"config":1206},"無料トライアルを開始",{"href":1207,"dataGaName":1208,"dataGaLocation":1203},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/ja-jp&glm_content=default-saas-trial/","free trial",{"text":1210,"config":1211},"デモをリクエスト",{"href":1212,"dataGaName":1213,"dataGaLocation":1203},"/ja-jp/sales/?contact-topic=request-demo","sales",{"text":1215,"config":1216},"サインイン",{"href":1217,"dataGaName":1218,"dataGaLocation":1203},"https://gitlab.com/users/sign_in/","sign in",[1220,1249,1350,1355,1469,1525],{"text":1221,"config":1222,"menu":1224},"プラットフォーム",{"dataNavLevelOne":1223},"platform",{"type":1225,"columns":1226},"cards",[1227,1233,1241],{"title":1221,"description":1228,"link":1229},"DevSecOpsに特化したインテリジェントオーケストレーションプラットフォーム",{"text":1230,"config":1231},"プラットフォームの詳細はこちら",{"href":1232,"dataGaName":1223,"dataGaLocation":1203},"/ja-jp/platform/",{"title":1234,"description":1235,"link":1236},"GitLab Duo Agent Platform","ソフトウェアライフサイクル全体を支えるエージェント型AI",{"text":1237,"config":1238},"GitLab Duoのご紹介",{"href":1239,"dataGaName":1240,"dataGaLocation":1203},"/ja-jp/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":1242,"description":1243,"link":1244},"GitLabが選ばれる理由","エンタープライズがGitLabを選ぶ主な理由をご覧ください",{"text":1245,"config":1246},"詳細はこちら",{"href":1247,"dataGaName":1248,"dataGaLocation":1203},"/ja-jp/why-gitlab/","why gitlab",{"text":1250,"left":192,"config":1251,"menu":1253},"製品",{"dataNavLevelOne":1252},"solutions",{"type":1254,"link":1255,"columns":1259,"feature":1329},"lists",{"text":1256,"config":1257},"すべてのソリューションを表示",{"href":1258,"dataGaName":1252,"dataGaLocation":1203},"/ja-jp/solutions/",[1260,1285,1307],{"title":1261,"description":1262,"link":1263,"items":1268},"自動化","CI/CDと自動化でデプロイを加速",{"config":1264},{"icon":1265,"href":1266,"dataGaName":1267,"dataGaLocation":1203},"AutomatedCodeAlt","/ja-jp/solutions/delivery-automation/","automated software delivery",[1269,1273,1276,1281],{"text":1270,"config":1271},"CI/CD",{"href":1272,"dataGaLocation":1203,"dataGaName":1270},"/ja-jp/solutions/continuous-integration/",{"text":1234,"config":1274},{"href":1239,"dataGaLocation":1203,"dataGaName":1275},"gitlab duo agent platform - product menu",{"text":1277,"config":1278},"ソースコード管理",{"href":1279,"dataGaLocation":1203,"dataGaName":1280},"/ja-jp/solutions/source-code-management/","Source Code Management",{"text":1282,"config":1283},"自動化されたソフトウェアデリバリー",{"href":1266,"dataGaLocation":1203,"dataGaName":1284},"Automated software delivery",{"title":962,"description":1286,"link":1287,"items":1292},"セキュリティを犠牲にすることなくコード作成を高速化",{"config":1288},{"href":1289,"dataGaName":1290,"dataGaLocation":1203,"icon":1291},"/ja-jp/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[1293,1297,1302],{"text":1294,"config":1295},"アプリケーションセキュリティテスト",{"href":1289,"dataGaName":1296,"dataGaLocation":1203},"Application security testing",{"text":1298,"config":1299},"ソフトウェアサプライチェーンセキュリティ",{"href":1300,"dataGaLocation":1203,"dataGaName":1301},"/ja-jp/solutions/supply-chain/","Software supply chain security",{"text":1303,"config":1304},"ソフトウェアコンプライアンス",{"href":1305,"dataGaName":1306,"dataGaLocation":1203},"/ja-jp/solutions/software-compliance/","software compliance",{"title":1308,"link":1309,"items":1314},"測定",{"config":1310},{"icon":1311,"href":1312,"dataGaName":1313,"dataGaLocation":1203},"DigitalTransformation","/ja-jp/solutions/visibility-measurement/","visibility and measurement",[1315,1319,1324],{"text":1316,"config":1317},"可視性と測定",{"href":1312,"dataGaLocation":1203,"dataGaName":1318},"Visibility and Measurement",{"text":1320,"config":1321},"バリューストリーム管理",{"href":1322,"dataGaLocation":1203,"dataGaName":1323},"/ja-jp/solutions/value-stream-management/","Value Stream Management",{"text":1325,"config":1326},"分析とインサイト",{"href":1327,"dataGaLocation":1203,"dataGaName":1328},"/ja-jp/solutions/analytics-and-insights/","Analytics and insights",{"title":1330,"type":1254,"items":1331},"GitLabが活躍する場所",[1332,1338,1344],{"text":1333,"config":1334},"大企業",{"icon":1335,"href":1336,"dataGaLocation":1203,"dataGaName":1337},"Building","/ja-jp/enterprise/","enterprise",{"text":1339,"config":1340},"スモールビジネス",{"icon":1341,"href":1342,"dataGaLocation":1203,"dataGaName":1343},"Work","/ja-jp/small-business/","small business",{"text":1345,"config":1346},"公共部門",{"icon":1347,"href":1348,"dataGaLocation":1203,"dataGaName":1349},"Organization","/ja-jp/solutions/public-sector/","public sector",{"text":1351,"config":1352},"価格",{"href":1353,"dataGaName":1354,"dataGaLocation":1203,"dataNavLevelOne":1354},"/ja-jp/pricing/","pricing",{"text":1356,"config":1357,"menu":1359},"関連リソース",{"dataNavLevelOne":1358},"resources",{"type":1254,"link":1360,"columns":1364,"feature":1458},{"text":1361,"config":1362},"すべてのリソースを表示",{"href":1363,"dataGaName":1358,"dataGaLocation":1203},"/ja-jp/resources/",[1365,1398,1425],{"title":1366,"items":1367},"はじめに",[1368,1373,1378,1383,1388,1393],{"text":1369,"config":1370},"インストール",{"href":1371,"dataGaName":1372,"dataGaLocation":1203},"/ja-jp/install/","install",{"text":1374,"config":1375},"クイックスタートガイド",{"href":1376,"dataGaName":1377,"dataGaLocation":1203},"/ja-jp/get-started/","quick setup checklists",{"text":1379,"config":1380},"学ぶ",{"href":1381,"dataGaLocation":1203,"dataGaName":1382},"https://university.gitlab.com/","learn",{"text":1384,"config":1385},"製品ドキュメント",{"href":1386,"dataGaName":1387,"dataGaLocation":1203},"https://docs.gitlab.com/ja-jp/","product documentation",{"text":1389,"config":1390},"ベストプラクティスビデオ",{"href":1391,"dataGaName":1392,"dataGaLocation":1203},"/ja-jp/getting-started-videos/","best practice videos",{"text":1394,"config":1395},"インテグレーション",{"href":1396,"dataGaName":1397,"dataGaLocation":1203},"/ja-jp/integrations/","integrations",{"title":1399,"items":1400},"検索する",[1401,1406,1411,1416,1420],{"text":1402,"config":1403},"お客様成功事例",{"href":1404,"dataGaName":1405,"dataGaLocation":1203},"/ja-jp/customers/","customer success stories",{"text":1407,"config":1408},"ブログ",{"href":1409,"dataGaName":1410,"dataGaLocation":1203},"/ja-jp/blog/","blog",{"text":1412,"config":1413},"Demo Hub",{"href":1414,"dataGaName":1415,"dataGaLocation":1203},"/ja-jp/demo-hub/","demo hub",{"text":1417,"config":1418},"The Source",{"href":1419,"dataGaName":1410,"dataGaLocation":1203},"/ja-jp/the-source/",{"text":1421,"config":1422},"リモート",{"href":1423,"dataGaName":1424,"dataGaLocation":1203},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":1426,"items":1427},"つなげる",[1428,1433,1438,1443,1448,1453],{"text":1429,"config":1430},"GitLabサービス",{"href":1431,"dataGaName":1432,"dataGaLocation":1203},"/ja-jp/services/","services",{"text":1434,"config":1435},"コントリビュート",{"href":1436,"dataGaName":1437,"dataGaLocation":1203},"https://contributors.gitlab.com","contribute",{"text":1439,"config":1440},"コミュニティ",{"href":1441,"dataGaName":1442,"dataGaLocation":1203},"/community/","community",{"text":1444,"config":1445},"フォーラム",{"href":1446,"dataGaName":1447,"dataGaLocation":1203},"https://forum.gitlab.com/","forum",{"text":1449,"config":1450},"イベント",{"href":1451,"dataGaName":1452,"dataGaLocation":1203},"/events/","events",{"text":1454,"config":1455},"パートナー",{"href":1456,"dataGaName":1457,"dataGaLocation":1203},"/ja-jp/partners/","partners",{"config":1459,"title":1462,"text":1463,"link":1464},{"background":1460,"textColor":1461},"url('https://res.cloudinary.com/about-gitlab-com/image/upload/v1777322348/qpq8yrgn8knii57omj0c.png')","#000","GitLabの最新情報","最新の機能と改善点に関する情報をお届けします。",{"text":1465,"config":1466},"最新情報を読む",{"href":1467,"dataGaName":1468,"dataGaLocation":1203},"/ja-jp/whats-new/","whats new",{"text":1470,"config":1471,"menu":1473},"企業情報",{"dataNavLevelOne":1472},"company",{"type":1254,"columns":1474},[1475],{"items":1476},[1477,1482,1488,1490,1495,1500,1505,1510,1515,1520],{"text":1478,"config":1479},"GitLabについて",{"href":1480,"dataGaName":1481,"dataGaLocation":1203},"/ja-jp/company/","about",{"text":1483,"config":1484,"footerGa":1487},"採用情報",{"href":1485,"dataGaName":1486,"dataGaLocation":1203},"/jobs/","jobs",{"dataGaName":1486},{"text":1449,"config":1489},{"href":1451,"dataGaName":1452,"dataGaLocation":1203},{"text":1491,"config":1492},"経営陣",{"href":1493,"dataGaName":1494,"dataGaLocation":1203},"/company/team/e-group/","leadership",{"text":1496,"config":1497},"ハンドブック",{"href":1498,"dataGaName":1499,"dataGaLocation":1203},"https://handbook.gitlab.com/","handbook",{"text":1501,"config":1502},"投資家向け情報",{"href":1503,"dataGaName":1504,"dataGaLocation":1203},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":1506,"config":1507},"トラストセンター",{"href":1508,"dataGaName":1509,"dataGaLocation":1203},"/ja-jp/security/","trust center",{"text":1511,"config":1512},"AI Transparency Center",{"href":1513,"dataGaName":1514,"dataGaLocation":1203},"/ja-jp/ai-transparency-center/","ai transparency center",{"text":1516,"config":1517},"ニュースレター",{"href":1518,"dataGaName":1519,"dataGaLocation":1203},"/company/contact/#contact-forms","newsletter",{"text":1521,"config":1522},"プレス",{"href":1523,"dataGaName":1524,"dataGaLocation":1203},"/press/","press",{"text":1526,"config":1527,"menu":1528},"お問い合わせ",{"dataNavLevelOne":1472},{"type":1254,"columns":1529},[1530],{"items":1531},[1532,1537,1542],{"text":1533,"config":1534},"お問い合わせはこちら",{"href":1535,"dataGaName":1536,"dataGaLocation":1203},"/ja-jp/sales/","talk to sales",{"text":1538,"config":1539},"サポートを受ける",{"href":1540,"dataGaName":1541,"dataGaLocation":1203},"https://support.gitlab.com/hc/en-us","support portal",{"text":1543,"config":1544},"カスタマーポータル",{"href":1545,"dataGaName":1546,"dataGaLocation":1203},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":1548,"login":1549,"suggestions":1556},"閉じる",{"text":1550,"link":1551},"リポジトリとプロジェクトを検索するには、次にログインします",{"text":1552,"config":1553},"GitLab.com",{"href":1217,"dataGaName":1554,"dataGaLocation":1555},"search login","search",{"text":1557,"default":1558},"提案",[1559,1561,1566,1568,1572,1576],{"text":1234,"config":1560},{"href":1239,"dataGaName":1234,"dataGaLocation":1555},{"text":1562,"config":1563},"コード提案（AI）",{"href":1564,"dataGaName":1565,"dataGaLocation":1555},"/ja-jp/solutions/code-suggestions/","Code Suggestions (AI)",{"text":1270,"config":1567},{"href":1272,"dataGaName":1270,"dataGaLocation":1555},{"text":1569,"config":1570},"GitLab on AWS",{"href":1571,"dataGaName":1569,"dataGaLocation":1555},"/ja-jp/partners/technology-partners/aws/",{"text":1573,"config":1574},"GitLab on Google Cloud",{"href":1575,"dataGaName":1573,"dataGaLocation":1555},"/ja-jp/partners/technology-partners/google-cloud-platform/",{"text":1577,"config":1578},"GitLabを選ぶ理由",{"href":1247,"dataGaName":1579,"dataGaLocation":1555},"Why GitLab?",{"freeTrial":1581,"mobileIcon":1585,"desktopIcon":1590,"secondaryButton":1593},{"text":1205,"config":1582},{"href":1583,"dataGaName":1208,"dataGaLocation":1584},"https://gitlab.com/-/trials/new/","nav",{"altText":1586,"config":1587},"GitLabアイコン",{"src":1588,"dataGaName":1589,"dataGaLocation":1584},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":1586,"config":1591},{"src":1592,"dataGaName":1589,"dataGaLocation":1584},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":1366,"config":1594},{"href":1595,"dataGaName":1596,"dataGaLocation":1584},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/ja-jp/get-started/","get started",{"freeTrial":1598,"mobileIcon":1602,"desktopIcon":1604},{"text":1599,"config":1600},"GitLab Duoの詳細について",{"href":1239,"dataGaName":1601,"dataGaLocation":1584},"gitlab duo",{"altText":1586,"config":1603},{"src":1588,"dataGaName":1589,"dataGaLocation":1584},{"altText":1586,"config":1605},{"src":1592,"dataGaName":1589,"dataGaLocation":1584},{"button":1607,"mobileIcon":1612,"desktopIcon":1614},{"text":1608,"config":1609},"/switch",{"href":1610,"dataGaName":1611,"dataGaLocation":1584},"#contact","switch",{"altText":1586,"config":1613},{"src":1588,"dataGaName":1589,"dataGaLocation":1584},{"altText":1586,"config":1615},{"src":1616,"dataGaName":1589,"dataGaLocation":1584},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":1618,"mobileIcon":1623,"desktopIcon":1625},{"text":1619,"config":1620},"料金ページに戻る",{"href":1353,"dataGaName":1621,"dataGaLocation":1584,"icon":1622},"back to pricing","GoBack",{"altText":1586,"config":1624},{"src":1588,"dataGaName":1589,"dataGaLocation":1584},{"altText":1586,"config":1626},{"src":1592,"dataGaName":1589,"dataGaLocation":1584},{"title":1628,"button":1629,"config":1633},"GitLab Orbitが登場: AIエージェントのためのコンテキストレイヤー",{"text":1245,"config":1630},{"href":1631,"dataGaName":1632,"dataGaLocation":1203},"/ja-jp/gitlab-orbit/","orbit",{"layout":1634,"disabled":1190},"release",{"data":1636},{"text":1637,"source":1638,"edit":1644,"contribute":1649,"config":1654,"items":1659,"minimal":1868},"GitはSoftware Freedom Conservancyの商標です。当社は「GitLab」をライセンスに基づいて使用しています",{"text":1639,"config":1640},"ページのソースを表示",{"href":1641,"dataGaName":1642,"dataGaLocation":1643},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":1645,"config":1646},"このページを編集",{"href":1647,"dataGaName":1648,"dataGaLocation":1643},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":1650,"config":1651},"ご協力をお願いします",{"href":1652,"dataGaName":1653,"dataGaLocation":1643},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":1655,"facebook":1656,"youtube":1657,"linkedin":1658},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[1660,1705,1758,1801,1835],{"title":1351,"links":1661,"subMenu":1676},[1662,1666,1671],{"text":1663,"config":1664},"プランの表示",{"href":1353,"dataGaName":1665,"dataGaLocation":1643},"view plans",{"text":1667,"config":1668},"Premiumを選ぶ理由",{"href":1669,"dataGaName":1670,"dataGaLocation":1643},"/ja-jp/pricing/premium/","why premium",{"text":1672,"config":1673},"Ultimateを選ぶ理由",{"href":1674,"dataGaName":1675,"dataGaLocation":1643},"/ja-jp/pricing/ultimate/","why ultimate",[1677],{"title":1526,"links":1678},[1679,1681,1683,1685,1690,1695,1700],{"text":1526,"config":1680},{"href":1535,"dataGaName":1213,"dataGaLocation":1643},{"text":1538,"config":1682},{"href":1540,"dataGaName":1541,"dataGaLocation":1643},{"text":1543,"config":1684},{"href":1545,"dataGaName":1546,"dataGaLocation":1643},{"text":1686,"config":1687},"ステータス",{"href":1688,"dataGaName":1689,"dataGaLocation":1643},"https://status.gitlab.com/","status",{"text":1691,"config":1692},"利用規約",{"href":1693,"dataGaName":1694,"dataGaLocation":1643},"/terms/","terms of use",{"text":1696,"config":1697},"プライバシーに関する声明",{"href":1698,"dataGaName":1699,"dataGaLocation":1643},"/ja-jp/privacy/","privacy statement",{"text":1701,"config":1702},"Cookie 優先設定",{"dataGaName":1703,"dataGaLocation":1643,"id":1704,"isOneTrustButton":192},"cookie preferences","ot-sdk-btn",{"title":1250,"links":1706,"subMenu":1715},[1707,1711],{"text":1708,"config":1709},"DevSecOpsプラットフォーム",{"href":1232,"dataGaName":1710,"dataGaLocation":1643},"devsecops platform",{"text":1712,"config":1713},"AI支援開発",{"href":1239,"dataGaName":1714,"dataGaLocation":1643},"ai-assisted development",[1716],{"title":1717,"links":1718},"トピック",[1719,1723,1728,1733,1738,1743,1748,1753],{"text":1270,"config":1720},{"href":1721,"dataGaName":1722,"dataGaLocation":1643},"/ja-jp/topics/ci-cd/","cicd",{"text":1724,"config":1725},"GitOps",{"href":1726,"dataGaName":1727,"dataGaLocation":1643},"/ja-jp/topics/gitops/","gitops",{"text":1729,"config":1730},"DevOps",{"href":1731,"dataGaName":1732,"dataGaLocation":1643},"/ja-jp/topics/devops/","devops",{"text":1734,"config":1735},"バージョン管理",{"href":1736,"dataGaName":1737,"dataGaLocation":1643},"/ja-jp/topics/version-control/","version control",{"text":1739,"config":1740},"DevSecOps",{"href":1741,"dataGaName":1742,"dataGaLocation":1643},"/ja-jp/topics/devsecops/","devsecops",{"text":1744,"config":1745},"クラウドネイティブ",{"href":1746,"dataGaName":1747,"dataGaLocation":1643},"/ja-jp/topics/cloud-native/","cloud native",{"text":1749,"config":1750},"コーディングのためのAI",{"href":1751,"dataGaName":1752,"dataGaLocation":1643},"/ja-jp/topics/devops/ai-for-coding/","ai for coding",{"text":1754,"config":1755},"エージェント型AI",{"href":1756,"dataGaName":1757,"dataGaLocation":1643},"/ja-jp/topics/agentic-ai/","agentic ai",{"title":1759,"links":1760},"ソリューション",[1761,1764,1766,1771,1775,1778,1781,1784,1786,1788,1791,1796],{"text":1294,"config":1762},{"href":1289,"dataGaName":1763,"dataGaLocation":1643},"Application Security Testing",{"text":1282,"config":1765},{"href":1266,"dataGaName":1267,"dataGaLocation":1643},{"text":1767,"config":1768},"アジャイル開発",{"href":1769,"dataGaName":1770,"dataGaLocation":1643},"/ja-jp/solutions/agile-delivery/","agile delivery",{"text":1772,"config":1773},"SCM",{"href":1279,"dataGaName":1774,"dataGaLocation":1643},"source code management",{"text":1270,"config":1776},{"href":1272,"dataGaName":1777,"dataGaLocation":1643},"continuous integration & delivery",{"text":1320,"config":1779},{"href":1322,"dataGaName":1780,"dataGaLocation":1643},"value stream management",{"text":1724,"config":1782},{"href":1783,"dataGaName":1727,"dataGaLocation":1643},"/ja-jp/solutions/gitops/",{"text":1333,"config":1785},{"href":1336,"dataGaName":1337,"dataGaLocation":1643},{"text":1339,"config":1787},{"href":1342,"dataGaName":1343,"dataGaLocation":1643},{"text":1789,"config":1790},"公共機関",{"href":1348,"dataGaName":1349,"dataGaLocation":1643},{"text":1792,"config":1793},"教育",{"href":1794,"dataGaName":1795,"dataGaLocation":1643},"/ja-jp/solutions/education/","education",{"text":1797,"config":1798},"金融サービス",{"href":1799,"dataGaName":1800,"dataGaLocation":1643},"/ja-jp/solutions/finance/","financial services",{"title":1802,"links":1803},"リソース",[1804,1806,1808,1810,1814,1816,1819,1821,1823,1825,1827,1829,1831,1833],{"text":1369,"config":1805},{"href":1371,"dataGaName":1372,"dataGaLocation":1643},{"text":1374,"config":1807},{"href":1376,"dataGaName":1377,"dataGaLocation":1643},{"text":1379,"config":1809},{"href":1381,"dataGaName":1382,"dataGaLocation":1643},{"text":1384,"config":1811},{"href":1812,"dataGaName":1813,"dataGaLocation":1643},"https://docs.gitlab.com/ja-jp","docs",{"text":1407,"config":1815},{"href":1409,"dataGaName":1410,"dataGaLocation":1643},{"text":1817,"config":1818},"最新リリース",{"href":1467,"dataGaName":1468,"dataGaLocation":1643},{"text":1402,"config":1820},{"href":1404,"dataGaName":1405,"dataGaLocation":1643},{"text":1421,"config":1822},{"href":1423,"dataGaName":1424,"dataGaLocation":1643},{"text":1429,"config":1824},{"href":1431,"dataGaName":1432,"dataGaLocation":1643},{"text":1434,"config":1826},{"href":1436,"dataGaName":1437,"dataGaLocation":1643},{"text":1439,"config":1828},{"href":1441,"dataGaName":1442,"dataGaLocation":1643},{"text":1444,"config":1830},{"href":1446,"dataGaName":1447,"dataGaLocation":1643},{"text":1449,"config":1832},{"href":1451,"dataGaName":1452,"dataGaLocation":1643},{"text":1454,"config":1834},{"href":1456,"dataGaName":1457,"dataGaLocation":1643},{"title":1836,"links":1837},"会社情報",[1838,1840,1842,1844,1846,1848,1852,1857,1859,1861,1863],{"text":1478,"config":1839},{"href":1480,"dataGaName":1472,"dataGaLocation":1643},{"text":1483,"config":1841},{"href":1485,"dataGaName":1486,"dataGaLocation":1643},{"text":1491,"config":1843},{"href":1493,"dataGaName":1494,"dataGaLocation":1643},{"text":1496,"config":1845},{"href":1498,"dataGaName":1499,"dataGaLocation":1643},{"text":1501,"config":1847},{"href":1503,"dataGaName":1504,"dataGaLocation":1643},{"text":1849,"config":1850},"Sustainability",{"href":1851,"dataGaName":1849,"dataGaLocation":1643},"/sustainability/",{"text":1853,"config":1854},"ダイバーシティ、インクルージョン、ビロンギング（DIB）",{"href":1855,"dataGaName":1856,"dataGaLocation":1643},"/ja-jp/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":1506,"config":1858},{"href":1508,"dataGaName":1509,"dataGaLocation":1643},{"text":1516,"config":1860},{"href":1518,"dataGaName":1519,"dataGaLocation":1643},{"text":1521,"config":1862},{"href":1523,"dataGaName":1524,"dataGaLocation":1643},{"text":1864,"config":1865},"現代奴隷制の透明性に関する声明",{"href":1866,"dataGaName":1867,"dataGaLocation":1643},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":1869},[1870,1872,1875],{"text":1691,"config":1871},{"href":1693,"dataGaName":1694,"dataGaLocation":1643},{"text":1873,"config":1874},"Cookieの設定",{"dataGaName":1703,"dataGaLocation":1643,"id":1704,"isOneTrustButton":192},{"text":1696,"config":1876},{"href":1698,"dataGaName":1699,"dataGaLocation":1643},[1878],{"id":1879,"title":7,"body":1184,"config":1880,"content":1882,"description":1184,"extension":1886,"meta":1887,"navigation":192,"path":1888,"seo":1889,"stem":1890,"__hash__":1891},"blogAuthors/en-us/blog/authors/fernando-diaz.yml",{"template":1881},"BlogAuthor",{"name":7,"config":1883},{"headshot":1884,"ctfId":1885},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749659556/Blog/Author%20Headshots/fern_diaz.png","fjdiaz","yml",{},"/en-us/blog/authors/fernando-diaz",{},"en-us/blog/authors/fernando-diaz","lxRJIOydP4_yzYZvsPcuQevP9AYAKREF7i8QmmdnOWc",[1893,1902,1910],{"title":1894,"description":1895,"heroImage":1896,"category":1180,"date":1897,"authors":1898,"slug":1901,"externalUrl":1184},"GitLab Secrets ManagerがESO、Terraform、APIに対応","スタック全体の認証情報管理をシンプルに。GitLab Secrets Managerは External Secrets Operator（ESO）、Terraform、Secrets Manager APIに対応し、CI/CD以外の ワークフローからもシークレットを安全に取得できます。","https://res.cloudinary.com/about-gitlab-com/image/upload/v1759320418/xjmqcozxzt4frx0hori3.png","2026-08-06",[1899,1900],"Erick Bajao","Joe Randazzo","gitlab-secrets-manager-add-eso-terraform-api-support",{"title":1903,"description":1904,"heroImage":1905,"category":1180,"date":1906,"authors":1907,"slug":1909,"externalUrl":1184},"Claudeが書き、GitLabがつなぐ：本番環境まで途切れないセキュリティ","Claude Securityはコーディングセッション内で脆弱性を検出します。そこから先はGitLabが引き継ぎ、スキャン、ポリシーの適用、そしてソフトウェアライフサイクル全体の監査エビデンス作成までを担います。","https://res.cloudinary.com/about-gitlab-com/image/upload/v1756122536/akivvcnafog9c4dhhzkp.png","2026-08-03",[1908],"Alisa Ho","claude-security-and-gitlab",{"title":1911,"description":1912,"heroImage":1913,"category":1180,"date":1914,"authors":1915,"slug":1917,"externalUrl":1184},"GitLab Duoセキュリティレビューでスキャナーが見逃すロジックの欠陥を検出","AIによるセキュリティ推論で、コードレビューの段階のうちに認可の不備やビジネスロジックのエラー、レース条件を検出します。","https://res.cloudinary.com/about-gitlab-com/image/upload/v1783980535/t3gez0gpayfndrhncunf.png","2026-07-16",[1916],"Mark Settle","gitlab-duo-security-review-flow",{"promotions":1919},[1920,1934,1946,1957],{"id":1921,"categories":1922,"header":1924,"text":1925,"button":1926,"image":1931},"ai-modernization",[1923],"ai","AIの真価、組織全体で発揮できていますか？","所要時間は5分以内です",{"text":1927,"config":1928},"AI成熟度スコアを確認する",{"href":1929,"dataGaName":1930,"dataGaLocation":1410},"/ja-jp/assessments/ai-modernization-assessment/","modernization assessment",{"config":1932},{"src":1933},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":1935,"categories":1936,"header":1938,"text":1925,"button":1939,"image":1943},"devops-modernization",[1937,1742],"product","単にツールを管理するだけでなく、イノベーションを提供していますか？",{"text":1940,"config":1941},"DevOps成熟度スコアを確認しましょう",{"href":1942,"dataGaName":1930,"dataGaLocation":1410},"/ja-jp/assessments/devops-modernization-assessment/",{"config":1944},{"src":1945},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":1947,"categories":1948,"header":1949,"text":1925,"button":1950,"image":1954},"security-modernization",[1180],"スピードのためにセキュリティを犠牲にしていませんか？",{"text":1951,"config":1952},"セキュリティ成熟度スコアを確認しましょう",{"href":1953,"dataGaName":1930,"dataGaLocation":1410},"/ja-jp/assessments/security-modernization-assessment/",{"config":1955},{"src":1956},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"id":1958,"paths":1959,"header":1962,"text":1963,"button":1964,"image":1969},"github-azure-migration",[1960,1961],"migration-from-azure-devops-to-gitlab","integrating-azure-devops-scm-and-gitlab","チームはGitHubのAzure移行に対応できていますか？","GitHubはすでにAzureを基盤として再構築を進めています。それがあなたのチームにとって何を意味するのか、ご確認ください。",{"text":1965,"config":1966},"GitLabとGitHubの比較を見る",{"href":1967,"dataGaName":1968,"dataGaLocation":1410},"/ja-jp/compare/gitlab-vs-github/github-azure-migration/","github azure migration",{"config":1970},{"src":1945},{"header":1972,"blurb":1973,"button":1974,"secondaryButton":1978},"今すぐ開発をスピードアップ","DevSecOpsに特化したインテリジェントオーケストレーションプラットフォームで実現できることをご確認ください。\n",{"text":1205,"config":1975},{"href":1976,"dataGaName":1208,"dataGaLocation":1977},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/ja-jp/","feature",{"text":1526,"config":1979},{"href":1535,"dataGaName":1213,"dataGaLocation":1977},1786803770086]