設計開発に含まれる「管理職への説明」という業務
続いて挙げられたのはセキュリティに関する問題だ。機密データのクラウド保管については、管理職への説明承認が必要だった。許可を得るにあたり、幸浦氏らはまず求められるセキュリティ要件を熟読・理解し、対応可能かどうかの検討(難しい場合の代替案提示)したうえで、管理職への説明・承認を経るという3ステップを踏んだという。
「管理職への説明は、設計開発とは関係ない業務のように思えるかもしれない。しかし、クラウド活用が思うように進まない事業部に対して、クラウドの有用性や安全性、リスクへの向き合い方を地道に説明していくことは、リファレンスアーキテクチャを社内に浸透させていくうえで欠かせない業務だ」(幸浦氏)。
上記の取り組みにおいて管理職を説得するべく、開発中のアーキテクチャが定められたセキュリティ要件に適合するものかを調査した幸浦氏。検討を進めるなかで、監視通知用のアーキテクチャを新たに構築する必要があり、中にはAWSの性質上対応が難しいものもいくつかあると気付いた。
その1つが、クラウド上のデータを大量にダウンロードできないよう設定することだった。とくにRDSのデータに対してどのように大量ダウンロードを防ぐかという点においては、Amazon CloudWatch Logsからクエリの中身をチェックするのか、正常動作との区別をどうつけるのか、そもそも「大量ダウンロード」の定義とは……といった問題が山積していたのだ。
代替案を検討するにあたり、幸浦氏は「そもそもこの要件は、従業員がデータを持ち出すことによる外部漏えいを防ぐことが目的のはず」と、主旨に立ち返って考えた。そして、「そもそも運用時からユーザがAWS内のデータに直接アクセスできないようにしたうえで、AWS内のシステムから指定のデータ保管場所にコピーされたデータのみ利用可能とすること」を代替案として提示した。
実際の施策で実行されたのは以下の4点だ。
- データベースの認証情報へのアクセス権限を管理者ロールのみに絞る
- パスワードの定期更新
- IAMロールに関する操作をAWS CloudTrailで監視
- IAMユーザに関する操作は、SCPによってOrganization単位で制限
これらの施策により、管理者権限が不正に付与されることを防ぎ、データベース側のユーザの権限操作も監視できる。BIツールからのみRDSのデータを参照し、ツール上でダウンロードを制限することで間接的に条件を満たしたのだ。