DXを急ピッチで推進する凸版印刷が「GitHub Advanced Security」で実現するOSSセキュリティ対策とはキリがないOSSの脆弱性や人手によるミス、開発工数増にどう対応すべきか

凸版印刷は2020年4月に全社横断でDX施策を推進する「DXデザイン事業部」を新設した。同事業部でサービス開発を行うICT開発センターは、開発プロセスをモダン化し、DevSecOpsを推進するコード管理プラットフォームとして「GitHub Enterprise」と「GitHub Advanced Security」を導入して、その活用範囲を広げている。GitHubの選定理由や感じたメリット、今後の展望などについて、ICT開発センターのメンバーに聞いた。

» 2022年04月21日 10時00分 公開
[PR/@IT]
PR

 デジタル技術を核に旧来のビジネスプロセスを変えて市場に新しい価値を生み出すデジタルトランスフォーメーション(DX)は、あらゆる業界、業種の企業にとって今や最優先の経営課題だ。1900年創業の総合印刷会社として、多様な事業を手掛ける凸版印刷も、現在、中期経営計画のキーメッセージに「Digital & Sustainable Transformation」を掲げ、全社規模でのDXに急ピッチで取り組んでいる。

 同社の「DXデザイン事業部」は、全社横断でのDXを推進するため、2020年4月に新設された組織だ。同社が手掛ける「情報コミュニケーション」「生活・産業」「エレクトロニクス」という幅広い事業分野と組織を横断する形で、顧客のDX支援にまつわる業務を集約し、新たなノウハウの蓄積と、プロセスの標準化を進めている。

 「DXデザイン事業部は、凸版印刷自体がDXを軸に事業のポートフォリオを変える必要がある中で、多様な事業を横断して、DXを推進する組織だ。社内の情報システム部門とは別に、お客さまに対してDXを支援できるようなサービスを企画、開発している」

 そう話すのは、DXデザイン事業部 ICT開発センターで開発戦略部の部長を務める柳田賢祐氏だ。ICT開発センターは顧客向けのシステムに加え、自社サービスとして特定の業界、業種向けSaaS(Software as a Service)の開発、運用を手掛ける。

 「従来はお客さまごとに個別の要件を聞き、個別のシステムを作って提供するモデルが中心だった。今後は複数のお客さまが共通で抱えている課題を捉えて、SaaS型の自社サービスとしてスピーディーに提供するモデルも拡大していきたい。もちろん、脆弱(ぜいじゃく)性を残さず、サービスの品質を保証するのは当たり前だ。それには、開発プロセスやツールのモダン化、標準化が不可欠だった」(柳田氏)

マルチクラウドのサービス展開を視野に「GitHub Actions」でDevOps環境を実装

 そうした背景の下、ICT開発センターは開発プロセスの変革に積極的に取り組んでいる。オンプレミスを前提としたウオーターフォール型の開発プロセスから、クラウドネイティブでDevSecOpsを実践できるアジャイルな開発プロセスにシフトするに当たり、さまざまなツールやサービス、手法の検討と実践を進めている。現状、一部のプロジェクトが先行する形で、クラウドネイティブでのサービス開発を始めているという。

 開発戦略部でクラウド推進チームの係長を務める高橋慶彦氏は、「クラウドについては、当初『Amazon Web Services』(AWS)をメインに利用していたこともあり、ソース管理も『AWS CodeCommit』を使えばよいのではないかと考えて、活用を始めていた。ただ、今後、『Microsoft Azure』『Google Cloud Platform』によるサービスインフラのマルチクラウド化を視野に入れており、ソース管理のサービスについても、再検討することになった。そこで2020年ごろ、開発ツールのデファクトスタンダードといえる『GitHub』の検討を始めた。ちょうどGitHubのプライベートリポジトリ無料化が発表された時期とも重なり、トライアルを始める良いタイミングだった」と話す。

 同社はまず「GitHub」のフリープランで検証を開始した。活用が進むに従い「GitHub Actions」によるCI/CD(継続的インテグレーション/継続的デリバリー)環境を構築し、その段階で企業向けソリューションである「GitHub Enterprise」の導入を決定した。

 ICT開発センター 開発1部でサービス開発に携わる慶田尚也氏は「すぐに無料枠では収まらないくらいに、GitHub Actionsを使い込むようになった。旧来の環境では、オンプレミスの『Apache Subversion』上でコードを管理し、リリースは『Microsoft Excel』の手順書をダブルチェックしながらコマンドラインベースで実行するような状況だったが、GitHub Actionsによる自動化で作業時間を短縮でき、人為的な作業ミスの不安からも解放された」と話す。

 コードレビューからリリースまでのワークフローは、そのほとんどを「GitHub Marketplace」で提供されているアドオンの簡易なカスタマイズで実現できたという。

 「GitHubはソース管理の周辺にワークフローやセキュリティなど、さまざまなサービスが統合されている点で本当に助かっている。良い活用方法を探りながら、新規のプロジェクトだけでなく、以前からあるプロジェクトについても追加案件などはGitHub上で開発したい」(慶田氏)

DevSecOpsの実践でソフトウェアのセキュリティを担保、リリース頻度の向上にも貢献

 ICT開発センターがGitHub上で開発し、リリースしたサービスの数は現在も増え続けている。資材管理/受発注システムの「BRIDGITAL」(ブリジタル)、AIによる校閲/校正支援ツール「review-it!」、自治体向け移住マッチングサービス「ピタマチ」、One to One Webサイト構築ツール「SALAD-BAR」といった自社サービスは、いずれもGitHub上で開発し、改善を続けているものだ。これら以外にも、個別の顧客向けシステムなどで徐々にGitHubの採用が進んでいる。

 システムの迅速な開発と継続的な改善において、GitHubから得られるメリットの一つは、開発段階からの「セキュリティ」の向上だという。

 同社はソフトウェアのセキュリティを高めるに当たり、オプションである「GitHub Advanced Security」も導入している。GitHub Advanced Securityで利用できる「Code Scanning」を使うと、リポジトリ上のソースコードをスキャンし、脆弱性や品質が低いコードを自動的に検出できる。凸版印刷は自社で開発したサービスのリリースに当たって、専門部署による脆弱性診断を受けることが義務付けられている。Code Scanningはコーディング中にセキュリティチェックを行えるため、リリースまでにかかる期間が大幅に短縮したという。

 ICT開発センター 開発1部 課長の吉田学氏は「(専門部署による)脆弱性診断はサービスの品質やセキュリティを保証したり向上したりする上で重要なプロセスだが、基本的にコーディングが終了した段階でセキュリティ担当チームが診断し、その結果を開発チームに戻して、対応、修正してもらう必要があった。これが、スピード感を持って開発、改善する上での課題だった。特に診断で大きな問題が発見された場合は、原因の究明に時間がかかることに加えて大規模な手戻りが発生することもあり、それが、例えば2週間に一度といった短いスパンでのリリースにおいて障害になる可能性もあった」と話す。

 Code Scanningによって、開発段階からコードの脆弱性をチェックできるようになったことで、リリース直前の診断によって判明する脆弱性の数を大幅に減らすことができた。診断後の対応が短期間で完了でき、リリース時間の短縮に大きく貢献している。

 「セキュアコーディングのルールは社内ドキュメントとして整備しているが、個人のスキル差もあり、それだけでは実装は難しい。Code Scanningはリポジトリ上でコードを自動チェックするため、開発早期での修正が容易になった。また、問題部分の指摘だけでなく、改善策なども提案されるので、開発メンバーのセキュアコーディングスキルの向上にも貢献している」(吉田氏)

 開発時におけるCode Scanningだけでなく、リポジトリ内の脆弱性のある依存関係洗い出しにもGitHubが役立っているという。高橋氏は「特に『Dependabot』に衝撃を受けた」と話す。Dependabotは、プロジェクト内の脆弱性が含まれる依存関係を洗い出して、必要に応じてアラートを出すだけでなく、脆弱性のある依存関係を修正バージョンにアップグレードできる場合は、自動で「Pull Request」(プルリクエスト)を作成し、バージョンアップを促す機能だ。

 「サービス開発にオープンソースソフトウェア(OSS)を活用することが当たり前になっている今、“どのプロジェクトで、どのライブラリの、どのバージョンが使われているか”を開発現場の手作業で正確に把握し、それぞれのバージョンアップ情報や脆弱性情報を追い続けることは極めて困難になっている。プロジェクトをGitHub上に置いておくだけで、それを自動で行い、アラートを上げ、Pull Requestまで作ってくれる仕組みは、非常に有用だ」(高橋氏)

GitHubの活用で得られた知見をより多くのプロジェクトに展開してDXを加速

 近年のコロナ禍におけるリモート開発の促進にも、GitHubは一役買ったそうだ。

 「テレワーク制度は以前からあったが、特に開発部門において積極的に活用されているとはいえない状況だった。コロナ禍で、全員がテレワークに入ったとき、VPNを経由して社内の開発環境にアクセスするのではなく、セキュリティが保証されたGitHub Enterpriseにアクセスして業務を行える環境があったことは、作業やコミュニケーション上のストレスを軽減する点でも良かった」(柳田氏)

 「オンプレミスのソース管理ツールは、ソース管理に特化しているので、そこから各プロジェクトの状況を把握するのに非常に手間がかかっていた、GitHub EnterpriseはPull Requestやコメントの状況から、それを容易に把握できる。管理側と開発側のコミュニケーションも効率的になった」(吉田氏)

 同社は、約2年にわたるGitHub Enterpriseの活用成果を、段階的により多くのチームやプロジェクトに展開する意向だ。利用者が多く、使いこなすための情報がネットで多数提供されているサービスであることは、GitHubの適用範囲の拡大においても有利だという。GitHubになじみのない開発者向けには、オンライントレーニングの教材を提供するなどの手段も講じながら、準備を進めている。

 「GitHub Enterpriseに対して、ソースコード管理だけではなく、開発全体をマネジメントするツールがそろっている点に魅力を感じている。こうした仕組みがなければ、DevSecOpsまでを意識したアジャイルな開発は、理想的な形で進められないだろう。まずは、GitHub Actionsや『GitHub Issues』といった豊富な機能を活用しながら、DevOpsを実現する。次の段階としてGitHub Advanced Securityを前提としたDevSecOpsの実現までを、一気に進めていきたい」(高橋氏)

 「品質を確保しながら迅速に開発や運用を進めるに当たり、GitHub Enterpriseの導入範囲が広がるほど、得られるコスト効果は大きくなるという手応えがある。よりスマートで効率的なDevSecOpsのプロセスを実践し、全社規模のDXを推進するために、社内の新しいルール作りを含めて、組織としてGitHub Enterpriseの活用レベルを上げていきたい」(柳田氏)

左上から時計回りで、凸版印刷 DXデザイン事業部 ICT開発センターの柳田賢祐氏(開発戦略部 部長)、高橋慶彦氏(開発戦略部 クラウド推進チーム 係長)、吉田学氏(開発1部 課長)、慶田尚也氏(開発1部)

ウェビナーのお知らせ

GitHub InFocusは企業におけるソフトウェア開発のヒントをお届けするウェビナーです。2回目となる今年のInFocusでは、GitHub CEOであるThomas Dohmkeのセッションを皮切りに、セキュリティ、DevOpsそして生産性向上の3つのテーマを、4日間に渡ってお届けします。

タイトル:GitHub InFocus 2022

日  程:2022年5月17日(火)〜5月20日(金)

費  用:無料

申し込み:こちらより

Copyright © ITmedia, Inc. All Rights Reserved.


提供:ギットハブ・ジャパン合同会社
アイティメディア営業企画/制作:@IT 編集部/掲載内容有効期限:2022年5月10日

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。