[{"data":1,"prerenderedAt":692},["ShallowReactive",2],{"/en-us/blog/tags/zero-trust/":3,"navigation-ja-jp":20,"banner-ja-jp":437,"footer-ja-jp":450,"zero trust-tag-page-ja-jp":660},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":7,"content":8,"config":11,"_id":13,"_type":14,"title":15,"_source":16,"_file":17,"_stem":18,"_extension":19},"/en-us/blog/tags/zero-trust","tags",false,"",{"tag":9,"tagSlug":10},"zero trust","zero-trust",{"template":12},"BlogTag","content:en-us:blog:tags:zero-trust.yml","yaml","Zero Trust","content","en-us/blog/tags/zero-trust.yml","en-us/blog/tags/zero-trust","yml",{"_path":21,"_dir":22,"_draft":6,"_partial":6,"_locale":7,"data":23,"_id":433,"_type":14,"title":434,"_source":16,"_file":435,"_stem":436,"_extension":19},"/shared/ja-jp/main-navigation","ja-jp",{"logo":24,"freeTrial":29,"sales":34,"login":39,"items":44,"search":377,"minimal":411,"duo":424},{"config":25},{"href":26,"dataGaName":27,"dataGaLocation":28},"/ja-jp/","gitlab logo","header",{"text":30,"config":31},"無料トライアルを開始",{"href":32,"dataGaName":33,"dataGaLocation":28},"https://gitlab.com/-/trial_registrations/new?glm_source=about.gitlab.com&glm_content=default-saas-trial/","free trial",{"text":35,"config":36},"お問い合わせ",{"href":37,"dataGaName":38,"dataGaLocation":28},"/ja-jp/sales/","sales",{"text":40,"config":41},"サインイン",{"href":42,"dataGaName":43,"dataGaLocation":28},"https://gitlab.com/users/sign_in/","sign in",[45,89,188,193,299,359],{"text":46,"config":47,"cards":49,"footer":72},"プラットフォーム",{"dataNavLevelOne":48},"platform",[50,56,64],{"title":46,"description":51,"link":52},"最も包括的かつAIで強化されたDevSecOpsプラットフォーム",{"text":53,"config":54},"プラットフォームを詳しく見る",{"href":55,"dataGaName":48,"dataGaLocation":28},"/ja-jp/platform/",{"title":57,"description":58,"link":59},"GitLab Duo（AI）","開発のすべてのステージでAIを活用し、ソフトウェアをより迅速にビルド",{"text":60,"config":61},"GitLab Duoのご紹介",{"href":62,"dataGaName":63,"dataGaLocation":28},"/ja-jp/gitlab-duo/","gitlab duo ai",{"title":65,"description":66,"link":67},"GitLabが選ばれる理由","GitLabが大企業に選ばれる理由10選",{"text":68,"config":69},"詳細はこちら",{"href":70,"dataGaName":71,"dataGaLocation":28},"/ja-jp/why-gitlab/","why gitlab",{"title":73,"items":74},"利用を開始：",[75,80,85],{"text":76,"config":77},"プラットフォームエンジニアリング",{"href":78,"dataGaName":79,"dataGaLocation":28},"/ja-jp/solutions/platform-engineering/","platform engineering",{"text":81,"config":82},"開発者の経験",{"href":83,"dataGaName":84,"dataGaLocation":28},"/ja-jp/developer-experience/","Developer experience",{"text":86,"config":87},"MLOps",{"href":88,"dataGaName":86,"dataGaLocation":28},"/ja-jp/topics/devops/the-role-of-ai-in-devops/",{"text":90,"left":91,"config":92,"link":94,"lists":98,"footer":170},"製品",true,{"dataNavLevelOne":93},"solutions",{"text":95,"config":96},"すべてのソリューションを表示",{"href":97,"dataGaName":93,"dataGaLocation":28},"/ja-jp/solutions/",[99,125,148],{"title":100,"description":101,"link":102,"items":107},"自動化","CI/CDと自動化でデプロイを加速",{"config":103},{"icon":104,"href":105,"dataGaName":106,"dataGaLocation":28},"AutomatedCodeAlt","/ja-jp/solutions/delivery-automation/","automated software delivery",[108,112,116,121],{"text":109,"config":110},"CI/CD",{"href":111,"dataGaLocation":28,"dataGaName":109},"/ja-jp/solutions/continuous-integration/",{"text":113,"config":114},"AIアシストによる開発",{"href":62,"dataGaLocation":28,"dataGaName":115},"AI assisted development",{"text":117,"config":118},"ソースコード管理",{"href":119,"dataGaLocation":28,"dataGaName":120},"/ja-jp/solutions/source-code-management/","Source Code Management",{"text":122,"config":123},"自動化されたソフトウェアデリバリー",{"href":105,"dataGaLocation":28,"dataGaName":124},"Automated software delivery",{"title":126,"description":127,"link":128,"items":133},"セキュリティ","セキュリティを損なうことなくコードをより迅速に完成",{"config":129},{"href":130,"dataGaName":131,"dataGaLocation":28,"icon":132},"/ja-jp/solutions/security-compliance/","security and compliance","ShieldCheckLight",[134,139,144],{"text":135,"config":136},"Application Security Testing",{"href":137,"dataGaName":138,"dataGaLocation":28},"/solutions/application-security-testing/","Application security testing",{"text":140,"config":141},"ソフトウェアサプライチェーンの安全性",{"href":142,"dataGaLocation":28,"dataGaName":143},"/ja-jp/solutions/supply-chain/","Software supply chain security",{"text":145,"config":146},"Software Compliance",{"href":147,"dataGaName":145,"dataGaLocation":28},"/solutions/software-compliance/",{"title":149,"link":150,"items":155},"測定",{"config":151},{"icon":152,"href":153,"dataGaName":154,"dataGaLocation":28},"DigitalTransformation","/ja-jp/solutions/visibility-measurement/","visibility and measurement",[156,160,165],{"text":157,"config":158},"可視性と測定",{"href":153,"dataGaLocation":28,"dataGaName":159},"Visibility and Measurement",{"text":161,"config":162},"バリューストリーム管理",{"href":163,"dataGaLocation":28,"dataGaName":164},"/ja-jp/solutions/value-stream-management/","Value Stream Management",{"text":166,"config":167},"分析とインサイト",{"href":168,"dataGaLocation":28,"dataGaName":169},"/ja-jp/solutions/analytics-and-insights/","Analytics and insights",{"title":171,"items":172},"GitLabが活躍する場所",[173,178,183],{"text":174,"config":175},"Enterprise",{"href":176,"dataGaLocation":28,"dataGaName":177},"/ja-jp/enterprise/","enterprise",{"text":179,"config":180},"スモールビジネス",{"href":181,"dataGaLocation":28,"dataGaName":182},"/ja-jp/small-business/","small business",{"text":184,"config":185},"公共機関",{"href":186,"dataGaLocation":28,"dataGaName":187},"/ja-jp/solutions/public-sector/","public sector",{"text":189,"config":190},"価格",{"href":191,"dataGaName":192,"dataGaLocation":28,"dataNavLevelOne":192},"/ja-jp/pricing/","pricing",{"text":194,"config":195,"link":197,"lists":201,"feature":286},"関連リソース",{"dataNavLevelOne":196},"resources",{"text":198,"config":199},"すべてのリソースを表示",{"href":200,"dataGaName":196,"dataGaLocation":28},"/ja-jp/resources/",[202,235,258],{"title":203,"items":204},"はじめに",[205,210,215,220,225,230],{"text":206,"config":207},"インストール",{"href":208,"dataGaName":209,"dataGaLocation":28},"/ja-jp/install/","install",{"text":211,"config":212},"クイックスタートガイド",{"href":213,"dataGaName":214,"dataGaLocation":28},"/ja-jp/get-started/","quick setup checklists",{"text":216,"config":217},"学ぶ",{"href":218,"dataGaLocation":28,"dataGaName":219},"https://university.gitlab.com/","learn",{"text":221,"config":222},"製品ドキュメント",{"href":223,"dataGaName":224,"dataGaLocation":28},"https://docs.gitlab.com/","product documentation",{"text":226,"config":227},"ベストプラクティスビデオ",{"href":228,"dataGaName":229,"dataGaLocation":28},"/ja-jp/getting-started-videos/","best practice videos",{"text":231,"config":232},"インテグレーション",{"href":233,"dataGaName":234,"dataGaLocation":28},"/ja-jp/integrations/","integrations",{"title":236,"items":237},"検索する",[238,243,248,253],{"text":239,"config":240},"お客様成功事例",{"href":241,"dataGaName":242,"dataGaLocation":28},"/ja-jp/customers/","customer success stories",{"text":244,"config":245},"ブログ",{"href":246,"dataGaName":247,"dataGaLocation":28},"/ja-jp/blog/","blog",{"text":249,"config":250},"リモート",{"href":251,"dataGaName":252,"dataGaLocation":28},"https://handbook.gitlab.com/handbook/company/culture/all-remote/","remote",{"text":254,"config":255},"TeamOps",{"href":256,"dataGaName":257,"dataGaLocation":28},"/ja-jp/teamops/","teamops",{"title":259,"items":260},"つなげる",[261,266,271,276,281],{"text":262,"config":263},"GitLabサービス",{"href":264,"dataGaName":265,"dataGaLocation":28},"/ja-jp/services/","services",{"text":267,"config":268},"コミュニティ",{"href":269,"dataGaName":270,"dataGaLocation":28},"/community/","community",{"text":272,"config":273},"フォーラム",{"href":274,"dataGaName":275,"dataGaLocation":28},"https://forum.gitlab.com/","forum",{"text":277,"config":278},"イベント",{"href":279,"dataGaName":280,"dataGaLocation":28},"/events/","events",{"text":282,"config":283},"パートナー",{"href":284,"dataGaName":285,"dataGaLocation":28},"/ja-jp/partners/","partners",{"backgroundColor":287,"textColor":288,"text":289,"image":290,"link":294},"#2f2a6b","#fff","ソフトウェア開発の未来への洞察",{"altText":291,"config":292},"ソースプロモカード",{"src":293},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758208064/dzl0dbift9xdizyelkk4.svg",{"text":295,"config":296},"最新情報を読む",{"href":297,"dataGaName":298,"dataGaLocation":28},"/ja-jp/the-source/","the source",{"text":300,"config":301,"lists":303},"Company",{"dataNavLevelOne":302},"company",[304],{"items":305},[306,311,317,319,324,329,334,339,344,349,354],{"text":307,"config":308},"GitLabについて",{"href":309,"dataGaName":310,"dataGaLocation":28},"/ja-jp/company/","about",{"text":312,"config":313,"footerGa":316},"採用情報",{"href":314,"dataGaName":315,"dataGaLocation":28},"/jobs/","jobs",{"dataGaName":315},{"text":277,"config":318},{"href":279,"dataGaName":280,"dataGaLocation":28},{"text":320,"config":321},"経営陣",{"href":322,"dataGaName":323,"dataGaLocation":28},"/company/team/e-group/","leadership",{"text":325,"config":326},"チーム",{"href":327,"dataGaName":328,"dataGaLocation":28},"/company/team/","team",{"text":330,"config":331},"ハンドブック",{"href":332,"dataGaName":333,"dataGaLocation":28},"https://handbook.gitlab.com/","handbook",{"text":335,"config":336},"投資家向け情報",{"href":337,"dataGaName":338,"dataGaLocation":28},"https://ir.gitlab.com/","investor relations",{"text":340,"config":341},"トラストセンター",{"href":342,"dataGaName":343,"dataGaLocation":28},"/ja-jp/security/","trust center",{"text":345,"config":346},"AI Transparency Center",{"href":347,"dataGaName":348,"dataGaLocation":28},"/ja-jp/ai-transparency-center/","ai transparency center",{"text":350,"config":351},"ニュースレター",{"href":352,"dataGaName":353,"dataGaLocation":28},"/company/contact/","newsletter",{"text":355,"config":356},"プレス",{"href":357,"dataGaName":358,"dataGaLocation":28},"/press/","press",{"text":35,"config":360,"lists":361},{"dataNavLevelOne":302},[362],{"items":363},[364,367,372],{"text":35,"config":365},{"href":37,"dataGaName":366,"dataGaLocation":28},"talk to sales",{"text":368,"config":369},"サポートを受ける",{"href":370,"dataGaName":371,"dataGaLocation":28},"/support/","get help",{"text":373,"config":374},"カスタマーポータル",{"href":375,"dataGaName":376,"dataGaLocation":28},"https://customers.gitlab.com/customers/sign_in/","customer portal",{"close":378,"login":379,"suggestions":386},"閉じる",{"text":380,"link":381},"リポジトリとプロジェクトを検索するには、次にログインします",{"text":382,"config":383},"GitLab.com",{"href":42,"dataGaName":384,"dataGaLocation":385},"search login","search",{"text":387,"default":388},"提案",[389,392,397,399,403,407],{"text":57,"config":390},{"href":62,"dataGaName":391,"dataGaLocation":385},"GitLab Duo (AI)",{"text":393,"config":394},"コード提案（AI）",{"href":395,"dataGaName":396,"dataGaLocation":385},"/ja-jp/solutions/code-suggestions/","Code Suggestions (AI)",{"text":109,"config":398},{"href":111,"dataGaName":109,"dataGaLocation":385},{"text":400,"config":401},"GitLab on AWS",{"href":402,"dataGaName":400,"dataGaLocation":385},"/ja-jp/partners/technology-partners/aws/",{"text":404,"config":405},"GitLab on Google Cloud",{"href":406,"dataGaName":404,"dataGaLocation":385},"/ja-jp/partners/technology-partners/google-cloud-platform/",{"text":408,"config":409},"GitLabを選ぶ理由",{"href":70,"dataGaName":410,"dataGaLocation":385},"Why GitLab?",{"freeTrial":412,"mobileIcon":416,"desktopIcon":421},{"text":30,"config":413},{"href":414,"dataGaName":33,"dataGaLocation":415},"https://gitlab.com/-/trials/new/","nav",{"altText":417,"config":418},"GitLabアイコン",{"src":419,"dataGaName":420,"dataGaLocation":415},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203874/jypbw1jx72aexsoohd7x.svg","gitlab icon",{"altText":417,"config":422},{"src":423,"dataGaName":420,"dataGaLocation":415},"https://res.cloudinary.com/about-gitlab-com/image/upload/v1758203875/gs4c8p8opsgvflgkswz9.svg",{"freeTrial":425,"mobileIcon":429,"desktopIcon":431},{"text":426,"config":427},"GitLab Duoの詳細について",{"href":62,"dataGaName":428,"dataGaLocation":415},"gitlab duo",{"altText":417,"config":430},{"src":419,"dataGaName":420,"dataGaLocation":415},{"altText":417,"config":432},{"src":423,"dataGaName":420,"dataGaLocation":415},"content:shared:ja-jp:main-navigation.yml","Main Navigation","shared/ja-jp/main-navigation.yml","shared/ja-jp/main-navigation",{"_path":438,"_dir":22,"_draft":6,"_partial":6,"_locale":7,"title":439,"button":440,"config":445,"_id":447,"_type":14,"_source":16,"_file":448,"_stem":449,"_extension":19},"/shared/ja-jp/banner","GitLab Duo Agent Platformがパブリックベータ版で利用可能になりました！",{"text":441,"config":442},"ベータ版を試す",{"href":443,"dataGaName":444,"dataGaLocation":28},"/ja-jp/gitlab-duo/agent-platform/","duo banner",{"layout":446},"release","content:shared:ja-jp:banner.yml","shared/ja-jp/banner.yml","shared/ja-jp/banner",{"_path":451,"_dir":22,"_draft":6,"_partial":6,"_locale":7,"data":452,"_id":656,"_type":14,"title":657,"_source":16,"_file":658,"_stem":659,"_extension":19},"/shared/ja-jp/main-footer",{"text":453,"source":454,"edit":460,"contribute":465,"config":470,"items":475,"minimal":648},"GitはSoftware Freedom Conservancyの商標です。当社は「GitLab」をライセンスに基づいて使用しています",{"text":455,"config":456},"ページのソースを表示",{"href":457,"dataGaName":458,"dataGaLocation":459},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/","page source","footer",{"text":461,"config":462},"このページを編集",{"href":463,"dataGaName":464,"dataGaLocation":459},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/content/","web ide",{"text":466,"config":467},"ご協力をお願いします",{"href":468,"dataGaName":469,"dataGaLocation":459},"https://gitlab.com/gitlab-com/marketing/digital-experience/about-gitlab-com/-/blob/main/CONTRIBUTING.md/","please contribute",{"twitter":471,"facebook":472,"youtube":473,"linkedin":474},"https://twitter.com/gitlab","https://www.facebook.com/gitlab","https://www.youtube.com/channel/UCnMGQ8QHMAnVIsI3xJrihhg","https://www.linkedin.com/company/gitlab-com",[476,499,553,586,620],{"title":46,"links":477,"subMenu":482},[478],{"text":479,"config":480},"DevSecOpsプラットフォーム",{"href":55,"dataGaName":481,"dataGaLocation":459},"devsecops platform",[483],{"title":189,"links":484},[485,489,494],{"text":486,"config":487},"プランの表示",{"href":191,"dataGaName":488,"dataGaLocation":459},"view plans",{"text":490,"config":491},"Premiumを選ぶ理由",{"href":492,"dataGaName":493,"dataGaLocation":459},"/ja-jp/pricing/premium/","why premium",{"text":495,"config":496},"Ultimateを選ぶ理由",{"href":497,"dataGaName":498,"dataGaLocation":459},"/ja-jp/pricing/ultimate/","why ultimate",{"title":500,"links":501},"ソリューション",[502,507,510,512,517,522,526,529,532,537,539,541,543,548],{"text":503,"config":504},"デジタルトランスフォーメーション",{"href":505,"dataGaName":506,"dataGaLocation":459},"/ja-jp/topics/digital-transformation/","digital transformation",{"text":508,"config":509},"セキュリティとコンプライアンス",{"href":137,"dataGaName":138,"dataGaLocation":459},{"text":122,"config":511},{"href":105,"dataGaName":106,"dataGaLocation":459},{"text":513,"config":514},"アジャイル開発",{"href":515,"dataGaName":516,"dataGaLocation":459},"/ja-jp/solutions/agile-delivery/","agile delivery",{"text":518,"config":519},"クラウドトランスフォーメーション",{"href":520,"dataGaName":521,"dataGaLocation":459},"/ja-jp/topics/cloud-native/","cloud transformation",{"text":523,"config":524},"SCM",{"href":119,"dataGaName":525,"dataGaLocation":459},"source code management",{"text":109,"config":527},{"href":111,"dataGaName":528,"dataGaLocation":459},"continuous integration & delivery",{"text":161,"config":530},{"href":163,"dataGaName":531,"dataGaLocation":459},"value stream management",{"text":533,"config":534},"GitOps",{"href":535,"dataGaName":536,"dataGaLocation":459},"/ja-jp/solutions/gitops/","gitops",{"text":174,"config":538},{"href":176,"dataGaName":177,"dataGaLocation":459},{"text":179,"config":540},{"href":181,"dataGaName":182,"dataGaLocation":459},{"text":184,"config":542},{"href":186,"dataGaName":187,"dataGaLocation":459},{"text":544,"config":545},"教育",{"href":546,"dataGaName":547,"dataGaLocation":459},"/ja-jp/solutions/education/","education",{"text":549,"config":550},"金融サービス",{"href":551,"dataGaName":552,"dataGaLocation":459},"/ja-jp/solutions/finance/","financial services",{"title":194,"links":554},[555,557,559,561,564,566,570,572,574,576,578,580,582,584],{"text":206,"config":556},{"href":208,"dataGaName":209,"dataGaLocation":459},{"text":211,"config":558},{"href":213,"dataGaName":214,"dataGaLocation":459},{"text":216,"config":560},{"href":218,"dataGaName":219,"dataGaLocation":459},{"text":221,"config":562},{"href":223,"dataGaName":563,"dataGaLocation":459},"docs",{"text":244,"config":565},{"href":246,"dataGaName":247},{"text":567,"config":568},"お客様の成功事例",{"href":569,"dataGaLocation":459},"/customers/",{"text":239,"config":571},{"href":241,"dataGaName":242,"dataGaLocation":459},{"text":249,"config":573},{"href":251,"dataGaName":252,"dataGaLocation":459},{"text":262,"config":575},{"href":264,"dataGaName":265,"dataGaLocation":459},{"text":254,"config":577},{"href":256,"dataGaName":257,"dataGaLocation":459},{"text":267,"config":579},{"href":269,"dataGaName":270,"dataGaLocation":459},{"text":272,"config":581},{"href":274,"dataGaName":275,"dataGaLocation":459},{"text":277,"config":583},{"href":279,"dataGaName":280,"dataGaLocation":459},{"text":282,"config":585},{"href":284,"dataGaName":285,"dataGaLocation":459},{"title":300,"links":587},[588,590,592,594,596,598,600,604,609,611,613,615],{"text":307,"config":589},{"href":309,"dataGaName":302,"dataGaLocation":459},{"text":312,"config":591},{"href":314,"dataGaName":315,"dataGaLocation":459},{"text":320,"config":593},{"href":322,"dataGaName":323,"dataGaLocation":459},{"text":325,"config":595},{"href":327,"dataGaName":328,"dataGaLocation":459},{"text":330,"config":597},{"href":332,"dataGaName":333,"dataGaLocation":459},{"text":335,"config":599},{"href":337,"dataGaName":338,"dataGaLocation":459},{"text":601,"config":602},"Sustainability",{"href":603,"dataGaName":601,"dataGaLocation":459},"/sustainability/",{"text":605,"config":606},"ダイバーシティ、インクルージョン、ビロンギング（DIB）",{"href":607,"dataGaName":608,"dataGaLocation":459},"/ja-jp/diversity-inclusion-belonging/","Diversity, inclusion and belonging",{"text":340,"config":610},{"href":342,"dataGaName":343,"dataGaLocation":459},{"text":350,"config":612},{"href":352,"dataGaName":353,"dataGaLocation":459},{"text":355,"config":614},{"href":357,"dataGaName":358,"dataGaLocation":459},{"text":616,"config":617},"現代奴隷制の透明性に関する声明",{"href":618,"dataGaName":619,"dataGaLocation":459},"https://handbook.gitlab.com/handbook/legal/modern-slavery-act-transparency-statement/","modern slavery transparency statement",{"title":35,"links":621},[622,624,626,628,633,638,643],{"text":35,"config":623},{"href":37,"dataGaName":38,"dataGaLocation":459},{"text":368,"config":625},{"href":370,"dataGaName":371,"dataGaLocation":459},{"text":373,"config":627},{"href":375,"dataGaName":376,"dataGaLocation":459},{"text":629,"config":630},"ステータス",{"href":631,"dataGaName":632,"dataGaLocation":459},"https://status.gitlab.com/","status",{"text":634,"config":635},"利用規約",{"href":636,"dataGaName":637,"dataGaLocation":459},"/terms/","terms of use",{"text":639,"config":640},"プライバシーに関する声明",{"href":641,"dataGaName":642,"dataGaLocation":459},"/ja-jp/privacy/","privacy statement",{"text":644,"config":645},"Cookieの設定",{"dataGaName":646,"dataGaLocation":459,"id":647,"isOneTrustButton":91},"cookie preferences","ot-sdk-btn",{"items":649},[650,652,654],{"text":634,"config":651},{"href":636,"dataGaName":637,"dataGaLocation":459},{"text":639,"config":653},{"href":641,"dataGaName":642,"dataGaLocation":459},{"text":644,"config":655},{"dataGaName":646,"dataGaLocation":459,"id":647,"isOneTrustButton":91},"content:shared:ja-jp:main-footer.yml","Main Footer","shared/ja-jp/main-footer.yml","shared/ja-jp/main-footer",{"allPosts":661,"featuredPost":662,"totalPagesCount":690,"initialPosts":691},[],{"_path":663,"_dir":247,"_draft":6,"_partial":6,"_locale":7,"seo":664,"content":672,"config":683,"_id":686,"_type":14,"title":687,"_source":16,"_file":688,"_stem":689,"_extension":19},"/ja-jp/blog/migration-guide-github-advanced-security-to-gitlab-ultimate",{"title":665,"description":666,"ogTitle":665,"ogDescription":666,"noIndex":6,"ogImage":667,"ogUrl":668,"ogSiteName":669,"ogType":670,"canonicalUrls":668,"schema":671},"GitHub Advanced SecurityプランからGitLab Ultimateプランへの移行ガイド","GitLab UltimateとGitHub Advanced Securityの共通点と違いを理解し、GitLab DevSecOpsプラットフォームへの移行を段階的に進めるための詳細ガイドです。","https://res.cloudinary.com/about-gitlab-com/image/upload/v1749666187/Blog/Hero%20Images/blog-image-template-1800x945__6_.png","https://about.gitlab.com/blog/migration-guide-github-advanced-security-to-gitlab-ultimate","https://about.gitlab.com","article","\n                        {\n        \"@context\": \"https://schema.org\",\n        \"@type\": \"Article\",\n        \"headline\": \"GitHub Advanced SecurityプランからGitLab Ultimateプランへの移行ガイド\",\n        \"author\": [{\"@type\":\"Person\",\"name\":\"Fernando Diaz\"}],\n        \"datePublished\": \"2024-05-01\",\n      }",{"title":665,"description":666,"authors":673,"heroImage":667,"date":675,"body":676,"category":677,"tags":678,"updatedDate":682},[674],"Fernando Diaz","2024-05-01","GitLabは、最も包括的なAIを搭載したDevSecOpsプラットフォームで、ソフトウェアデリバリーライフサイクル全体を1つのプラットフォームで実現することで、より安全で迅速なソフトウェアのリリースを可能にしています。GitHubでは、GitHub内の追加のセキュリティ機能を有効にするAdvanced\nSecurityアドオンを提供してはいますが、GitLabと比較すると、ネイティブに提供するセキュリティ機能の深さと幅広さでは機能の範囲と深さが限定的です。SDLCのすべての領域にわたってセキュリティを強化すべくGitLab\nUltimateプランへの移行を検討している組織は、このガイドを参考にして両製品を比較し、またGitLabプラットフォームに移行するためのチュートリアルとしてもお役立てください。\n\n\nこの記事には次の内容が含まれます\n\n\n- GitLab UltimateとGitHub Advanced Securityの比較\n\n- GitHubリポジトリをGitLabに移行する方法\n\n- GitHub Advanced SecurityからGitLab Ultimateへの機能別の移行方法\n\n- GitLab Ultimateのセキュリティ追加機能の紹介\n\n\n## GitLab UltimateとGitHub Advanced Securityの比較\n\n\n[GitLab\nUltimate](https://about.gitlab.com/ja-jp/pricing/ultimate/)は、安全なソフトウェアをより速く提供したいと考えている企業向けの、GitLabの最上位サブスクリプションプランです。GitHub\nAdvanced Securityは、追加のセキュリティ機能を有効にするGitHub Enterpriseのアドオンです。\n\n\n### GitLab UltimateとGitHub Advanced Securityの類似点\n\n\nGitLab UltimateとGitHub Advanced Securityの両プランに次の機能が搭載されています。\n\n\n-\n静的アプリケーションセキュリティテスト（[SAST](https://docs.gitlab.com/ee/user/application_security/sast/)）、シークレットスキャン、依存関係スキャン\n\n- コンテキスト脆弱性インテリジェンスと解決策のアドバイス\n\n-\n依存関係またはソフトウェア部品表のリスト（[SBOM](https://about.gitlab.com/blog/the-ultimate-guide-to-sboms/)）\n\n- セキュリティ指標と分析情報\n\n\n### GitLab UltimateとGitHub Advanced Securityの相違点\n\n\nGitLab Ultimateは、次の点でGitHub Advanced Securityと異なります。\n\n\n-\nGitLabは、コンテナスキャン、動的アプリケーションセキュリティテスト（[DAST](https://docs.gitlab.com/ee/user/application_security/dast/)）、Web\nAPIファジングなどの追加のコードスキャナーをネイティブに提供します。スキャナーは、カスタムルールセットを備え最適化された、独自のオープンソーステクノロジーを組み合わせたものです。完全なリストについては、[GitLab\nAppSecのドキュメント](https://docs.gitlab.com/ee/user/application_security/secure_your_application.html)をご覧ください。\n\n-\nGitLabは、セキュリティ上問題のあるコードが承認なしにマージされることを防ぐため、[詳細な制御機能（セキュリティガードレール）](https://docs.gitlab.com/ee/user/application_security/policies/)を提供しています。\n\n\n-\nGitLabセキュリティスキャナーは、[インターネット未接続（エアギャップ）環境や制限付きネットワーク環境](https://docs.gitlab.com/ee/user/application_security/offline_deployments/)でも実行可能です。\n\n\n-\nGitLabは、組織全体のコンプライアンス違反を監視できる[コンプライアンスセンター](https://docs.gitlab.com/ee/user/compliance/compliance_center/)を提供しています。\n\n\nさらにGitLab\nUltimateでは、追加のセキュリティやコンプライアンス機能、ポートフォリオとバリューストリームの管理、アップグレード時のライブサポート機能なども提供しています。追加機能の詳細については、[GitLab\nUltimateのドキュメント](https://about.gitlab.com/ja-jp/pricing/ultimate/)を参照してください。\n\n\n## GitHubリポジトリをGitLabに移行する方法\n\n\nGitLabには、GitHub.comまたはGitHub\nEnterpriseからGitHubプロジェクトをGitLabにインポートできるインポーターが組み込まれています。インポーターを使用すると、GitHubリポジトリだけでなく、イシュー、コラボレーター（メンバー）、プルリクエストなど他のオブジェクトもGitLabに移行できます。移行できるものの全リストについては、[GitHubインポートされたデータのドキュメント](https://docs.gitlab.com/ee/user/project/import/github.html#imported-data)を参照してください。移行は次の手順で行います。\n\n1. 左側のサイドバー上部で **新規作成（+）** を選択する\n\n3. **GitLab内**セクションで**新しいプロジェクト/リポジトリ**を選択する\n\n4. **プロジェクトのインポート**を選択する\n\n\n![迷路化したバージョンの中心にGitLabのアイコン](https://res.cloudinary.com/about-gitlab-com/image/upload/v1749674404/Blog/Content%20Images/1-Import-Project.png)\n\n\n4. **GitHub**ボタンを押す\n\n- GitLab\nSelf-Managedを使用している場合は、[GitHubインポーターを有効にする](https://docs.gitlab.com/ee/administration/settings/import_and_export_settings.html#configure-allowed-import-sources)必要があります\n\n- 他のインポーターも同様の方法で開始できます\n\n5. これで、以下のいずれかが可能になりました\n\n- **GitHubで認証**を選択して、GitHub Oauthで認証する\n\n- GitHubのパーソナルアクセストークンを使う\n  - [https://github.com/settings/tokens/new](https://github.com/settings/tokens/new)に移動します\n  - **Note**フィールドにトークンの説明を入力します\n  - **リポジトリ**スコープを選択します\n  - オプションとしてコラボレーターをインポートするには、**read:org**スコープを選択します\n  - **トークンを生成**ボタンを押します\n  - GitLabのインポートページのパーソナルアクセストークンフィールドに、GitHubのパーソナルアクセストークンを貼り付けます\n6. **認証**ボタンを押す\n\n7. 移行するアイテムを選択する\n\n8. 移行するプロジェクトと場所を選択する\n\n9. **インポート**ボタンを押す\n\n\nインポートされたプロジェクトがワークスペースにあることをご確認ください。GitHubからGitLabへの移行に関するさらに詳しいガイダンスは、次の動画をご覧ください。\n\n\n\u003C!-- 空白行 -->\n\n\u003Cfigure class=\"video_container\">\n  \u003Ciframe src=\"https://www.youtube.com/embed/0Id5oMl1Kqs?si=HEpZVy94cpfPfAky\" frameborder=\"0\" allowfullscreen=\"true\"> \u003C/iframe>\n\u003C/figure>\n\n\u003C!--空白行-->\n\n\n[GitHubパーソナルアクセストークン](https://docs.gitlab.com/ee/user/project/import/github.html#use-a-github-personal-access-token)または[GitLab\nREST\nAPI](https://docs.gitlab.com/ee/user/project/import/github.html#use-the-api)を使用した移行も可能です。また、インポーターは、BitbucketやGiteaなどの他のソースからのインポートも支援します。詳細については、[インポーターのドキュメント](https://docs.gitlab.com/ee/user/project/import/)を参照してください。\n\n\n## 機能別の移行方法\n\n\n次は、GitLab UltimateのGitHub Advanced\nSecurityが提供する各機能の活用方法について見てみましょう。続行するには、[GitLab\nUltimateライセンス](https://about.gitlab.com/ja-jp/pricing/ultimate/)が必要です。GitLabは、[無料トライアル](https://about.gitlab.com/ja-jp/free-trial/devsecops/)がお試しいただけます。\n\n\n### コードスキャン\n\nGitHubでは、静的ソースコードの文脈上の脆弱性インテリジェンスやアドバイスを提供する目的でコードスキャンを実行しています。[SAST](https://docs.gitlab.com/ee/user/application_security/sast/)を有効にすることで、GitLab内でも同じことができます。GitLab\nSASTスキャナーは、GitHubの[CodeQL](https://docs.github.com/en/code-security/code-scanning/introduction-to-code-scanning/about-code-scanning-with-codeql#about-codeql)よりも幅広いプログラミング言語とフレームワークをカバーしています。\n\n\nGitLabでコードスキャンを有効にすれば、[SASTテンプレート](https://docs.gitlab.com/ee/user/application_security/sast/#configure-sast-in-your-cicd-yaml)を`.gitlab-ci.yml`に追加するだけです。\n\n\n```yaml\n\ninclude:\n  - template: Jobs/SAST.gitlab-ci.yml\n```\n\n\nテンプレートが追加されると、新しいコードがチェックインされるたびに、SASTはプロジェクトで使用されている[プログラミング言語](https://docs.gitlab.com/ee/user/application_security/sast/#supported-languages-and-frameworks)を自動的に検出します。そして、ソースコードに既知の脆弱性がないかスキャンします。\n\n\n**注：**\nセキュリティスキャナーは、GitLabの[セキュリティ設定](https://docs.gitlab.com/ee/user/application_security/configuration/)からプロジェクトに追加することもできます。これにより、パイプラインを更新するためのマージリクエストを自動的に作成できます。詳細については、[UIドキュメントを使用してSASTを構成する](https://docs.gitlab.com/ee/user/application_security/sast/#configure-sast-by-using-the-ui)を参照してください。\n\n\nフィーチャーブランチとターゲットブランチの差分のSAST結果は、マージリクエストウィジェットで表示されます。マージリクエストウィジェットには、マージリクエストで行われた変更によって導入されたSASTの結果と解決策が表示されます。\n\n\n![マージリクエストでのセキュリティスキャン](https://res.cloudinary.com/about-gitlab-com/image/upload/v1749674404/Blog/Content%20Images/2-SAST-MR-View.png)\n\n\nどの脆弱性にも、詳細な説明、重大度、場所、解決情報など、修正を支援するデータが表示されます。\n\n\n![SASTの脆弱性の詳細](https://res.cloudinary.com/about-gitlab-com/image/upload/v1749674404/Blog/Content%20Images/3-SAST-MR-View-Detailed.png)\n\n\n脆弱性への対処として次が挙げられます。\n\n\n-\n**脆弱性を無視**：デベロッパーがコメントで脆弱性を無視できるようにします。そうすることで、セキュリティチームがレビューを実行できるようになります。\n\n- **イシューを作成**：イシューを作成して、追加の監視が必要な脆弱性を追跡できるようにします。\n\n\nこれらの変更内容は、マージリクエスト内の**差分表示画面**でもインラインで確認できます。\n\n\n![SASTの脆弱性がビューを変更](https://res.cloudinary.com/about-gitlab-com/image/upload/v1749674404/Blog/Content%20Images/4-SAST-MR-View-Changes.png)\n\n\n#### SASTスキャナーのカスタマイズ\n\n\nGitLabでは、SASTジョブの定義を上書きできるため、変数、依存関係、ルールなどのプロパティを変更できます。これは、SASTジョブと同じ名前のジョブ名を宣言し、上書きして実行できます。次に、テンプレートをインクルードした後にこの新しいジョブを配置し、その下に追加のキーを指定します。\n\n\nたとえば、次のような設定ができます：\n\n- `semgrep-sast`スキャナーが使用するバージョンを上書きする\n\n- `gosec-sast`を実行する前に、プライベートプロジェクトからモジュールを取得するスクリプトを実行する\n\n- すべてのスキャナーが最大深度10で検索するように設定する\n\n\n```yaml\n\ninclude：\n  - template：Jobs/SAST.gitlab-ci.yml\n\nvariables：\n  SEARCH_MAX_DEPTH：10\n\nsemgrep-sast：\n  variables：\n    SAST_ANALYZER_IMAGE_TAG：\"3.7\"\n\ngosec-sast：\n  before_script：\n    - |\n      cat \u003C\u003CEOF > ~/.netrc\n      machine gitlab.com\n      login $CI_DEPLOY_USER\n      password $CI_DEPLOY_PASSWORD\n      EOF\n```\n\n\n**注：** 利用可能なSASTジョブは、[' SAST.gitlab-ci.yml\n`テンプレート](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Jobs/SAST.gitlab-ci.yml)にあります。設定については、[利用可能なSAST\nCI/CD変数のドキュメント](https://docs.gitlab.com/ee/user/application_security/sast/#available-cicd-variables)を参照してください。\n\n\n#### SASTルールセットのカスタマイズ\n\n\nGitLabはSASTアナライザーごとにコードを処理し、ルールを使用してソースコードの脆弱性を特定します。これらのルールは、スキャナーが報告する弱点の種類を決定します。\n\n\n-\nSemgrepを基盤としたSASTスキャナーについては、GitLabが検出ルールの作成、保守、サポートを一括して提供しています。Semgrepオープンソースエンジン、GitLabの管理による検出ルール、脆弱性追跡と誤検出のためのGitLab独自の技術を集結しています。\n\n- 他のSASTアナライザーの場合、ルールは各スキャナーのupstreamプロジェクトで定義されています。\n\n\nスキャンされるリポジトリ内の設定ファイルを定義することで、SASTスキャナーの動作をカスタマイズできます。\n\n- 事前定義されたルールを無効にする（すべてのアナライザーで利用可能）\n\n- 事前定義されたルールを上書きする（すべてのアナライザーで利用可能）\n\n- パススルーを使用してカスタム設定を合成することにより、事前定義されたルールを置き換える\n\n\nSASTルールの設定の詳細と例については、[SASTルール](https://docs.gitlab.com/ee/user/application_security/sast/rules.html)と[ルールセットのカスタマイズのドキュメント](https://docs.gitlab.com/ee/user/application_security/sast/customize_rulesets.html)を参照してください。\n\n\n### シークレットスキャン\n\n\nGitHubは、流出したシークレットを見つけ、ブロックし、取り消すことができるシークレットスキャンをサポートします。[シークレット検出](https://docs.gitlab.com/ee/user/application_security/secret_detection/)を有効にすることで、GitLab内でも同じことができます。\n\n\nGitLabでシークレット検出を有効にするには、次のテンプレートを'.gitlab-ci.yml `に追加するだけです。\n\n\n```yaml\n\ninclude:\n  - template: Jobs/Secret-Detection.gitlab-ci.yml\n```\n\n\nテンプレートが追加されると、新しいコードがチェックインされる（またはパイプラインが実行される）たびに、シークレットスキャナーは既知のシークレットのソースコードをスキャンします。パイプラインでのシークレット検出は、コードの各要素を別々にスキャンします。「デフォルトブランチ」を除くすべてのメソッドでは、パイプラインシークレット検出はワークツリーではなくコミットをスキャンします。シークレットスキャンの仕組みについては、[シークレット検出カバレッジドキュメント](https://docs.gitlab.com/ee/user/application_security/secret_detection/pipeline/#coverage)を参照してください。\n\n\nマージリクエストを作成する際、シークレット検出はソースブランチで行われたすべてのコミットをスキャンします。SASTと同様に、検出されたすべての脆弱性から、修正プロセスを支援するため、以下の情報（ロケーションなど）や識別子を提供します。\n\n\n![シークレット検出の脆弱性の詳細](https://res.cloudinary.com/about-gitlab-com/image/upload/v1749674404/Blog/Content%20Images/5-Secret-Detection-MR-Detailed.png)\n\n\nSASTと同様に、マージリクエストから直接、脆弱性の無視やイシューの作成など、検出された脆弱性に対するアクションを取ることができます。\n\n\n#### シークレット検出ジョブのカスタマイズ\n\n\nGitLabではシークレット検出ジョブの定義を上書きして、変数や依存関係、ルールなどのプロパティを変更できます。上書きするには、シークレット検出ジョブと同名のジョブを宣言します。次に、テンプレートをインクルードした後に新しいジョブを配置し、その下に追加のキーを指定します。たとえば、次のような設定です。\n\n\n- シークレット検出ジョブの実行ステージを`security`に上書きする\n\n- 過去のコミットに対するスキャンを有効にする\n\n- シークレットアナライザーのバージョンを4.5に変更する\n\n\n```yaml\n\ninclude:\n  - template: Jobs/Secret-Detection.gitlab-ci.yml\n\nsecret_detection:\n  stage: security\n  variables:\n    SECRET_DETECTION_HISTORIC_SCAN: \"true\"\n    SECRETS_ANALYZER_VERSION: \"4.5\"\n```\n\n\n**注：**\n利用可能なシークレット検出ジョブは、[SAST.gitlab-ci.ymlテンプレート](https://gitlab.com/gitlab-org/gitlab/-/blob/master/lib/gitlab/ci/templates/Jobs/Secret-Detection.gitlab-ci.yml)にあります。利用可能な設定は、[利用可能なシークレット検出CI/CD変数のドキュメント](https://docs.gitlab.com/ee/user/application_security/secret_detection/pipeline/#customizing-analyzer-settings)に記載されています。\n\n\n#### シークレット検出ルールセットのカスタマイズ\n\n\nシークレット検出アナライザーでは、GitLab\nUIに表示されるシークレットをカスタマイズできます。次のカスタマイズオプションは、個別または組み合わせて使用できます。\n\n\n- 定義済みルールを無効にする\n\n- 定義済みルールを上書きする\n\n- カスタム設定を合成する\n\n- リモート設定ファイルを指定する\n\n\nたとえば、`.gitlab/secret-detection-ruleset.toml`というファイルをプロジェクトのルートディレクトリに作成すると、デフォルトのGitLeaksパッケージがテストトークンの検出を無視するように拡張されます。\n\n\n```yaml\n\n### extended-gitleaks-config.toml\n\ntitle = \"extension of gitlab's default gitleaks config\"\n\n\n[extend]\n\n### Extends default packaged path\n\npath = \"/gitleaks.toml\"\n\n\n[allowlist]\n  description = \"allow list of test tokens to ignore in detection\"\n  regexTarget = \"match\"\n  regexes = [\n    '''glpat-1234567890abcdefghij''',\n ]\n```\n\n\n定義済みのアナライザールールを上書きする方法については、[シークレット検出のドキュメント](https://docs.gitlab.com/ee/user/application_security/secret_detection/pipeline/#override-predefined-analyzer-rules)を参照してください。\n\n\n#### シークレット漏洩時の自動対応機能\n\n\nGitLabシークレット検出は、特定のタイプの流出したシークレットを発見すると自動的に対応します。自動対応には次のようなアクションがあります。\n\n- 自動的にシークレットを失効させる\n\n-\nシークレットを発行したパートナーに通知し、パートナーはシークレットを取り消すか、その所有者に通知するか、またはその他の方法で不正利用からの保護につなげる\n\n\nGitLabは、パートナーが発行した認証情報がGitLab.comの公開リポジトリに流出した場合、パートナーへの通知も可能です。クラウドやSaaS製品を運用していて、このような通知の受け取りに興味があるという場合、GitLab\nToken Revocation APIから呼び出されるPartner APIを実装できます。\n\n\n詳しくは[流出したシークレットへの自動対応](https://docs.gitlab.com/ee/user/application_security/secret_detection/automatic_response.html)を参照してください。\n\n\n### サプライチェーンのセキュリティ\n\n\nGitHubは、自動化されたセキュリティとバージョン更新、ワンクリックのSBOMにより、ソフトウェアサプライチェーンのセキュリティ確保、管理、レポートを可能にします。GitLabは依存関係スキャンと依存関係リスト（SBOM）機能を使って、サプライチェーンセキュリティのニーズを満たすことができます。\n\n\nGitLabで依存関係スキャンを有効にするには、`.gitlab-ci.yml`に以下のテンプレートを追加するだけです：\n\n\n```yaml\n\ninclude:\n  - template: Jobs/Dependency-Scanning.gitlab-ci.yml\n```\n\n\nテンプレートが追加されると、新しいコードがチェックインされるたびに、依存関係スキャンがプロジェクトで使われている[パッケージマネージャ](https://docs.gitlab.com/ee/user/application_security/dependency_scanning/#supported-languages-and-package-managers)を自動検出します。そして、使用されている依存関係に既知の脆弱性がないかスキャンします。フィーチャーブランチとターゲットブランチの差分の依存関係のスキャン結果は、マージリクエストウィジェットに表示されます。マージリクエストウィジェットは、マージリクエストで行われた変更によって導入された依存関係スキャンの結果と解決策を表示します。マージリクエストの中で、検出された脆弱性は、識別子、証拠、解決策といった、修正を支援する関連情報を表示します。\n\n\n![依存関係スキャナーの脆弱性の詳細](https://res.cloudinary.com/about-gitlab-com/image/upload/v1749674404/Blog/Content%20Images/6-Dependency-Scanner-MR-View-Detailed.png)\n\n\nSASTやシークレット検出と同様に、脆弱性の無視やイシューの作成など、これらの脆弱性に対するアクションをマージリクエストから直接実行できます。\n\n\n#### 依存関係スキャンの設定\n\n\nジョブの定義を上書きするには（たとえば、変数や依存関係のようなプロパティを変更するには）、上書き対象のジョブと同じ名前で新しいジョブを宣言します。テンプレートをインクルードした後に新しいジョブを配置し、その下に追加のキーを指定します。たとえば、次のコードでは以下の設定を行っています。\n\n\n- 脆弱な依存関係の自動修正を無効にする\n\n- 依存関係スキャンの実行前にビルドジョブの完了を要求する\n\n\n```yaml\n\ninclude：\n  - template：Jobs/Dependency-Scanning.gitlab-ci.yml\n\ngemnasium-dependency_scanning：\n  variables：\n    DS_REMEDIATE：\"false\"\n  dependencies：[\"build\"]\n```\n\n\n依存関係スキャナーの設定についての詳細は、[アナライザーの動作をカスタマイズするドキュメント](https://docs.gitlab.com/ee/user/application_security/dependency_scanning/#customizing-analyzer-behavior)を参照してください。\n\n\n#### SBOMの生成\n\n\nGitLabの依存関係リスト（SBOM）で、プロジェクトやグループの依存関係や、既知の脆弱性を含む依存関係の重要な詳細を確認できます。このリストには、プロジェクトにおける依存関係が集約されており、既知のものや新たに検出されたものの両方が含まれています。依存関係リストは、依存関係スキャナーが[デフォルトブランチ](https://docs.gitlab.com/ee/user/project/repository/branches/default.html)で正常に実行された後に生成されます。依存関係リストにアクセスするには\n\n\n1. 左サイドバーで、**検索または移動先...** を選択し、プロジェクトを見つけます。\n\n2. **セキュリティ > 依存関係リスト**の順に選択します。\n\n\n![依存関係リスト（SBOM）](https://res.cloudinary.com/about-gitlab-com/image/upload/v1749674404/Blog/Content%20Images/7-Dependency-List.png)\n\n\nここから、依存関係に関する次の情報を表示できます。\n\n\n|フィールド|説明|\n\n| ---------- | ---------- |\n\n|コンポーネント|依存関係の名前とバージョン。|\n\n|パッケージャー| 依存関係のインストールに使用されるパッケージャー。|\n\n|ロケーション|\nシステムの依存関係の場合、スキャンされたイメージのリストが表示されます。アプリケーションの依存関係の場合、依存関係を宣言したプロジェクト内のパッケージャー固有のロックファイルへのリンクが表示されます。また、トップレベルの依存関係への依存関係パスも表示されます（該当の依存関係が存在する場合）。| \n\n|ライセンス| 依存関係のソフトウェアライセンスへのリンク依存関係で検出された脆弱性の数を示す警告バッジ。| \n\n|プロジェクト|\n依存関係のあるプロジェクトへのリンク。同じ依存関係を持つプロジェクトが複数ある場合、プロジェクトの合計数が表示されます。依存関係のあるプロジェクトに移動するには、プロジェクトの番号を選択し、その名前を検索して選択します。プロジェクト検索機能は、グループ階層内に最大600件のプロジェクトがあるグループでのみサポートされています。|\n\n\n\u003Cp>\u003C/p>\n\n\n詳細については、[依存関係リストのドキュメント](https://docs.gitlab.com/ee/user/application_security/dependency_list/)を参照してください。\n\n\n### セキュリティとコンプライアンスの管理\n\n\nGitHub Advanced\nSecurityを使用すると、セキュリティメトリクスとインサイトを閲覧し、コードセキュリティリスクを評価できます。次に、GitLab\nUltimateで同じことをする方法を見てみましょう。\n\n\n#### セキュリティメトリクスとインサイトの閲覧\n\n\nGitLabは、アプリケーションのセキュリティ状況を評価するのに役立つ[セキュリティダッシュボード](https://docs.gitlab.com/ee/user/application_security/security_dashboard/)を提供しています。ダッシュボードには、プロジェクトで実行されたセキュリティスキャナーによって検出された脆弱性のメトリクス、評価、チャートがまとめて表示されます。\n\n\n- グループ内のすべてのプロジェクトの30日、60日、90日間の期間にわたる脆弱性の傾向\n\n- 脆弱性の重大度に基づく各プロジェクトの評価（A~Fの文字グレード評価）\n\n- 過去365日以内に検出された脆弱性の総数とその重大度\n\n\nセキュリティダッシュボードにアクセスする方法：\n\n\n1. 左側のサイドバーで、**検索または移動先...** を選択し、プロジェクトまたはグループを見つけます。\n\n2. サイドタブから、**セキュリティ > セキュリティ** ダッシュボードを選択します。\n\n3. 必要なものを絞り込んで検索します。\n\n\nグループビューには、グループ内のすべてのプロジェクトのセキュリティ状況が表示されます。\n\n\n![グループセキュリティダッシュボード](https://res.cloudinary.com/about-gitlab-com/image/upload/v1749674404/Blog/Content%20Images/8-SD-Group.png)\n\n\nプロジェクトビューには、あるプロジェクトのみのセキュリティ体制が表示されます。\n\n\n![プロジェクトセキュリティダッシュボード](https://res.cloudinary.com/about-gitlab-com/image/upload/v1749674404/Blog/Content%20Images/9-SD-Project.png)\n\n\n#### コードのセキュリティリスクを評価\n\n\nGitLab\nUltimateは、デフォルトブランチのスキャン結果から脆弱性に関する情報を提供する[脆弱性レポート](https://docs.gitlab.com/ee/user/application_security/vulnerability_report/)を備えています。レポートには、パイプラインが成功したかどうかにかかわらず、すべての成功したジョブの累積結果が含まれます。すべてのレベルで、脆弱性レポートには次が表示されます。\n\n\n- 重大度レベルごとの脆弱性の合計\n\n- 一般的な脆弱性の属性のフィルター\n\n- 表形式のレイアウトで表示される各脆弱性の詳細\n\n\n![脆弱性レポート](https://res.cloudinary.com/about-gitlab-com/image/upload/v1749674404/Blog/Content%20Images/10-Vulnerability-Report.png)\n\n\n脆弱性をクリックすると、その[脆弱性ページ](https://docs.gitlab.com/ee/user/application_security/vulnerabilities/)にアクセスできます。このページには、脆弱性の説明、ロケーション、識別子などの情報が記載されています。以下は、SASTスキャナーによって検出されたSQLインジェクションの脆弱性のページの例です。\n\n\n![SQLインジェクションの脆弱性ページ](https://res.cloudinary.com/about-gitlab-com/image/upload/v1749674404/Blog/Content%20Images/11-Vulnerability-Page-1.png)\n\n\nここから、セキュリティチームは、[理由とともに脆弱性の状態を変更](https://docs.gitlab.com/ee/user/application_security/vulnerabilities/#change-the-status-of-a-vulnerability)し、[変更をより適切に追跡するためのイシューを作成する](https://docs.gitlab.com/ee/user/application_security/vulnerabilities/#create-a-gitlab-issue-for-a-vulnerability)ことでコラボレーションできます。\n\n\n脆弱性のページから、AI搭載の各機能が集約された[GitLab\nDuo](https://about.gitlab.com/ja-jp/gitlab-duo/)を活用して脆弱性を説明し、[脆弱性を解決するマージリクエストを自動的に作成する](https://docs.gitlab.com/ee/user/application_security/vulnerabilities/#vulnerability-resolution)こともできます。\n\nGitLab\nDuoの[脆弱性の説明](https://docs.gitlab.com/ee/user/application_security/vulnerabilities/#vulnerability-explanation)は、大規模な言語モデルを使用して次を行います。\n\n\n- 脆弱性を要約する\n\n- 脆弱性について、どのように悪用される可能性があるか、どのように修正するかをデベロッパーやセキュリティアナリストが理解できるようにする\n\n- 緩和策を推奨する\n\n\n![SQLインジェクションGitLab Duo\nAIの説明](https://res.cloudinary.com/about-gitlab-com/image/upload/v1749674404/Blog/Content%20Images/13-Explain-Vulnerability.png)\n\n\n## GitLab Ultimateのセキュリティ追加機能\n\n\nGitLab Ultimateには、GitHub Advanced\nSecurityにはない多くのセキュリティ機能を搭載しています。追加のセキュリティ機能の例として、ソフトウェア開発ライフサイクル（SDLC）全体のための追加のセキュリティスキャナー、きめ細かいセキュリティガードレール、カスタム権限などが挙げられます。\n\n\n### SDLC全体のセキュリティスキャナー\n\n\n当社のセキュリティスキャナーのポートフォリオは、SDLC全体に対応しています。\n\n\n|スキャナー名|スキャン|スキャンされた言語/ファイル|\n\n| -------------- | ----- | ------------------------- |\n\n|\n[静的アプリケーションセキュリティテスト（SAST）](https://docs.gitlab.com/ee/user/application_security/sast/)|静的ソースコード|\nC/C++、Java、Python、Go、JavaScript、C #など|\n\n|\n[動的アプリケーションセキュリティテスト（DAST）](https://docs.gitlab.com/ee/user/application_security/dast/)|\nWebアプリケーション、ライブAPIの実行|言語に依存しない|\n\n|[Infrastructure as\nCode（IaC）のスキャン](https://docs.gitlab.com/ee/user/application_security/iac_scanning/)|\nIaCファイル| Terraform、AWS Cloud Formation、Ansibleなど|\n\n|\n[コンテナのスキャン](https://docs.gitlab.com/ee/user/application_security/container_scanning/)|静的および実行中のコンテナイメージ|\nDockerfile |\n\n|\n[依存関係のスキャンとライセンスのスキャン](https://docs.gitlab.com/ee/user/application_security/dependency_scanning/)|アプリケーションの依存関係|\nRequirements.txt、Yarn、Gradle、Npmなど|\n\n| [Web\nAPIファズテスト](https://docs.gitlab.com/ee/user/application_security/api_fuzzing)|ランダム/不正な形式のデータをweb\n- apiに送信| OpenAPI、GraphQL、HAR、Postman Collection |\n\n|[カバレッジ -\nガイド付きファズテスト](https://docs.gitlab.com/ee/user/application_security/coverage_fuzzing/)|ランダム/不正な形式のデータを関数に送信|\nC/C++、Go、Swift、Python、Rust、Java、JavaScript、AFL |\n\n\n\u003Cp>\u003C/p>\n\n\nGitLabでは、[サードパーティのスキャナー（英語）](https://about.gitlab.com/blog/integrate-external-security-scanners-into-your-devsecops-workflow/)と[カスタムスキャナー（英語）](https://about.gitlab.com/blog/how-to-integrate-custom-security-scanners-into-gitlab/)をプラットフォームに統合することもできます。スキャナーの結果は、パイプラインビュー、マージリクエストウィジェット、セキュリティダッシュボードなど、GitLabのさまざまな場所に自動的に表示されます。詳細については、[セキュリティスキャナー統合ドキュメント](https://docs.gitlab.com/ee/development/integrations/secure.html)を参照してください。\n\n\n### きめ細かいセキュリティとコンプライアンスポリシー\n\n\nGitLabのポリシーは、セキュリティとコンプライアンスの両チームに[組織内でグローバルに制御を実施する方法（英語）](https://about.gitlab.com/blog/meet-regulatory-standards-with-gitlab/)を提供します。セキュリティチームは次のことを保証できます。\n\n\n- 適切な設定で開発チームのパイプラインにセキュリティスキャナーを実施\n\n- すべてのスキャンジョブは、変更や修正なしで実行\n\n- これらの調査結果に基づき、マージリクエストに対して適切な承認を提供\n\n\n![マージリクエストのセキュリティポリシー](https://res.cloudinary.com/about-gitlab-com/image/upload/v1749674404/Blog/Content%20Images/14-MR-Policy.png)\n\n\nコンプライアンスチームは、すべてのマージリクエストに対して複数の承認者を必須とし、マージリクエストやリポジトリの設定を有効化またはロックするなど、組織の要件に基づくプロジェクトでさまざまな設定が有効になっていることを確認できます。詳細については、[GitLabセキュリティポリシーのドキュメント](https://docs.gitlab.com/ee/user/application_security/policies/)を参照してください。\n\n\n### カスタムロールときめ細かい権限\n\n\n[GitLab\nUltimateはカスタムロールを提供します（英語）](https://about.gitlab.com/blog/how-to-tailor-gitlab-access-with-custom-roles/)。これにより、組織はニーズに見合った正確な特権と権限を持つユーザーロールを作成できます。\n\n\nたとえば、ユーザーはシステム内のセキュリティの脆弱性を表示する権限を持つ「セキュリティ監査担当者」ロールを作成できますが、この権限ではソースコードを表示したり、リポジトリ内で変更を実行したりできないよう設定できます。このきめ細かい権限設定により、職務の棲み分けを明確にできます。\n\n\n![カスタムロールの作成](https://res.cloudinary.com/about-gitlab-com/image/upload/v1749674404/Blog/Content%20Images/15-Custom-Roles.png)\n\n\n詳細については、[カスタムロール](https://docs.gitlab.com/ee/user/custom_roles.html)および[利用可能な詳細な権限のドキュメント](https://docs.gitlab.com/ee/user/custom_roles/abilities.html)を参照してください。\n\n\n### コンプライアンスセンター\n\n\nコンプライアンスチームが、コンプライアンス基準の遵守状況や違反についての報告、グループのコンプライアンスフレームワークの管理などを一括して行う場所がコンプライアンスセンターです。コンプライアンスセンターには次の内容があります。\n\n\n-\n[コンプライアンス基準遵守ダッシュボード](https://docs.gitlab.com/ee/user/compliance/compliance_center/compliance_standards_adherence_dashboard.html)は、GitLab標準に準拠したプロジェクトの遵守状況を一覧表示します。\n\n-\n[コンプライアンス違反の報告](https://docs.gitlab.com/ee/user/compliance/compliance_center/compliance_violations_report.html)は、グループ内のすべてのプロジェクトのマージリクエストアクティビティの概要を表示します。\n\n-\n[コンプライアンスフレームワークのレポート](https://docs.gitlab.com/ee/user/compliance/compliance_center/compliance_frameworks_report.html)は、グループ内のコンプライアンスに関するすべてのフレームワークを表示します。\n\n-\n[コンプライアンスプロジェクトのレポート](https://docs.gitlab.com/ee/user/compliance/compliance_center/compliance_projects_report.html)は、グループ内のプロジェクトに適用されるコンプライアンスのフレームワークを表示します。\n\n\n![コンプライアンスセンター](https://res.cloudinary.com/about-gitlab-com/image/upload/v1749674404/Blog/Content%20Images/16-Compliance-Center.png)\n\n\nこれらのダッシュボードは、組織内のコンプライアンスを最適化するために、職務の棲み分けがきちんと守られているかを確認する上で有益です。詳細については、[コンプライアンスセンターのドキュメント](https://docs.gitlab.com/ee/user/compliance/compliance_center/)を参照してください。\n\n\n## 続きを読む\n\n\nこの記事では、GitLab Ultimateが提供する幅広いセキュリティ機能の一部についてのみ説明しています。GitLab\nUltimateが組織のセキュリティとデベロッパーの効率を向上させる方法について、詳しくは次のリソースを参照してください。\n\n\n- [Ultimateを選ぶ理由](https://about.gitlab.com/ja-jp/pricing/ultimate/)\n\n-\n[DevSecOpsチュートリアルを始める](https://gitlab-da.gitlab.io/tutorials/security-and-governance/devsecops/simply-vulnerable-notes/)\n\n-\n[DevSecOpsサンプルプロジェクトの始め方](https://gitlab.com/gitlab-da/tutorials/security-and-governance/devsecops/simply-vulnerable-notes)\n\n-\n[プロジェクトをGitHubからGitLabドキュメントにインポートする](https://docs.gitlab.com/ee/user/project/import/github.html)\n\n- [GitHub\nActionsドキュメントからの移行](https://docs.gitlab.com/ee/ci/migration/github_actions.html)\n\n- [チュートリアル：最初のGitLab\nCI/CDパイプラインを作成して実行する](https://docs.gitlab.com/ee/ci/quick_start/)\n\n-\n[チュートリアル：複雑なパイプラインを作成する](https://docs.gitlab.com/ee/ci/quick_start/tutorial.html)\n\n- [CI/CD YAML構文リファレンス](https://docs.gitlab.com/ee/ci/yaml/)\n\n\n*監修：小松原 つかさ [@tkomatsubara](https://gitlab.com/tkomatsubara)\u003Cbr>\n\n（GitLab合同会社 ソリューションアーキテクト本部 シニアパートナーソリューションアーキテクト）*\n","security",[679,9,677,680,681],"tutorial","DevSecOps platform","testing","2024-12-25",{"slug":684,"featured":91,"template":685},"migration-guide-github-advanced-security-to-gitlab-ultimate","BlogPost","content:ja-jp:blog:migration-guide-github-advanced-security-to-gitlab-ultimate.yml","Migration Guide Github Advanced Security To Gitlab Ultimate","ja-jp/blog/migration-guide-github-advanced-security-to-gitlab-ultimate.yml","ja-jp/blog/migration-guide-github-advanced-security-to-gitlab-ultimate",1,[],1758326312110]