三大クラウド(AWS・Azure・GCP)を使いこなすマルチクラウド活用術 #2 ゼロ・トラストを実現する統合認証のしくみ
こんにちは!DATAFLUCT service platform. の開発とマルチクラウド戦略を推進している原田です。
service platform は、データの収集・蓄積・加工・活用まで企業のデータ活用をトータルでサポートするためのプラットフォームです。
本 note は、データ活用や DX に欠かせない存在となったクラウドサービスを徹底的に使いこなすための「マルチクラウド」をテーマに取り上げ、世の中の流れを整理しつつ、我々のプラットフォームがどのように対応していこうとしているのかを紹介する連載記事の第二弾です。
第一弾「クラウド活用成熟度編」では、マルチクラウドが求められる背景と三大クラウドの活用方法について説明しました。
今回はマルチクラウド環境を活用していく上で最大の課題となるであろう「セキュリティ」について取り上げます。セキュリティ対策としては、オンプレミス時代のセキュリティ対策の常識だった「境界型セキュリティモデル」ではなく、「ゼロ・トラスト ネットワーク」によるセキュリティ対策がマルチクラウド活用における基本的な考え方となります。
1. 境界型セキュリティモデルの課題
オンプレミス時代のセキュリティ対策は、「社内は安全、社外は危険」ということを前提に、ファイアーウォールによる境界型のセキュリティ対策を実施し、インターネットの世界と社内ネットワークの世界を分離するという方法でした。この方法は社内に人が集まるのが常識で、インターネット上のサービスの利用は限定的だった時代には有効なセキュリティ対策だったため多くの企業が実践してきました。
しかし、クラウド化が進み世の中に便利なサービスが増え、更にはWithコロナ時代でリモートワークが当たり前となった現在において多くの課題があります。
・「社内」が安全とは限らない。内部犯行の脅威に弱く、セキュリティ対策が不十分な古いデバイスのマルウェア感染リスクが高く、尚且つ被害が増大しやすい
・「シャドーIT」が増えて見えないセキュリティリスクが増える。インターネット上のサービスの利用を制限しすぎると、社内ユーザーの不満が募り、勝手にクラウドサービスやWebサービスを利用を始めてしまう。
・クラウドのコスト効率性とクラウドのメリット、業務生産性が低減する。クラウドサービスの環境も境界型セキュリティモデルの考え方を前提にすると専用線や仮想ネットワークに対応したサービスしか利用できなくなる。
・リモートワークできるユーザー数やパフォーマンスに制限が掛かる。リモートワークはVPN接続を前提となり、環境準備に掛かるコストが課題になることも。
この境界型セキュリティモデルが通用していた時代に作られたセキュリティポリシーをマルチクラウドに適用するのは不可能です。ではどうすればよいのか?そこで注目を集めているのが「ゼロ・トラスト ネットワーク」です。
2. ゼロ・トラスト ネットワークとは
ゼロ・トラストネットワークとは、「信頼しないことを前提(ゼロ・トラスト)に、全ての通信を検査・ログ取得を行う」という性悪説のアプローチです。
ゼロ・トラストネットワークの概要は 【図解】コレ1枚でわかるゼロ・トラスト・ネットワーク・セキュリティで紹介されている図が分かりやすいので引用させてもらいます。
引用:【図解】コレ1枚でわかるゼロ・トラスト・ネットワーク・セキュリティ
上図でもいくつか紹介されていますが、社内外には様々な脅威が存在します。全ての通信を検査・ログ取得することで、これらの多様化する脅威に対応することができます。具体的な実装手法は以下のとおりです。
ID管理・権限制御(最も重要!)
・認証・認可により、権限を与えた「個人」を特定した上で許可を与える
・1 ユーザー・1 ID になるように運用することで「誰が・何を・いつ行ったのか」を特定しやすくする
・許可を与えていない悪意のある社員・外部からの不正アクセス者の操作を制限する
デバイス・サーバー管理
・マルウェア対策による既知の攻撃対策
・未知の攻撃に対しては SIEM (Security Information and Event Management) を利用した収集したログからのふるまい検知で対策
ログ収集・監査
・すべての通信ログを収集し、不正の発生を検知して即座に対策(SIEM)
・監査ログとして長期保存しておくことで、不正アクセス者の「否認」を防止
中にも外にも脅威があるという前提で対策を突き詰めていくと、ゼロ・トラスト ネットワークが完成し、社内と社外の境界の意味が薄れて、効果的にマルチクラウド環境の活用やセキュアリモートワーク環境を実現することができます。次に、ゼロ・トラスト ネットワークを実現する上で最も重要となる「統合認証」について説明します。
3. マルチクラウド環境の統合認証
AWS, Azure, GCP 等のクラウドサービスは ID による権限制御の徹底ができるように設計されています。人やアプリ、リソースに対して「ロール(役割)」を与え、アクセスの都度、権限有無の検証が行われています。(例:ポータルアクセス時、リソース閲覧時、リソース操作時…等、一度認可を得たとしたとしても操作の「都度」権限の検証が行われる)
各社の対応サービスは以下のとおりです。
AWS:Identity and Access Management (IAM)
Azure:Azure Active Directory & Role Based Access Control
GCP:Cloud Identity & Cloud IAM
これらのクラウドサービスを単独で利用する場合は各サービスを使いこなせばよいですが、マルチクラウド環境になったときに個別最適化すると 1 ユーザーがいくつもの ID を持つことになり管理が煩雑化してしまいます。
Azure や GCP の場合は ID 管理サービスが独立しているため、1 つの ID で複数環境に権限割り当てができますが、AWS の場合は ユーザー管理が AWS アカウント毎に独立しているためルールを決めておかないと 1 人に紐づくユーザー ID が大量に出来てしまいます。
そこで DATAFLUCTでは以下のように 1 つの ID で複数環境にアクセスできる統合 ID 環境を構成しています。
DATAFLUCT では G Suite を使っているため、全メンバーが Google Cloud Identity にアカウントを持っています。そのアカウントをベースに、Azure AD に ID 同期をし、Azure AD の認証モードを Federated にすることで Azure Portal に接続する際に、Google Cloud Identity 側で認証することができます。
AWS はAWS SSOを経由した各アカウントにアクセスしてもらうように構成しています。に前は認証用アカウントを設け、Assume Roleを使って切り替える運用にしていましたが、メンテナンスが大変だったためAWS SSOに移行しました。AWS SSOはAzure ADとID同期する昨日は公式サポートされていますが、Google Cloud IdentityとのID同期はGCP側がまだAWS SSOをサポートしていないため実装できません(2020年6月時点)。Azure ADをベースにしている場合はGCPにもAWSが同期できるので試してみてください。
・GCP 公式:GCP と Azure Active Directory の連携
・Azure 公式:Azure Active Directory と Google Cloud Connector の統合
・AWS 公式:G Suite アカウントを用いた AWS へのシングルサインオン
・AWS 公式:AWS Single Sign-On の ID ソースとしての Azure AD の接続
ID 認証プロバイダーとしてはオンプレミスの Active Directory との親和性が高く、高機能な Azure AD が他クラウドよりも頭一つ抜けているため、Azure AD をベースにするケースが多いです。Azure AD をベースにした場合は、Azure AD Identity Protection というリスクの高い認証を検知・コントロールする機能が使える等、本人以外が認証できてしまう可能性を下げることができるのでオススメです。ユーザー利便性を優先する場合は、G Suite や Office 365 等メインで使っている環境をベースにするのもオススメです。是非統合認証環境を作ってみてください。
統合認証環境を用意した後は、各クラウドの権限管理の設計を正しく行いましょう。特に重要なのは管理者権限を安易に与えないこと。本番環境の場合は必ず MFA を有効にして本人以外がアクセスできないように徹底し、各社が提供するセキュリティ関連の機能を有効化しておきましょう。
4. DATAFLUCT Platform の脅威対策
データプラットフォームも様々な脅威にさらされています。脅威分析の手法の 1 つに、Microsoft 社が提唱する脅威分析モデル「STRIDE」では、脅威は以下の 6 つに分類できるとされています。(それぞれの頭文字を取って”STRIDE” と呼ばれています。)
Spoofing (なりすまし)
Tampering (改ざん)
Repudiation (否認)
Information Disclosure (情報漏えい)
Denial of Service (サービス拒否)
Elevation of Privilege (特権昇格)
DATAFLUCT のデータプラットフォームはこれらの脅威に対応するためのゼロ・トラスト型の設計となっております。
図2. DATAFLUCT Platform のセキュリティ設計の概要図
上記を実現するために、データレイクに対する適切な権限管理やログ管理、暗号化等の対策を行っています。DATAFLUCT のデータレイクについて興味がある方は是非こちらの記事も参照してみてください。(関連記事:DATAFLUCTの事業を支えるデータレイクとは)
DATAFLUCT Platform では性悪説に基づいて設計しているため、外部犯行はもちろん、内部犯行もできないように構成し、不正があったとしてもすぐに気づいてアクションができるようにしています。例えば AWS 環境の場合は以下の構成で脅威検知・分析を行っております。
図3. 脅威検知のための AWS 構成
AWS には脅威検知のためのサービスが複数用意されています。GuardDuty により AWS アカウント内の脅威を検知・対応を行い、AWS Config によりプラットフォームの設定変更を検知する仕組みを実装しています。データレイクに蓄積している機密情報の検出・保護用に Amazon Macie も使いたいところですが、2020 年 6 月時点ではまだ国内では利用できないためリリース待ちの状況です。AWS によると今後数か月以内にアジアパシフィック(東京)でも利用できるようになるみたいです。
SIEM については、AWS CloudWatch Logs と Insights でなんちゃって SIEM をやることができるので有効にしています。
他にも、Azure Sentinel という Azure の SIEM サービスが AWS にも対応しているため、Azure 環境と AWS 環境の脅威検知用に利用しています。(参考:Azure Sentinel を AWS CloudTrail に接続する )
GCP の場合は Security Command Centerを有効化して脅威検知しましょう。
5. まとめ
連載第二弾は、マルチクラウド環境を安全に利用するために欠かせないゼロ・トラスト ネットワークと統合認証環境について紹介しました。多様化するサイバー攻撃に対抗するには従来のネットワーク境界型のセキュリティ対策では不十分です。「閉域網だから安全、インターネットだから危険」という考え方ではクラウド活用が思うように進まず、IT投資の効率性や業務生産性を高められない要因にも繋がります。ゼロ・トラスト ネットワークなマルチクラウド活用環境で、安全安心なデータ分析ライフを送りたいという型は是非DATAFLUCT にお声がけください!
次回は、マルチクラウドを活用したデータサイエンス環境あたりをテーマに noteを書きたいと思います。(時間に余裕があれば…)