DXが進むと、セキュリティ担当者とインフラ担当者の役割はどう変わるのかニューノーマル時代のセキュリティ(1/2 ページ)

» 2021年06月01日 07時00分 公開

 ビジネスの環境が急速に変化し、システム開発にスピードが求められるようになった昨今、アジャイル開発はスタートアップ企業だけではなく、成熟した大企業でも採用されるようになった。

 こうした企業では一般にインフラ部門とアプリケーション開発部門は分離されており、それぞれの企画・開発・運用を独自に行っているケースが多くみられる。しかしアジャイル開発では、継続的に開発を行うDevOpsが取り入れられ、開発と運用の垣根が曖昧になりつつある。

 また、コンテナ技術やサーバレスアーキテクチャの発展により、OSなどのインフラはアプリケーションの一部として提供されるようになっている。このように変化していく状況で適切なセキュリティを確保するためには、それぞれの担当者が自らの役割の変化を意識し、これまでと異なるアプローチをとる必要がある。

 本稿では特にセキュリティ担当者とインフラ担当者の役割の変化に注目し、アジャイル開発に必要なセキュリティの実装について留意点をまとめる。

photo 写真はイメージ(提供:ゲッティイメージズ)

1.セキュリティ担当者の役割の変化

 アジャイル開発では、セキュリティのための修正にもスピードが要求される。手戻りをなくすため、早期発見がより重要になる。こうした早期のセキュリティチェックをDevOpsに取り入れた、DevSecOpsという概念が提唱されており、セキュリティ担当者の役割の変化をまとめると以下の3点になる。

  • 開発者の啓蒙と教育
  • 適切なセキュリティチェックプロセスとツールの導入
  • Trust, but Verify

開発者の啓蒙と教育

 開発されるアプリケーションのセキュリティは、開発者のコーディングに大きく依存する。しかし自動化され、高速なリリースが要求されるアジャイル開発では、全てのコードをセキュリティ担当者がレビューするのは不可能だ。

 従って、通常はセキュリティに疎遠な開発者を啓蒙し、教育することがセキュリティ担当者の重要な役割の一つとなる。

 これまではゲートキーパーとして、リリース前の判定会議でしか顔を合わせないという関係性だったとしても、開発現場に足を運んでアジャイル開発の輪の中に入り、啓蒙活動を行う必要がある。

適切なセキュリティチェックプロセスとツールの導入

 DevSecOpsというと、どうしてもツールの導入が先行する印象があるが、いきなりツールを導入することはおすすめできない。使い慣れないツールや結果を生かせないツールを入れても開発者に利用されず、無駄な投資になる恐れがあるからだ。

 まずは自社の開発するアプリケーションや開発者のレベル、開発体制などを俯瞰した上で、効果的なセキュリティチェックプロセスを策定し、必要な箇所にツールを実装するアプローチが望ましい。多種多様なアプリケーション開発環境で、常に最適なプロセスやツールはないため、原則とリスクの受容を使い分ける判断ができる関係を、築いておくことも重要だ。

Trust, but Verify

 アジャイル開発ではアプリケーション開発者が担う役割が大きく、セキュリティ担当者が全てをチェックできない。基本的にはアプリケーション開発者を信じる(Trust)が、結果を常に確認する(Verify)ことが重要だ。チェックリストを作って自己申告の結果を確認するのではなく、静的解析ツールの実行結果、修正状況やペネトレーションテストの結果など、客観的なデータを確認し、状況を把握する必要がある。

photo

2.インフラ担当者の役割の変化

 近年、サーバレスアーキテクチャやコンテナ技術が登場している。これらの環境では、利用企業が自らOS環境をメンテナンスする必要はない。こうした技術はDevOpsやアジャイル開発と相性がよく、コンテナ技術の進歩も相まって、OSレイヤーは実行環境の一部として、アプリケーションと一緒に提供されるようになっている。

 さらにインフラ構成管理ツールにより、インフラのデプロイも自動化が可能になった。かつてのようにインフラ担当者のみがOSにログインできる特権を持ち、アプリケーション開発者の依頼に基づき作業を行う、という場面は徐々に減りつつある。

       1|2 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.