[{"data":1,"prerenderedAt":1439},["ShallowReactive",2],{"/ja-jp/blog/integrate-external-security-scanners-into-your-devsecops-workflow":3,"navigation-ja-jp":656,"banner-ja-jp":1086,"footer-ja-jp":1094,"blog-post-authors-ja-jp-Sam Morris":1336,"blog-related-posts-ja-jp-integrate-external-security-scanners-into-your-devsecops-workflow":1351,"blog-promotions-ja-jp":1377,"next-steps-ja-jp":1430},{"id":4,"title":5,"authors":6,"body":8,"category":635,"date":636,"description":637,"extension":638,"externalUrl":639,"faq":639,"featured":640,"heroImage":641,"meta":642,"navigation":108,"path":643,"seo":644,"slug":648,"stem":649,"tags":650,"template":653,"updatedDate":654,"__hash__":655},"blogPosts/ja-jp/blog/integrate-external-security-scanners-into-your-devsecops-workflow.md","外部セキュリティスキャナーをDevSecOpsワークフローに統合する",[7],"Sam Morris",{"type":9,"value":10,"toc":623},"minimark",[11,15,18,22,43,46,49,52,56,71,355,360,366,372,380,383,390,394,397,406,410,413,570,573,579,582,585,591,594,619],[12,13,14],"p",{},"ソフトウェアを開発する毎日において、セキュリティ脆弱性が本番環境に混入する機会は常に存在します。そのため、セキュリティをシフトレフトし、セキュリティテストとそれによって検出される脆弱性をソフトウェア開発ライフサイクルの最前線に配置することが、これまで以上に重要になっています。",[12,16,17],{},"GitLabは幅広い種類のセキュリティスキャナーを提供しており、AI搭載DevSecOpsプラットフォームによって、ソフトウェアのセキュリティを完全に可視化します。GitLabでは、スキャンの実行だけでなく、結果の表示、マージリクエストポリシーによる承認プロセスの組み込み、デフォルトブランチにおける現在の脆弱性の表示を通じて、脆弱性レポートで今後のトリアージに活用できます。",[19,20,21],"h2",{"id":21},"セキュリティスキャンの実行方法",[12,23,24,25,29,30,36,37,42],{},"GitLab Ultimateでは、マージリクエストウィジェットに脆弱性が直接表示され、コミットごとに更新されます。これらのスキャンは通常、プロジェクトの",[26,27,28],"code",{},".gitlab-ci.yml","パイプラインであれ、別途管理される",[31,32,35],"a",{"href":33,"rel":34},"https://docs.gitlab.com/ja-jp/user/compliance/compliance_pipelines/",[],"コンプライアンスパイプライン","、セキュリティポリシー、または別の.ymlファイルからの",[31,38,41],{"href":39,"rel":40},"https://docs.gitlab.com/ja-jp/ci/yaml/includes/",[],"インクルードされたパイプライン設定","であれ、パイプライン内のジョブを通じて実行されます。GitLabのネイティブセキュリティスキャナーを実行することも、外部スキャナーを実行することもできます。この記事では、Snykスキャンを実行し、依存関係スキャン結果を脆弱性レコードとしてGitLabにフィードバックする方法を試しました。さらに、Static Analysis Results Interchange Format（SARIF）コンバーターを活用して、カスタムスクリプトを使用せずにSnykからSAST結果を直接読み取る方法も紹介します。",[19,44,45],{"id":45},"外部スキャナーの使用",[12,47,48],{},"GitLabは高い拡張性を持ち、プラットフォームでは多様なツールを統合できます。ビルトインのセキュリティスキャナーを使用することも、パイプラインやポリシー内のジョブを通じて外部スキャナーを使用することもできます。GitLabは、ガバナンスと実施のための単一プラットフォームとして機能し、独自のスキャナーを持ち込んで、DevSecOpsライフサイクルの早い段階で結果を確認できます。",[12,50,51],{},"開始するには、セキュリティジョブを実行するだけで、マージリクエストと脆弱性レポートで結果を取得できます。",[19,53,55],{"id":54},"gitlab-ciから外部スキャンを実行する","GitLab CIから外部スキャンを実行する",[12,57,58,59,62,63,66,67,70],{},"このパイプライン例では、テストステージで外部的にSnykスキャンを実行し、",[26,60,61],{},"gemnasium-maven-dependency_scanning","というオーバーライドしたジョブで実行します。まず、必要なパッケージ（npm、Maven、Python3、Snyk）をインストールし、次にプロジェクトの変数セクションに保存されたSNYK_TOKEN変数で認証します。最後に、Snyk CLIで",[26,64,65],{},"snyk test","コマンドを実行し、結果をJSONに出力します。これにより、結果がsnyk_data_file.jsonに保存され、次のセクションで詳しく説明するスクリプトで解析し、必要なアーティファクトファイル",[26,68,69],{},"gl-dependency-scanning-report.json","に保存します。",[72,73,78],"pre",{"className":74,"code":75,"language":76,"meta":77,"style":77},"language-yaml shiki shiki-themes github-light","stages:\n  - test\n\nvariables:\n\ninclude:\n  - template: Jobs/Dependency-Scanning.gitlab-ci.yml  \n\ngemnasium-maven-dependency_scanning:\n  image: node:latest\n  stage: test\n  services:\n  - openjdk:11-jre-slim-buster\n  before_script:\n    - apt-get update\n    - apt-get install default-jdk -y\n  script:\n    # Install npm, snyk, and maven\n    - npm install -g npm@latest\n    - npm install -g snyk\n    - npm install maven\n    - npm install python3\n    # Run snyk auth, snyk monitor, snyk test to break build and out report\n    - snyk auth $SNYK_TOKEN\n    - chmod +x mvnw\n    - snyk test --all-projects --json-file-output=snyk_data_file.json || true\n    - python3 convert-snyk-to-gitlab.py\n\n  # Save report to artifacts\n  artifacts:\n    when: always\n    paths: \n      - gl-dependency-scanning-report.json\n","yaml","",[26,79,80,93,103,110,118,123,131,148,153,160,171,181,189,197,205,214,222,230,237,245,253,261,269,275,283,291,299,307,312,318,326,337,346],{"__ignoreMap":77},[81,82,85,89],"span",{"class":83,"line":84},"line",1,[81,86,88],{"class":87},"shJU0","stages",[81,90,92],{"class":91},"sgsFI",":\n",[81,94,96,99],{"class":83,"line":95},2,[81,97,98],{"class":91},"  - ",[81,100,102],{"class":101},"sYBdl","test\n",[81,104,106],{"class":83,"line":105},3,[81,107,109],{"emptyLinePlaceholder":108},true,"\n",[81,111,113,116],{"class":83,"line":112},4,[81,114,115],{"class":87},"variables",[81,117,92],{"class":91},[81,119,121],{"class":83,"line":120},5,[81,122,109],{"emptyLinePlaceholder":108},[81,124,126,129],{"class":83,"line":125},6,[81,127,128],{"class":87},"include",[81,130,92],{"class":91},[81,132,134,136,139,142,145],{"class":83,"line":133},7,[81,135,98],{"class":91},[81,137,138],{"class":87},"template",[81,140,141],{"class":91},": ",[81,143,144],{"class":101},"Jobs/Dependency-Scanning.gitlab-ci.yml",[81,146,147],{"class":91},"  \n",[81,149,151],{"class":83,"line":150},8,[81,152,109],{"emptyLinePlaceholder":108},[81,154,156,158],{"class":83,"line":155},9,[81,157,61],{"class":87},[81,159,92],{"class":91},[81,161,163,166,168],{"class":83,"line":162},10,[81,164,165],{"class":87},"  image",[81,167,141],{"class":91},[81,169,170],{"class":101},"node:latest\n",[81,172,174,177,179],{"class":83,"line":173},11,[81,175,176],{"class":87},"  stage",[81,178,141],{"class":91},[81,180,102],{"class":101},[81,182,184,187],{"class":83,"line":183},12,[81,185,186],{"class":87},"  services",[81,188,92],{"class":91},[81,190,192,194],{"class":83,"line":191},13,[81,193,98],{"class":91},[81,195,196],{"class":101},"openjdk:11-jre-slim-buster\n",[81,198,200,203],{"class":83,"line":199},14,[81,201,202],{"class":87},"  before_script",[81,204,92],{"class":91},[81,206,208,211],{"class":83,"line":207},15,[81,209,210],{"class":91},"    - ",[81,212,213],{"class":101},"apt-get update\n",[81,215,217,219],{"class":83,"line":216},16,[81,218,210],{"class":91},[81,220,221],{"class":101},"apt-get install default-jdk -y\n",[81,223,225,228],{"class":83,"line":224},17,[81,226,227],{"class":87},"  script",[81,229,92],{"class":91},[81,231,233],{"class":83,"line":232},18,[81,234,236],{"class":235},"sAwPA","    # Install npm, snyk, and maven\n",[81,238,240,242],{"class":83,"line":239},19,[81,241,210],{"class":91},[81,243,244],{"class":101},"npm install -g npm@latest\n",[81,246,248,250],{"class":83,"line":247},20,[81,249,210],{"class":91},[81,251,252],{"class":101},"npm install -g snyk\n",[81,254,256,258],{"class":83,"line":255},21,[81,257,210],{"class":91},[81,259,260],{"class":101},"npm install maven\n",[81,262,264,266],{"class":83,"line":263},22,[81,265,210],{"class":91},[81,267,268],{"class":101},"npm install python3\n",[81,270,272],{"class":83,"line":271},23,[81,273,274],{"class":235},"    # Run snyk auth, snyk monitor, snyk test to break build and out report\n",[81,276,278,280],{"class":83,"line":277},24,[81,279,210],{"class":91},[81,281,282],{"class":101},"snyk auth $SNYK_TOKEN\n",[81,284,286,288],{"class":83,"line":285},25,[81,287,210],{"class":91},[81,289,290],{"class":101},"chmod +x mvnw\n",[81,292,294,296],{"class":83,"line":293},26,[81,295,210],{"class":91},[81,297,298],{"class":101},"snyk test --all-projects --json-file-output=snyk_data_file.json || true\n",[81,300,302,304],{"class":83,"line":301},27,[81,303,210],{"class":91},[81,305,306],{"class":101},"python3 convert-snyk-to-gitlab.py\n",[81,308,310],{"class":83,"line":309},28,[81,311,109],{"emptyLinePlaceholder":108},[81,313,315],{"class":83,"line":314},29,[81,316,317],{"class":235},"  # Save report to artifacts\n",[81,319,321,324],{"class":83,"line":320},30,[81,322,323],{"class":87},"  artifacts",[81,325,92],{"class":91},[81,327,329,332,334],{"class":83,"line":328},31,[81,330,331],{"class":87},"    when",[81,333,141],{"class":91},[81,335,336],{"class":101},"always\n",[81,338,340,343],{"class":83,"line":339},32,[81,341,342],{"class":87},"    paths",[81,344,345],{"class":91},": \n",[81,347,349,352],{"class":83,"line":348},33,[81,350,351],{"class":91},"      - ",[81,353,354],{"class":101},"gl-dependency-scanning-report.json\n",[356,357,359],"h3",{"id":358},"jsonの解析","JSONの解析",[12,361,362,363,365],{},"外部スキャナーからのスキャン結果をマージリクエストウィジェットで確認できます。これは、成功したセキュリティジョブのアーティファクトが適切に名前付けされている場合に可能です（例：",[26,364,69],{},"）。",[12,367,368,369,371],{},"以下は、Snyk JSON出力をGitLab JSON出力に変換するスクリプトの例です。この例では、Snykデータファイルを開き、脆弱性データをロードします。依存関係ファイルの新しいリストと、GitLabが脆弱性レコードに表示するために必要なデータ（識別子、重大度、カテゴリ、説明、場所など）を含む脆弱性の新しいリストを作成します。レコードに表示する必要のない必須フィールドには、いくつかのプレースホルダーセクションを追加しました。最後に、解析した内容を",[26,370,69],{},"という新しいJSONファイルに保存しました。これは、GitLabがファイルを読み取り、その内容をウィジェットに表示するために必要なファイル名です。",[72,373,378],{"className":374,"code":376,"language":377,"meta":77},[375],"language-text","import json\nfrom types import SimpleNamespace\n\nwith open(\"snyk_data_file.json\") as snyk_data_file:\n    snyk_data = json.load(snyk_data_file, object_hook=lambda d: SimpleNamespace(**d))\n\ngitlab_vulns = []\ndependency_files = []\nfor i in snyk_data:\n    dependency_files.append({\"path\": i.path, \"package_manager\": i.packageManager, \"dependencies\": []})\n    for v in i.vulnerabilities:\n        gitlab_identifiers = []\n        for vuln_type, vuln_names in v.identifiers.__dict__.items():\n            if vuln_names: \n                for vuln_name in vuln_names:\n                    gitlab_identifiers.append({\"type\": vuln_type, \"name\": vuln_name, \"value\": vuln_name.partition(\"-\")[2]})\n                gitlab_vulns.append({\"id\": v.id, \"category\": \"dependency_scanning\", \"severity\": v.severity.capitalize(), \"identifiers\": gitlab_identifiers, \"description\": v.description, \"location\": {\"file\": i.displayTargetFile, \"dependency\": {\"package\": {\"name\": \"PLACEHOLDER\"}, \"version\": \"PLACEHOLDER\"}}})\n\n# Dummy data for scan and dependency files \nfull_json = {\"version\": \"15.0.6\", \"dependency_files\": dependency_files, \"scan\": {\"analyzer\": {\"id\": \"snyk\", \"name\": \"Snyk\", \"vendor\": {\"name\": \"Snyk\"}, \"version\": \"1.0.2\"}, \"scanner\": {\"id\": \"my-snyk-scanner\", \"name\": \"My Snyk Scanner\", \"version\": \"1.0.2\", \"vendor\": {\"name\": \"Snyk\"}}, \"end_time\": \"2022-01-28T03:26:02\", \"start_time\": \"2020-01-28T03:26:02\", \"status\": \"success\", \"type\": \"dependency_scanning\"}, \"vulnerabilities\": gitlab_vulns}\n\nwith open(\"gl-dependency-scanning-report.json\", \"w\") as gitlab_file:\n    json.dump(full_json, gitlab_file, default=vars)\n","text",[26,379,376],{"__ignoreMap":77},[12,381,382],{},"これで、脆弱性の検出結果がマージリクエストウィジェットに表示されるようになります。",[12,384,385],{},[386,387],"img",{"alt":388,"src":389},"セキュリティスキャン検出","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750098776/Blog/Content%20Images/Blog/Content%20Images/image1_aHR0cHM6_1750098776479.png",[19,391,393],{"id":392},"sarifとsarifコンバーターとは","SARIFとSARIFコンバーターとは",[12,395,396],{},"SARIFは、静的解析ツールの出力用のファイル形式です。さまざまなセキュリティスキャナーを活用する際に非常に便利です。すべての出力が同じ形式でフォーマットされているためです。これにより、アプリケーションセキュリティに対する汎用的で再現可能、かつスケーラブルなアプローチが可能になります。",[12,398,399,400,405],{},"コミュニティで管理されている",[31,401,404],{"href":402,"rel":403},"https://gitlab.com/ignis-build/sarif-converter",[],"SARIFコンバーター","があり、SARIFファイルを取得して、取り込み可能なレポートに変換します。Snykを含む多くのスキャナーをサポートしています。このコンバーターは、SASTとコード品質の検出結果の両方で機能します。この記事では、SASTに焦点を当てます。",[356,407,409],{"id":408},"sarifコンバーターを使用してsast結果を取得する","SARIFコンバーターを使用してSAST結果を取得する",[12,411,412],{},"SARIF結果を活用するには、まず前の例と同様にSnykスキャンをトリガーしますが、出力をSARIFファイルに保存します。その後、前述のコンバーターを使用して、レポートとして保存する新しいJSONファイルを作成します。",[72,414,416],{"className":74,"code":415,"language":76,"meta":77,"style":77},"snyk:\n  image: node:latest\n  stage: test\n  services:\n  - openjdk:11-jre-slim-buster\n  before_script:\n    - apt-get update\n    - apt-get install default-jdk -y\n    - wget -O sarif-converter https://gitlab.com/ignis-build/sarif-converter/-/releases/permalink/latest/downloads/bin/sarif-converter-linux\n    - chmod +x sarif-converter\n  script:\n    # Install npm, snyk, and maven\n    - npm install -g npm@latest\n    - npm install -g snyk\n    - npm install maven\n    # Run snyk auth, snyk monitor, snyk test to break build and out report\n    - snyk auth $SNYK_TOKEN\n    - chmod +x mvnw\n    - snyk test --all-projects --sarif-file-output=snyk.sarif  || true\n    - ./sarif-converter --type sast snyk.sarif snyk.json\n\n  artifacts:\n    reports:\n      sast: snyk.json\n",[26,417,418,425,433,441,447,453,459,465,471,478,485,491,495,501,507,513,517,523,529,536,543,547,553,560],{"__ignoreMap":77},[81,419,420,423],{"class":83,"line":84},[81,421,422],{"class":87},"snyk",[81,424,92],{"class":91},[81,426,427,429,431],{"class":83,"line":95},[81,428,165],{"class":87},[81,430,141],{"class":91},[81,432,170],{"class":101},[81,434,435,437,439],{"class":83,"line":105},[81,436,176],{"class":87},[81,438,141],{"class":91},[81,440,102],{"class":101},[81,442,443,445],{"class":83,"line":112},[81,444,186],{"class":87},[81,446,92],{"class":91},[81,448,449,451],{"class":83,"line":120},[81,450,98],{"class":91},[81,452,196],{"class":101},[81,454,455,457],{"class":83,"line":125},[81,456,202],{"class":87},[81,458,92],{"class":91},[81,460,461,463],{"class":83,"line":133},[81,462,210],{"class":91},[81,464,213],{"class":101},[81,466,467,469],{"class":83,"line":150},[81,468,210],{"class":91},[81,470,221],{"class":101},[81,472,473,475],{"class":83,"line":155},[81,474,210],{"class":91},[81,476,477],{"class":101},"wget -O sarif-converter https://gitlab.com/ignis-build/sarif-converter/-/releases/permalink/latest/downloads/bin/sarif-converter-linux\n",[81,479,480,482],{"class":83,"line":162},[81,481,210],{"class":91},[81,483,484],{"class":101},"chmod +x sarif-converter\n",[81,486,487,489],{"class":83,"line":173},[81,488,227],{"class":87},[81,490,92],{"class":91},[81,492,493],{"class":83,"line":183},[81,494,236],{"class":235},[81,496,497,499],{"class":83,"line":191},[81,498,210],{"class":91},[81,500,244],{"class":101},[81,502,503,505],{"class":83,"line":199},[81,504,210],{"class":91},[81,506,252],{"class":101},[81,508,509,511],{"class":83,"line":207},[81,510,210],{"class":91},[81,512,260],{"class":101},[81,514,515],{"class":83,"line":216},[81,516,274],{"class":235},[81,518,519,521],{"class":83,"line":224},[81,520,210],{"class":91},[81,522,282],{"class":101},[81,524,525,527],{"class":83,"line":232},[81,526,210],{"class":91},[81,528,290],{"class":101},[81,530,531,533],{"class":83,"line":239},[81,532,210],{"class":91},[81,534,535],{"class":101},"snyk test --all-projects --sarif-file-output=snyk.sarif  || true\n",[81,537,538,540],{"class":83,"line":247},[81,539,210],{"class":91},[81,541,542],{"class":101},"./sarif-converter --type sast snyk.sarif snyk.json\n",[81,544,545],{"class":83,"line":255},[81,546,109],{"emptyLinePlaceholder":108},[81,548,549,551],{"class":83,"line":263},[81,550,323],{"class":87},[81,552,92],{"class":91},[81,554,555,558],{"class":83,"line":271},[81,556,557],{"class":87},"    reports",[81,559,92],{"class":91},[81,561,562,565,567],{"class":83,"line":277},[81,563,564],{"class":87},"      sast",[81,566,141],{"class":91},[81,568,569],{"class":101},"snyk.json\n",[12,571,572],{},"JSONをアーティファクトとして保存すると、結果がマージリクエストウィジェットに表示されます。",[12,574,575],{},[386,576],{"alt":577,"src":578},"セキュリティスキャン - 画像2","https://res.cloudinary.com/about-gitlab-com/image/upload/v1750098776/Blog/Content%20Images/Blog/Content%20Images/image2_aHR0cHM6_1750098776479.png",[19,580,581],{"id":581},"まとめ",[12,583,584],{},"この記事では、カスタムスクリプトとSARIFコンバーターの両方を使用して、GitLabマージリクエストウィジェットで外部スキャナーの脆弱性を表示する方法を説明しました。これらの操作は、示されているパイプラインから実行できるだけでなく、コンプライアンスパイプラインやパイプライン実行ポリシーからも実行できます。これらにより、外部スキャナーの強制実行が可能になります。GitLab Ultimateでは、完全なDevSecOpsプラットフォームにアクセスでき、当社のスキャナーを使用することも独自のスキャナーを持ち込むこともできます。これにより、デベロッパーが本番環境に到達する前に脆弱性を修正できるシフトレフトワークフローを構築できます。",[586,587,588],"blockquote",{},[12,589,590],{},"GitLab Ultimateを今すぐ無料トライアルして、外部スキャナーの統合を開始しましょう。",[19,592,593],{"id":593},"セキュリティスキャンに関するその他のリソース",[595,596,597,605,612],"ul",{},[598,599,600],"li",{},[31,601,604],{"href":602,"rel":603},"https://docs.gitlab.com/ja-jp/development/integrations/secure/",[],"セキュリティスキャナー統合ドキュメント",[598,606,607],{},[31,608,611],{"href":609,"rel":610},"https://about.gitlab.com/ja-jp/blog/how-to-integrate-custom-security-scanners-into-gitlab/",[],"カスタムセキュリティスキャナーをGitLabに統合する方法",[598,613,614],{},[31,615,618],{"href":616,"rel":617},"https://about.gitlab.com/ja-jp/security/",[],"GitLabトラストセンター",[620,621,622],"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 pre.shiki code .sAwPA, html code.shiki .sAwPA{--shiki-default:#6A737D}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);}",{"title":77,"searchDepth":95,"depth":95,"links":624},[625,626,627,630,633,634],{"id":21,"depth":95,"text":21},{"id":45,"depth":95,"text":45},{"id":54,"depth":95,"text":55,"children":628},[629],{"id":358,"depth":105,"text":359},{"id":392,"depth":95,"text":393,"children":631},[632],{"id":408,"depth":105,"text":409},{"id":581,"depth":95,"text":581},{"id":593,"depth":95,"text":593},"security","2024-04-08","SnykスキャンのJSON結果をマージリクエストウィジェットに統合し、SARIFファイル形式を活用する方法を紹介します。","md",null,false,"https://res.cloudinary.com/about-gitlab-com/image/upload/v1750098768/Blog/Hero%20Images/Blog/Hero%20Images/blog-image-template-1800x945%20%282%29_1khno1AUtxuL6zzmEmjK7v_1750098768560.png",{},"/ja-jp/blog/integrate-external-security-scanners-into-your-devsecops-workflow",{"ogTitle":5,"ogImage":641,"ogDescription":637,"ogSiteName":645,"noIndex":640,"ogType":646,"ogUrl":647,"title":5,"canonicalUrls":647,"description":637},"https://about.gitlab.com","article","https://about.gitlab.com/ja-jp/blog/integrate-external-security-scanners-into-your-devsecops-workflow","integrate-external-security-scanners-into-your-devsecops-workflow","ja-jp/blog/integrate-external-security-scanners-into-your-devsecops-workflow",[635,651,652],"tutorial","testing","BlogPost","2026-02-12","dmC6cNnVvFZgkaJyP1ERFq_ebpT5hTEi8qAxJ0bUdZY",{"logo":657,"freeTrial":662,"sales":667,"login":672,"items":677,"search":1006,"minimal":1039,"duo":1056,"switchNav":1065,"pricingDeployment":1076},{"config":658},{"href":659,"dataGaName":660,"dataGaLocation":661},"/ja-jp/","gitlab logo","header",{"text":663,"config":664},"無料トライアルを開始",{"href":665,"dataGaName":666,"dataGaLocation":661},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/ja-jp&glm_content=default-saas-trial/","free trial",{"text":668,"config":669},"デモをリクエスト",{"href":670,"dataGaName":671,"dataGaLocation":661},"/ja-jp/sales/?contact-topic=request-demo","sales",{"text":673,"config":674},"サインイン",{"href":675,"dataGaName":676,"dataGaLocation":661},"https://gitlab.com/users/sign_in/","sign in",[678,707,809,814,928,984],{"text":679,"config":680,"menu":682},"プラットフォーム",{"dataNavLevelOne":681},"platform",{"type":683,"columns":684},"cards",[685,691,699],{"title":679,"description":686,"link":687},"DevSecOpsに特化したインテリジェントオーケストレーションプラットフォーム",{"text":688,"config":689},"プラットフォームの詳細はこちら",{"href":690,"dataGaName":681,"dataGaLocation":661},"/ja-jp/platform/",{"title":692,"description":693,"link":694},"GitLab Duo Agent Platform","ソフトウェアライフサイクル全体を支えるエージェント型AI",{"text":695,"config":696},"GitLab Duoのご紹介",{"href":697,"dataGaName":698,"dataGaLocation":661},"/ja-jp/gitlab-duo-agent-platform/","gitlab duo agent platform",{"title":700,"description":701,"link":702},"GitLabが選ばれる理由","エンタープライズがGitLabを選ぶ主な理由をご覧ください",{"text":703,"config":704},"詳細はこちら",{"href":705,"dataGaName":706,"dataGaLocation":661},"/ja-jp/why-gitlab/","why gitlab",{"text":708,"left":108,"config":709,"menu":711},"製品",{"dataNavLevelOne":710},"solutions",{"type":712,"link":713,"columns":717,"feature":788},"lists",{"text":714,"config":715},"すべてのソリューションを表示",{"href":716,"dataGaName":710,"dataGaLocation":661},"/ja-jp/solutions/",[718,743,766],{"title":719,"description":720,"link":721,"items":726},"自動化","CI/CDと自動化でデプロイを加速",{"config":722},{"icon":723,"href":724,"dataGaName":725,"dataGaLocation":661},"AutomatedCodeAlt","/ja-jp/solutions/delivery-automation/","automated software delivery",[727,731,734,739],{"text":728,"config":729},"CI/CD",{"href":730,"dataGaLocation":661,"dataGaName":728},"/ja-jp/solutions/continuous-integration/",{"text":692,"config":732},{"href":697,"dataGaLocation":661,"dataGaName":733},"gitlab duo agent platform - product menu",{"text":735,"config":736},"ソースコード管理",{"href":737,"dataGaLocation":661,"dataGaName":738},"/ja-jp/solutions/source-code-management/","Source Code Management",{"text":740,"config":741},"自動化されたソフトウェアデリバリー",{"href":724,"dataGaLocation":661,"dataGaName":742},"Automated software delivery",{"title":744,"description":745,"link":746,"items":751},"セキュリティ","セキュリティを犠牲にすることなくコード作成を高速化",{"config":747},{"href":748,"dataGaName":749,"dataGaLocation":661,"icon":750},"/ja-jp/solutions/application-security-testing/","security and compliance","ShieldCheckLight",[752,756,761],{"text":753,"config":754},"アプリケーションセキュリティテスト",{"href":748,"dataGaName":755,"dataGaLocation":661},"Application security testing",{"text":757,"config":758},"ソフトウェアサプライチェーンセキュリティ",{"href":759,"dataGaLocation":661,"dataGaName":760},"/ja-jp/solutions/supply-chain/","Software supply chain security",{"text":762,"config":763},"ソフトウェアコンプライアンス",{"href":764,"dataGaName":765,"dataGaLocation":661},"/ja-jp/solutions/software-compliance/","software compliance",{"title":767,"link":768,"items":773},"測定",{"config":769},{"icon":770,"href":771,"dataGaName":772,"dataGaLocation":661},"DigitalTransformation","/ja-jp/solutions/visibility-measurement/","visibility and measurement",[774,778,783],{"text":775,"config":776},"可視性と測定",{"href":771,"dataGaLocation":661,"dataGaName":777},"Visibility and Measurement",{"text":779,"config":780},"バリューストリーム管理",{"href":781,"dataGaLocation":661,"dataGaName":782},"/ja-jp/solutions/value-stream-management/","Value Stream Management",{"text":784,"config":785},"分析とインサイト",{"href":786,"dataGaLocation":661,"dataGaName":787},"/ja-jp/solutions/analytics-and-insights/","Analytics and insights",{"title":789,"type":712,"items":790},"GitLabが活躍する場所",[791,797,803],{"text":792,"config":793},"大企業",{"icon":794,"href":795,"dataGaLocation":661,"dataGaName":796},"Building","/ja-jp/enterprise/","enterprise",{"text":798,"config":799},"スモールビジネス",{"icon":800,"href":801,"dataGaLocation":661,"dataGaName":802},"Work","/ja-jp/small-business/","small business",{"text":804,"config":805},"公共部門",{"icon":806,"href":807,"dataGaLocation":661,"dataGaName":808},"Organization","/ja-jp/solutions/public-sector/","public sector",{"text":810,"config":811},"価格",{"href":812,"dataGaName":813,"dataGaLocation":661,"dataNavLevelOne":813},"/ja-jp/pricing/","pricing",{"text":815,"config":816,"menu":818},"関連リソース",{"dataNavLevelOne":817},"resources",{"type":712,"link":819,"columns":823,"feature":917},{"text":820,"config":821},"すべてのリソースを表示",{"href":822,"dataGaName":817,"dataGaLocation":661},"/ja-jp/resources/",[824,857,884],{"title":825,"items":826},"はじめに",[827,832,837,842,847,852],{"text":828,"config":829},"インストール",{"href":830,"dataGaName":831,"dataGaLocation":661},"/ja-jp/install/","install",{"text":833,"config":834},"クイックスタートガイド",{"href":835,"dataGaName":836,"dataGaLocation":661},"/ja-jp/get-started/","quick setup checklists",{"text":838,"config":839},"学ぶ",{"href":840,"dataGaLocation":661,"dataGaName":841},"https://university.gitlab.com/","learn",{"text":843,"config":844},"製品ドキュメント",{"href":845,"dataGaName":846,"dataGaLocation":661},"https://docs.gitlab.com/ja-jp/","product documentation",{"text":848,"config":849},"ベストプラクティスビデオ",{"href":850,"dataGaName":851,"dataGaLocation":661},"/ja-jp/getting-started-videos/","best practice videos",{"text":853,"config":854},"インテグレーション",{"href":855,"dataGaName":856,"dataGaLocation":661},"/ja-jp/integrations/","integrations",{"title":858,"items":859},"検索する",[860,865,870,875,879],{"text":861,"config":862},"お客様成功事例",{"href":863,"dataGaName":864,"dataGaLocation":661},"/ja-jp/customers/","customer success stories",{"text":866,"config":867},"ブログ",{"href":868,"dataGaName":869,"dataGaLocation":661},"/ja-jp/blog/","blog",{"text":871,"config":872},"Demo Hub",{"href":873,"dataGaName":874,"dataGaLocation":661},"/ja-jp/demo-hub/","demo hub",{"text":876,"config":877},"The Source",{"href":878,"dataGaName":869,"dataGaLocation":661},"/ja-jp/the-source/",{"text":880,"config":881},"リモート",{"href":882,"dataGaName":883,"dataGaLocation":661},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"title":885,"items":886},"つなげる",[887,892,897,902,907,912],{"text":888,"config":889},"GitLabサービス",{"href":890,"dataGaName":891,"dataGaLocation":661},"/ja-jp/services/","services",{"text":893,"config":894},"コントリビュート",{"href":895,"dataGaName":896,"dataGaLocation":661},"https://contributors.gitlab.com","contribute",{"text":898,"config":899},"コミュニティ",{"href":900,"dataGaName":901,"dataGaLocation":661},"/community/","community",{"text":903,"config":904},"フォーラム",{"href":905,"dataGaName":906,"dataGaLocation":661},"https://forum.gitlab.com/","forum",{"text":908,"config":909},"イベント",{"href":910,"dataGaName":911,"dataGaLocation":661},"/events/","events",{"text":913,"config":914},"パートナー",{"href":915,"dataGaName":916,"dataGaLocation":661},"/ja-jp/partners/","partners",{"config":918,"title":921,"text":922,"link":923},{"background":919,"textColor":920},"url('https://res.cloudinary.com/about-gitlab-com/image/upload/v1777322348/qpq8yrgn8knii57omj0c.png')","#000","GitLabの最新情報","最新の機能と改善点に関する情報をお届けします。",{"text":924,"config":925},"最新情報を読む",{"href":926,"dataGaName":927,"dataGaLocation":661},"/ja-jp/whats-new/","whats new",{"text":929,"config":930,"menu":932},"企業情報",{"dataNavLevelOne":931},"company",{"type":712,"columns":933},[934],{"items":935},[936,941,947,949,954,959,964,969,974,979],{"text":937,"config":938},"GitLabについて",{"href":939,"dataGaName":940,"dataGaLocation":661},"/ja-jp/company/","about",{"text":942,"config":943,"footerGa":946},"採用情報",{"href":944,"dataGaName":945,"dataGaLocation":661},"/jobs/","jobs",{"dataGaName":945},{"text":908,"config":948},{"href":910,"dataGaName":911,"dataGaLocation":661},{"text":950,"config":951},"経営陣",{"href":952,"dataGaName":953,"dataGaLocation":661},"/company/team/e-group/","leadership",{"text":955,"config":956},"ハンドブック",{"href":957,"dataGaName":958,"dataGaLocation":661},"https://handbook.gitlab.com/","handbook",{"text":960,"config":961},"投資家向け情報",{"href":962,"dataGaName":963,"dataGaLocation":661},"https://ir.gitlab.com/overview/default.aspx","investor relations",{"text":965,"config":966},"トラストセンター",{"href":967,"dataGaName":968,"dataGaLocation":661},"/ja-jp/security/","trust center",{"text":970,"config":971},"AI Transparency Center",{"href":972,"dataGaName":973,"dataGaLocation":661},"/ja-jp/ai-transparency-center/","ai transparency center",{"text":975,"config":976},"ニュースレター",{"href":977,"dataGaName":978,"dataGaLocation":661},"/company/contact/#contact-forms","newsletter",{"text":980,"config":981},"プレス",{"href":982,"dataGaName":983,"dataGaLocation":661},"/press/","press",{"text":985,"config":986,"menu":987},"お問い合わせ",{"dataNavLevelOne":931},{"type":712,"columns":988},[989],{"items":990},[991,996,1001],{"text":992,"config":993},"お問い合わせはこちら",{"href":994,"dataGaName":995,"dataGaLocation":661},"/ja-jp/sales/","talk to sales",{"text":997,"config":998},"サポートを受ける",{"href":999,"dataGaName":1000,"dataGaLocation":661},"https://support.gitlab.com/hc/en-us","support portal",{"text":1002,"config":1003},"カスタマーポータル",{"href":1004,"dataGaName":1005,"dataGaLocation":661},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":1007,"login":1008,"suggestions":1015},"閉じる",{"text":1009,"link":1010},"リポジトリとプロジェクトを検索するには、次にログインします",{"text":1011,"config":1012},"GitLab.com",{"href":675,"dataGaName":1013,"dataGaLocation":1014},"search login","search",{"text":1016,"default":1017},"提案",[1018,1020,1025,1027,1031,1035],{"text":692,"config":1019},{"href":697,"dataGaName":692,"dataGaLocation":1014},{"text":1021,"config":1022},"コード提案（AI）",{"href":1023,"dataGaName":1024,"dataGaLocation":1014},"/ja-jp/solutions/code-suggestions/","Code Suggestions (AI)",{"text":728,"config":1026},{"href":730,"dataGaName":728,"dataGaLocation":1014},{"text":1028,"config":1029},"GitLab on AWS",{"href":1030,"dataGaName":1028,"dataGaLocation":1014},"/ja-jp/partners/technology-partners/aws/",{"text":1032,"config":1033},"GitLab on Google Cloud",{"href":1034,"dataGaName":1032,"dataGaLocation":1014},"/ja-jp/partners/technology-partners/google-cloud-platform/",{"text":1036,"config":1037},"GitLabを選ぶ理由",{"href":705,"dataGaName":1038,"dataGaLocation":1014},"Why GitLab?",{"freeTrial":1040,"mobileIcon":1044,"desktopIcon":1049,"secondaryButton":1052},{"text":663,"config":1041},{"href":1042,"dataGaName":666,"dataGaLocation":1043},"https://gitlab.com/-/trials/new/","nav",{"altText":1045,"config":1046},"GitLabアイコン",{"src":1047,"dataGaName":1048,"dataGaLocation":1043},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":1045,"config":1050},{"src":1051,"dataGaName":1048,"dataGaLocation":1043},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"text":825,"config":1053},{"href":1054,"dataGaName":1055,"dataGaLocation":1043},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com/ja-jp/get-started/","get started",{"freeTrial":1057,"mobileIcon":1061,"desktopIcon":1063},{"text":1058,"config":1059},"GitLab Duoの詳細について",{"href":697,"dataGaName":1060,"dataGaLocation":1043},"gitlab duo",{"altText":1045,"config":1062},{"src":1047,"dataGaName":1048,"dataGaLocation":1043},{"altText":1045,"config":1064},{"src":1051,"dataGaName":1048,"dataGaLocation":1043},{"button":1066,"mobileIcon":1071,"desktopIcon":1073},{"text":1067,"config":1068},"/switch",{"href":1069,"dataGaName":1070,"dataGaLocation":1043},"#contact","switch",{"altText":1045,"config":1072},{"src":1047,"dataGaName":1048,"dataGaLocation":1043},{"altText":1045,"config":1074},{"src":1075,"dataGaName":1048,"dataGaLocation":1043},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1773335277/ohhpiuoxoldryzrnhfrh.png",{"freeTrial":1077,"mobileIcon":1082,"desktopIcon":1084},{"text":1078,"config":1079},"料金ページに戻る",{"href":812,"dataGaName":1080,"dataGaLocation":1043,"icon":1081},"back to pricing","GoBack",{"altText":1045,"config":1083},{"src":1047,"dataGaName":1048,"dataGaLocation":1043},{"altText":1045,"config":1085},{"src":1051,"dataGaName":1048,"dataGaLocation":1043},{"title":1087,"button":1088,"config":1092},"GitLab Orbitが登場: AIエージェントのためのコンテキストレイヤー",{"text":703,"config":1089},{"href":1090,"dataGaName":1091,"dataGaLocation":661},"/ja-jp/gitlab-orbit/","orbit",{"layout":1093,"disabled":640},"release",{"data":1095},{"text":1096,"source":1097,"edit":1103,"contribute":1108,"config":1113,"items":1118,"minimal":1327},"GitはSoftware Freedom Conservancyの商標です。当社は「GitLab」をライセンスに基づいて使用しています",{"text":1098,"config":1099},"ページのソースを表示",{"href":1100,"dataGaName":1101,"dataGaLocation":1102},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":1104,"config":1105},"このページを編集",{"href":1106,"dataGaName":1107,"dataGaLocation":1102},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":1109,"config":1110},"ご協力をお願いします",{"href":1111,"dataGaName":1112,"dataGaLocation":1102},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":1114,"facebook":1115,"youtube":1116,"linkedin":1117},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[1119,1164,1217,1260,1294],{"title":810,"links":1120,"subMenu":1135},[1121,1125,1130],{"text":1122,"config":1123},"プランの表示",{"href":812,"dataGaName":1124,"dataGaLocation":1102},"view plans",{"text":1126,"config":1127},"Premiumを選ぶ理由",{"href":1128,"dataGaName":1129,"dataGaLocation":1102},"/ja-jp/pricing/premium/","why premium",{"text":1131,"config":1132},"Ultimateを選ぶ理由",{"href":1133,"dataGaName":1134,"dataGaLocation":1102},"/ja-jp/pricing/ultimate/","why ultimate",[1136],{"title":985,"links":1137},[1138,1140,1142,1144,1149,1154,1159],{"text":985,"config":1139},{"href":994,"dataGaName":671,"dataGaLocation":1102},{"text":997,"config":1141},{"href":999,"dataGaName":1000,"dataGaLocation":1102},{"text":1002,"config":1143},{"href":1004,"dataGaName":1005,"dataGaLocation":1102},{"text":1145,"config":1146},"ステータス",{"href":1147,"dataGaName":1148,"dataGaLocation":1102},"https://status.gitlab.com/","status",{"text":1150,"config":1151},"利用規約",{"href":1152,"dataGaName":1153,"dataGaLocation":1102},"/terms/","terms of use",{"text":1155,"config":1156},"プライバシーに関する声明",{"href":1157,"dataGaName":1158,"dataGaLocation":1102},"/ja-jp/privacy/","privacy statement",{"text":1160,"config":1161},"Cookie 優先設定",{"dataGaName":1162,"dataGaLocation":1102,"id":1163,"isOneTrustButton":108},"cookie preferences","ot-sdk-btn",{"title":708,"links":1165,"subMenu":1174},[1166,1170],{"text":1167,"config":1168},"DevSecOpsプラットフォーム",{"href":690,"dataGaName":1169,"dataGaLocation":1102},"devsecops platform",{"text":1171,"config":1172},"AI支援開発",{"href":697,"dataGaName":1173,"dataGaLocation":1102},"ai-assisted development",[1175],{"title":1176,"links":1177},"トピック",[1178,1182,1187,1192,1197,1202,1207,1212],{"text":728,"config":1179},{"href":1180,"dataGaName":1181,"dataGaLocation":1102},"/ja-jp/topics/ci-cd/","cicd",{"text":1183,"config":1184},"GitOps",{"href":1185,"dataGaName":1186,"dataGaLocation":1102},"/ja-jp/topics/gitops/","gitops",{"text":1188,"config":1189},"DevOps",{"href":1190,"dataGaName":1191,"dataGaLocation":1102},"/ja-jp/topics/devops/","devops",{"text":1193,"config":1194},"バージョン管理",{"href":1195,"dataGaName":1196,"dataGaLocation":1102},"/ja-jp/topics/version-control/","version control",{"text":1198,"config":1199},"DevSecOps",{"href":1200,"dataGaName":1201,"dataGaLocation":1102},"/ja-jp/topics/devsecops/","devsecops",{"text":1203,"config":1204},"クラウドネイティブ",{"href":1205,"dataGaName":1206,"dataGaLocation":1102},"/ja-jp/topics/cloud-native/","cloud native",{"text":1208,"config":1209},"コーディングのためのAI",{"href":1210,"dataGaName":1211,"dataGaLocation":1102},"/ja-jp/topics/devops/ai-for-coding/","ai for coding",{"text":1213,"config":1214},"エージェント型AI",{"href":1215,"dataGaName":1216,"dataGaLocation":1102},"/ja-jp/topics/agentic-ai/","agentic ai",{"title":1218,"links":1219},"ソリューション",[1220,1223,1225,1230,1234,1237,1240,1243,1245,1247,1250,1255],{"text":753,"config":1221},{"href":748,"dataGaName":1222,"dataGaLocation":1102},"Application Security Testing",{"text":740,"config":1224},{"href":724,"dataGaName":725,"dataGaLocation":1102},{"text":1226,"config":1227},"アジャイル開発",{"href":1228,"dataGaName":1229,"dataGaLocation":1102},"/ja-jp/solutions/agile-delivery/","agile delivery",{"text":1231,"config":1232},"SCM",{"href":737,"dataGaName":1233,"dataGaLocation":1102},"source code management",{"text":728,"config":1235},{"href":730,"dataGaName":1236,"dataGaLocation":1102},"continuous integration & delivery",{"text":779,"config":1238},{"href":781,"dataGaName":1239,"dataGaLocation":1102},"value stream management",{"text":1183,"config":1241},{"href":1242,"dataGaName":1186,"dataGaLocation":1102},"/ja-jp/solutions/gitops/",{"text":792,"config":1244},{"href":795,"dataGaName":796,"dataGaLocation":1102},{"text":798,"config":1246},{"href":801,"dataGaName":802,"dataGaLocation":1102},{"text":1248,"config":1249},"公共機関",{"href":807,"dataGaName":808,"dataGaLocation":1102},{"text":1251,"config":1252},"教育",{"href":1253,"dataGaName":1254,"dataGaLocation":1102},"/ja-jp/solutions/education/","education",{"text":1256,"config":1257},"金融サービス",{"href":1258,"dataGaName":1259,"dataGaLocation":1102},"/ja-jp/solutions/finance/","financial services",{"title":1261,"links":1262},"リソース",[1263,1265,1267,1269,1273,1275,1278,1280,1282,1284,1286,1288,1290,1292],{"text":828,"config":1264},{"href":830,"dataGaName":831,"dataGaLocation":1102},{"text":833,"config":1266},{"href":835,"dataGaName":836,"dataGaLocation":1102},{"text":838,"config":1268},{"href":840,"dataGaName":841,"dataGaLocation":1102},{"text":843,"config":1270},{"href":1271,"dataGaName":1272,"dataGaLocation":1102},"https://docs.gitlab.com/ja-jp","docs",{"text":866,"config":1274},{"href":868,"dataGaName":869,"dataGaLocation":1102},{"text":1276,"config":1277},"最新リリース",{"href":926,"dataGaName":927,"dataGaLocation":1102},{"text":861,"config":1279},{"href":863,"dataGaName":864,"dataGaLocation":1102},{"text":880,"config":1281},{"href":882,"dataGaName":883,"dataGaLocation":1102},{"text":888,"config":1283},{"href":890,"dataGaName":891,"dataGaLocation":1102},{"text":893,"config":1285},{"href":895,"dataGaName":896,"dataGaLocation":1102},{"text":898,"config":1287},{"href":900,"dataGaName":901,"dataGaLocation":1102},{"text":903,"config":1289},{"href":905,"dataGaName":906,"dataGaLocation":1102},{"text":908,"config":1291},{"href":910,"dataGaName":911,"dataGaLocation":1102},{"text":913,"config":1293},{"href":915,"dataGaName":916,"dataGaLocation":1102},{"title":1295,"links":1296},"会社情報",[1297,1299,1301,1303,1305,1307,1311,1316,1318,1320,1322],{"text":937,"config":1298},{"href":939,"dataGaName":931,"dataGaLocation":1102},{"text":942,"config":1300},{"href":944,"dataGaName":945,"dataGaLocation":1102},{"text":950,"config":1302},{"href":952,"dataGaName":953,"dataGaLocation":1102},{"text":955,"config":1304},{"href":957,"dataGaName":958,"dataGaLocation":1102},{"text":960,"config":1306},{"href":962,"dataGaName":963,"dataGaLocation":1102},{"text":1308,"config":1309},"Sustainability",{"href":1310,"dataGaName":1308,"dataGaLocation":1102},"/sustainability/",{"text":1312,"config":1313},"ダイバーシティ、インクルージョン、ビロンギング（DIB）",{"href":1314,"dataGaName":1315,"dataGaLocation":1102},"/ja-jp/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":965,"config":1317},{"href":967,"dataGaName":968,"dataGaLocation":1102},{"text":975,"config":1319},{"href":977,"dataGaName":978,"dataGaLocation":1102},{"text":980,"config":1321},{"href":982,"dataGaName":983,"dataGaLocation":1102},{"text":1323,"config":1324},"現代奴隷制の透明性に関する声明",{"href":1325,"dataGaName":1326,"dataGaLocation":1102},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"items":1328},[1329,1331,1334],{"text":1150,"config":1330},{"href":1152,"dataGaName":1153,"dataGaLocation":1102},{"text":1332,"config":1333},"Cookieの設定",{"dataGaName":1162,"dataGaLocation":1102,"id":1163,"isOneTrustButton":108},{"text":1155,"config":1335},{"href":1157,"dataGaName":1158,"dataGaLocation":1102},[1337],{"id":1338,"title":7,"body":639,"config":1339,"content":1341,"description":639,"extension":1345,"meta":1346,"navigation":108,"path":1347,"seo":1348,"stem":1349,"__hash__":1350},"blogAuthors/en-us/blog/authors/sam-morris.yml",{"template":1340},"BlogAuthor",{"name":7,"config":1342},{"headshot":1343,"ctfId":1344},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1749660148/Blog/Author%20Headshots/sam_morris.png","6JTrhUIqSCU30Y9KZOaan8","yml",{},"/en-us/blog/authors/sam-morris",{},"en-us/blog/authors/sam-morris","DfL241G6FQ5wNU6XYJLCEQLvnWBnyKnAi3wCPxOqBzE",[1352,1361,1369],{"title":1353,"description":1354,"heroImage":1355,"category":635,"date":1356,"authors":1357,"slug":1360,"externalUrl":639},"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",[1358,1359],"Erick Bajao","Joe Randazzo","gitlab-secrets-manager-add-eso-terraform-api-support",{"title":1362,"description":1363,"heroImage":1364,"category":635,"date":1365,"authors":1366,"slug":1368,"externalUrl":639},"Claudeが書き、GitLabがつなぐ：本番環境まで途切れないセキュリティ","Claude Securityはコーディングセッション内で脆弱性を検出します。そこから先はGitLabが引き継ぎ、スキャン、ポリシーの適用、そしてソフトウェアライフサイクル全体の監査エビデンス作成までを担います。","https://res.cloudinary.com/about-gitlab-com/image/upload/v1756122536/akivvcnafog9c4dhhzkp.png","2026-08-03",[1367],"Alisa Ho","claude-security-and-gitlab",{"title":1370,"description":1371,"heroImage":1372,"category":635,"date":1373,"authors":1374,"slug":1376,"externalUrl":639},"GitLab Duoセキュリティレビューでスキャナーが見逃すロジックの欠陥を検出","AIによるセキュリティ推論で、コードレビューの段階のうちに認可の不備やビジネスロジックのエラー、レース条件を検出します。","https://res.cloudinary.com/about-gitlab-com/image/upload/v1783980535/t3gez0gpayfndrhncunf.png","2026-07-16",[1375],"Mark Settle","gitlab-duo-security-review-flow",{"promotions":1378},[1379,1393,1405,1416],{"id":1380,"categories":1381,"header":1383,"text":1384,"button":1385,"image":1390},"ai-modernization",[1382],"ai","AIの真価、組織全体で発揮できていますか？","所要時間は5分以内です",{"text":1386,"config":1387},"AI成熟度スコアを確認する",{"href":1388,"dataGaName":1389,"dataGaLocation":869},"/ja-jp/assessments/ai-modernization-assessment/","modernization assessment",{"config":1391},{"src":1392},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/qix0m7kwnd8x2fh1zq49.png",{"id":1394,"categories":1395,"header":1397,"text":1384,"button":1398,"image":1402},"devops-modernization",[1396,1201],"product","単にツールを管理するだけでなく、イノベーションを提供していますか？",{"text":1399,"config":1400},"DevOps成熟度スコアを確認しましょう",{"href":1401,"dataGaName":1389,"dataGaLocation":869},"/ja-jp/assessments/devops-modernization-assessment/",{"config":1403},{"src":1404},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138785/eg818fmakweyuznttgid.png",{"id":1406,"categories":1407,"header":1408,"text":1384,"button":1409,"image":1413},"security-modernization",[635],"スピードのためにセキュリティを犠牲にしていませんか？",{"text":1410,"config":1411},"セキュリティ成熟度スコアを確認しましょう",{"href":1412,"dataGaName":1389,"dataGaLocation":869},"/ja-jp/assessments/security-modernization-assessment/",{"config":1414},{"src":1415},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1772138786/p4pbqd9nnjejg5ds6mdk.png",{"id":1417,"paths":1418,"header":1421,"text":1422,"button":1423,"image":1428},"github-azure-migration",[1419,1420],"migration-from-azure-devops-to-gitlab","integrating-azure-devops-scm-and-gitlab","チームはGitHubのAzure移行に対応できていますか？","GitHubはすでにAzureを基盤として再構築を進めています。それがあなたのチームにとって何を意味するのか、ご確認ください。",{"text":1424,"config":1425},"GitLabとGitHubの比較を見る",{"href":1426,"dataGaName":1427,"dataGaLocation":869},"/ja-jp/compare/gitlab-vs-github/github-azure-migration/","github azure migration",{"config":1429},{"src":1404},{"header":1431,"blurb":1432,"button":1433,"secondaryButton":1437},"今すぐ開発をスピードアップ","DevSecOpsに特化したインテリジェントオーケストレーションプラットフォームで実現できることをご確認ください。\n",{"text":663,"config":1434},{"href":1435,"dataGaName":666,"dataGaLocation":1436},"https://gitlab.com/-/trial_registrations/new?glm_content=default-saas-trial&glm_source=about.gitlab.com/ja-jp/","feature",{"text":985,"config":1438},{"href":994,"dataGaName":671,"dataGaLocation":1436},1786803790791]