Azure の基礎 その3 セキュリティ、管理グループ
Azure におけるセキュリティ、責任、信頼
このカリキュラムがすごい
このカリキュラムもクオリティが高いです。少し長くなりますが、引用させて頂きます。
あなたは、Contoso Shipping という会社で働いているとしましょう。あなたが指揮を執っている開発は、都市部への配送ではトラック運転手がモバイル アプリを利用できるようにすること、一方、地方ではドローン配送のサービスを提供することです。 最大限の効率化を図るため、Contoso Shipping のインフラストラクチャの大部分をクラウドに移行している最中です。
同時に、自社のデータ センターにある一部の物理サーバーを Azure 仮想マシンに移行しようとしています。 あなたのチームでは、一部のサーバーをオンプレミスに残す、ハイブリッド ソリューションの作成を計画しているため、新しい仮想マシンと既存のネットワークとの間に安全で高品質な接続を必要としています。
また、Contoso Shipping には、運用の一部を担う、ネットワーク外のデバイスもいくつかあります。 データを Azure Event Hubs に送信するドローンでは、ネットワーク対応のセンサーを使用しています。一方で、配送ドライバーはモバイル アプリを使用してルート マップを取得し、荷物の受領時にサインを記録します。 これらのデバイスおよびアプリがデータをやりとりする際には、しっかりと認証されていなければなりません。
データのセキュリティを維持するにはどうすればよいでしょうか?
いきなり、めちゃくちゃ具体的な case study から入ります。すごいイメージしやすいですよね。
Azure クラウドセキュリティの考え方
クラウドサービスは大きく3種類に分類されます。
- IaaS(VirtualMachine)
- PaaS(Azure Active Directory, Azure Cosmos DB, Azure Event Hubs)
- SaaS(Office 365)
これらのサービス種別により、OS のパッチを当てるのが誰なのか、といったことは先に決まっています。
ですが、そういったデブロイの種類に関係なく、Azure を使う側の責任となるものがあります。
- データ
- エンドポイント
- アカウント
- アクセス管理
セキュリティに対する階層型アプローチ
いわゆる多層防御のことを意味しています。
データが中心にあり、それを囲むようにアプリ層、ネットワーク層、物理層といった様々な層によって幾重にもセキュリティを担保する考え方です。
Azure Security Center
Azure ベースのソリューションのセキュリティを検討する際には、まず Azure Security Center を参照することをお勧めします。
- 構成、リソース、およびネットワークに基づいて、セキュリティに関する推奨事項を提供する。
- オンプレミスおよびクラウドのワークロード全体のセキュリティ設定を監視し、新しいサービスがオンラインになると必要なセキュリティを自動的に適用する。
- すべてのサービスを継続的に監視し、自動的なセキュリティ評価を実行して、潜在的脆弱性を、悪用される前に特定する。
- 機械学習を使用して、マルウェアが仮想マシンやサービスにインストールされる前に検出してブロックする。 また、許可されるアプリケーションの一覧を定義して、検証対象のアプリのみが確実に実行を許可されるようにすることもできます。
- 受信攻撃の可能性を分析および特定し、脅威および発生した可能性がある侵害後のアクティビティの調査を支援する。
- ポートに対する Just-In-Time アクセス制御を提供し、必要なトラフィックのみがネットワークで許可されるようにして、攻撃対象の領域を減らす。
料金はこちらですが、free プランもあり、Standard プランも初月無料ですので、気軽に使いやすい料金設定になっていると思います。
Azure Active Directory
Azure といえば Active Directory ですよね。多くのエンタープライズ企業において、クラウドで Azure を採用する理由の一つが、Active Directory だと思います。
それくらい世の中に普及していて、絶対的地位を築いている ID 管理サービスですね。
ユーザーID、サービスID、マネージドID、ロールベースのアクセス制御(RBAC)によって、リソースへのアクセスを管理して、シングルサインオン(SSO)や多要素認証(MFA)にも対応しています。
いずれ、どんな使い方が出来るのか詳しく調べてみたいと思います。
暗号化
Azure Storage Service Encryption は Azure Storage プラットフォームにおいて、データが保存される前に自動的に暗号化され、データが取得される前に復号化されます。
Azure Disk Encryption では、仮想マシン ディスクを暗号化します。
Transparent Data Encryption はデータベースの暗号化を行います。
そして、暗号化はキーを用いて行われますが、そのキーを管理することが出来るのが Azure Key Vault です。
証明書も Azure Key Vault で管理することが出来ます。便利ですね。
Azure Policy でインフラストラクチャの標準を適用して監視する
前提として、たくさんのチームがあり、サブスクリプションも複数ある場合を想定しています。
Azure Policy を使うとリソースの制御や監視が行えます。数百のサンプルが用意されているので参考にすると良いでしょう。
Azure 管理グループ
管理グループを使用すると、Azure リソースを階層的にコレクションへと並べ替えることができます。これにより、サブスクリプションのレベルよりもさらに高度な分類が可能になります。
管理グループ内のすべてのサブスクリプションは、管理グループに適用された条件を自動的に継承します。
Azure Blueprints
Azure 上のインフラ設計は、一連のリソース グループ、ポリシー、ロールの割り当てのほか、Resource Manager テンプレートのデプロイから成ります。
ブループリントは、これら個々のアーティファクトの種類をまとめたパッケージです。
ブループリントを使用すると、ブループリント定義 (何をデプロイする必要があるか) とブループリント割り当て (何がデプロイされたか) の間に関係が維持されます。
この結び付きによって、デプロイの追跡と監査が向上します。
Azure Monitor と Azure Service Health
Azure のリソース監視サービスです。アラートの発砲なども行えます。
コア クラウド サービス - Azure portal を使用してサービスを管理する
Azure の構成管理は以下で行えます。
- Azure portal(画面操作)
- Azure Cloud Shell(ブラウザベースのコマンド実行環境)
- Azure PowerShell
- Azure CLI
演習 - ダッシュボードをカスタマイズする
ダッシュボードを作成する演習が用意されています。
最初は何もありません。
指示に従って、色々なボードを追加しました。
ダッシュボードを複製・編集して、共有します。
ダッシュボードの状態は json ファイルで保持されており、これをダウンロードして編集も可能です。演習では編集後にアップロードまで行いました。
今日はここまで
以下のカリキュラムを終わらせました。
- Azure におけるセキュリティ、責任、信頼
- Azure Policy でインフラストラクチャの標準を適用して監視する
- コア クラウド サービス - Azure portal を使用してサービスを管理する
セキュリティについての考え方や、管理グループによってサブスクリプションへのアクセスコントロールを行うといったことが学べました。
Azure の場合も AWS と同じように ID 管理がグローバルサービスで扱われているというのは共通していますね。また、管理グループがあることも同じ感時かなと思います。
ただ、サブスクリプションという概念が、AWS にはないのでそこをどう理解するかが、Azure と AWS の違いを理解するうえでのポイントかなと思いました。