Snykで開発者ファーストのセキュリティを実現したDatto
Brian Piper
2021年11月9日
0 分で読めますDavid McCheyne氏は、DattoのDevOpsエンジニアとして、Snykを活用して開発者ファーストのセキュリティへ移行する計画を立てたとき、その有効性をチームで実証するまでに1年はかかると考えていました。経験豊富なDevOpsのプロであるDavid氏は、この変革がいかに大きなものかをよく理解していました。そのため、DattoのセキュリティチャンピオンにSnykプラットフォームを徐々に紹介し、無理に導入を進めるつもりはありませんでした。
しかし、すばらしい計画はすぐに変わりました。わずか数か月で、Dattoの開発チームはすべてSnykを受け入れました。「導入から数週間のうちに、開発者同士が改善について話し合うようになり、自分たちのチームでも[Snyk]を試せないかと、私に尋ねに来るようになりました」とDavid氏は説明します。「気づけば、ほとんど偶然のような形で、Dattoのすべてのプロダクトチームに、Snykを導入したセキュリティチャンピオンがいました。」
安全なソフトウェアを迅速に開発することがこれまで以上に重要な今、Dattoがほぼ苦労なく開発者ファーストのセキュリティを導入した事例は、ほぼすべての企業が参考にできるモデルです。チームが優先すべきことや、準備しておくべきことについて、David氏に話を聞きました。意外なことに、導入が早かったことだけがDavid氏の驚きではありませんでした。
まずは賛同を得る
開発者ファーストのセキュリティには、特に開発者の賛同が欠かせません。David氏は、これがプロセス全体で最も難しい点だと言います。「開発者は正しいことをしたいと思っていますが、ほかにも優先事項がたくさんあります。新機能、新技術、OSのアップグレードなど、開発者の注意を引くものが常に12個はあります。セキュリティは華やかでも刺激的でもありませんし、大きなニュースにならない限り、大きな見返りもありません。」
大切なのは、開発者にとって極めて簡単にすることです。「Snykを使えば、開発者はほかの作業をしながらセキュリティに取り組めます」とDavid氏は言います。DattoのソフトウェアエンジニアリングチームはCIパイプラインを日常的に活用しているため、既存のプロセスにSnykを追加するのは簡単で、通常の業務を妨げることもありませんでした。新たに加わった信号機のような表示により、開発者は依存関係のアップグレードが必要な箇所をすぐに把握でき、問題が赤信号になる前に対処できるようになりました。「これなら、製品開発にかける時間を奪うことなく、開発者が正しい対応を簡単に行えます。この問題に対して、Snykは本当に優れた解決策を提供してくれました。」
さらに、依存関係の管理負債が大幅に減るというメリットもありました。依存関係の解決を好む開発者はいませんが、このプロセスを自動化したことはDattoにとって大きな転機になったとDavid氏は言います。Dattoのプロジェクトの多くは依存関係が3~5個ですが、中には2,500個を超えるものもあります。適切なバージョンを使っていないことにプロセスの終盤で初めて気づいた場合、その確認だけでも大変です。「すべての開発者のCIパイプラインと、すべてのコミットに、ちょっとした信号機の表示が追加されました。誰もがそれを見て、問題のある依存関係に早い段階で対処できます」とDavid氏は説明します。Snykの導入後、Dattoのチームは「依存関係をあまり心配することなく、より価値の高いアプリケーションレベルのセキュリティ課題に人の時間を使えるようになりました。」
セキュリティをより広い視点で捉える
依存関係に集中していたDavid氏は、Snykがオープンソースライセンスのスキャンという、もう一つの時間のかかるプロセスにも対応できると知り、うれしい驚きを感じました。「多くの企業では、オープンソースライセンスのスキャンは法務部門やIT部門が関わる完全な手作業です」とDavid氏は言います。Dattoも例外ではありませんでした。しかし、SnykをCIパイプラインに組み込むと、すでにレビュー済みのライセンスを使って、Snyk上でプロジェクトを設定できることに気づきました。法務部門とIT部門は「まったく異なるチームなので同じCI環境にはいませんが、Snykでライセンススキャンの時間を節約できたことは、予想以上に大きなメリットとなり、うまく機能しました。」
多様なセキュリティチャンピオンを受け入れる
Dattoが開発者ファーストのセキュリティへ移行するうえで、秘密兵器となったのはセキュリティチャンピオンだったとDavid氏は言います。社内でSnykの話題が広がり、会社のさまざまな部署から、セキュリティ文化に参加したいという声が上がりました。しかし、関心の有無にかかわらず、セキュリティチャンピオンプログラムを作る際は、幅広く参加者を募ることが重要だとDavid氏は説明します。「秘密のセキュリティクラブにしてはいけません」と彼はきっぱり言います。「全員がセキュリティに関わることが目標です。参加してセキュリティについて考える人が多いほど、より良いのです。」
Dattoでは、セキュリティチャンピオンとして、David氏が「意外な部署」と呼ぶところからも人々が名乗りを上げました。その多くは、チャンピオンとして具体的に何をするのかも知りませんでした。その背景の一つには、「ギルド」という考え方を好み、部門横断型のチームを支援するDattoの企業文化があります。「私たちはセキュリティチャンピオンの活動を非常に重視しています」とDavid氏は言います。一方で、チャンピオンプログラムは企業の既存の文化に合わせることが大切だと付け加えます。「すべてに当てはまる方法はありません。セキュリティチャンピオンプログラムを、自社というジグソーパズルにどう組み込むかを理解する必要があります。」
強いDevOps文化を築く
開発者の負担が過剰になるのは現実の問題であり、開発者ファーストのセキュリティへ移行する際に考慮すべきことだとDavid氏は言います。しかし、強いDevOps文化があれば、その負担を和らげられます。DevOpsチームの声に耳を傾け、その意見を製品の設計者に届けるべきだと彼は提案します。開発者向けツールや業務負荷についてDevOpsが意見を述べることは、組織の健全性と成功に不可欠であり、彼らの懸念をより広く伝える必要があります。特に開発者の負担を増やす可能性がある技術的な解決策について、DevOpsチームは意見を表明できるようにしておくべきです。すべての企業が効率化を目指していますが、強い<a>開発者エクスペリエンス</a>を実現するうえでDevOps文化が重要だと経営陣が理解していなければ、負担の増大や燃え尽きにつながる可能性があります。Snykのように、正しいことを簡単に実行できる解決策をチームは求めているとDavid氏は言います。
まずはやってみよう!
David氏からの最後のアドバイスは、とてもシンプルです。挑戦することを恐れないでください。賛同、文化、コスト、サポートへの懸念はどれも現実的ですが、セキュリティへの取り組みを始めることの重要性と、バランスを取る必要があります。「開発者ファーストのセキュリティ体制を築くのがどれほど難しいか、受け入れられるか、人気が出るかを心配するのは簡単です」とDavid氏は言います。しかし、チームが適切なテクノロジーを選び、賢明に展開すれば、良い反応しか得られません。「Snykが本当に優れていたのは、小さくても意味のある形で開発者の仕事をより良くする製品を作ったことです。おかげで、依存関係を可視化する環境は、今ではずっと健全になりました。」
キャプチャー・ザ・フラッグを始めよう
オンデマンドのバーチャル入門ワークショップを視聴して、キャプチャー・ザ・フラッグの課題の解き方を学びましょう。



