AzureでのIAMの考え方と実装をサポートするフレームワーク/Azure ADの機能/サービス群
Azureにおける「IDとアクセス管理」のベストプラクティス
2021年10月19日 08時00分更新
連載でお届けしている「プロに教わるAzure設計運用のベストプラクティス」、今回は「Azure IDとアクセス管理」という切り口で、そのベストプラクティスを考えてみたい。
さて「IDとアクセスの管理」とは何だろうか。誤解を恐れず大ざっぱに言うと「ユーザーなどのプリンシパルとその権限の管理」であり、本質的には「ガバナンス」と「セキュリティ」の要件を満たすための要素が大きい。つまり、個人やアプリケーションなどの正当性を担保し、それらに必要な権限を与え、適切な管理を行うために利用されるものだ。当然、それができないと、例えば退職者のIDの管理漏れによるセキュリティ問題、個別のシステムごとに管理されないユーザーが増加し続けるリスクなどが顕現化することになる。
さて、最近の調査レポート(FLEXERA™ 2021 State of the Cloud Report, Flexera https://info.flexera.com/CM-REPORT-State-of-the-Cloud)によれば、現在のパブリッククラウド利用者が考える「クラウドにおける課題」は、利用者の成熟度に関わらず「セキュリティ」「ガバナンス」「クラウドの管理」が常にトップ5に入るという。リソースの作成と変更が簡単で、どこからでも容易にアクセスできるパブリッククラウドが組織のIT環境に加わったことで、これらの重要度が高くなっているのだ。
IDとアクセス管理というテーマは広いが、以下本稿ではガバナンス、セキュリティ、そしてクラウド管理の一部要素として掘り下げたい。ただし広範にわたるテーマでもあるので、あらかじめ本稿では“取り上げない”内容を示しておく。
●本稿の内容に含まれないもの:・ハイブリッドID戦略と実装方式 ・外部IDの利用実装と管理 ・Active Directoryおよび関連機能、サービス、ソリューションの詳細 ・Azureで提供される各ソリューション単体の詳細説明 ……など
●Azure Active DirectoryとID管理の基本
-ID管理の基本概念
-アクセス管理の基本
●Cloud Adoption FrameworkガバナンスにおけるIDとアクセス管理
-大きな粒度のIDガバナンス
-ベースとなるテンプレート
-IDベースライン規範の改良
●Well-Architected FrameworkとAzure Security Benchmark
-Azure Security Benchmarkに沿ったIDおよびアクセス管理の考え方
-ID管理のコントロールと、Azure ADなどで利用できる機能
-特権アクセスのコントロールと、Azure ADで利用できる機能
●AzureでのIDおよびアクセス管理をより便利にするサービス
-ユーザーの助けになるAzure Security Center
-SIEMとSOARの観点をカバーするAzure Sentinel
Azure Active DirectoryとID管理の基本
AzureにおけるIDとアクセス管理には、基本的に「Azure Active Directory(以降、Azure AD)」が大きく関わってくる。
Azure ADは、Microsoftがクラウドベースで提供するIDおよびアクセス管理(IAM:ID and Access Management)のサービスである。Microsoft AzureやMicrosoft 365などのサービスでは、このAzure ADでユーザーIDを格納し、管理/利用することができる(ただし、それらのサービス専用という訳ではない)。
ID管理をAzureのサービスとして提供することによって、それを利用するアプリケーションなどでは認証が単純化される。Azure ADでは「OAuth 2.0」や「OpenID Connect」など業界標準のプロトコルもサポートされている。
なおAzure ADは、Windows ServerのActive Directory Domain Services(以降、ADDS)とは名前が似ているものの、同じ機能のクラウド版では“ない”。さらに、オンプレミスのActive Directoryを完全に置き換えることを目的としたものでもなく、最初からクラウドサービスに対応したIDおよびアクセス管理サービスだ。
Azure ADは、大まかには次のようなリソースへのサインインとアクセスを支援する。
・Microsoft 365やAzure Portal、そのほか何千というSaaSアプリケーションなど、外部リソース。
・企業ネットワークとイントラネット上のアプリや、自分の組織で開発したクラウド アプリなどの内部リソース。
ただし、すでにADDSを使用している場合は、それをAzure ADと連携させてユーザーIDなどのディレクトリ情報を Azure に同期することが可能だ。この方法により、オンプレミスのID管理がAzureに拡張された形となり、ユーザーは同じ資格情報を使用して、ローカルリソースとクラウドベースのリソースの両方に、シームレスにアクセスすることができる。
また、Azure ADにはID保護や多要素認証といった、IDに対するセキュリティ機能も持つ。
●ID管理の基本概念
IDとアクセス管理の基本的な内容も確認しておこう。IDは環境全体にわたる概念であり、考慮する範囲が広い。次に挙げる4つの基本的な考え方を整理しておくことで、IDの管理、リソースへのアクセス制御のプロセスとテクノロジーを扱いやすくなる。
・管理:ユーザー、デバイス、およびサービスのIDを作成し、管理すること。どのような状況において、どのような方法でIDの特性を変更(作成、更新、削除)するかについての事柄。
・認証:特定のIDについて、身元の保証に十分な証拠があるかどうかを調べること。例えばITシステム側から見て、資格情報が正当であるかどうかを厳密に調べることで認証を行う。「AuthN(Authenticationの略)」と表記する場合もある。
・承認:認証されたユーザーまたはサービスが、アクセス先のアプリケーションまたはサービス内で持つアクセスのレベルを決定すること。「認可」とも呼ばれ、「AuthZ(Authorizationの略)」と表記する場合もある。
・監査:誰が、何を、いつ、どこで、どのように行うかを追跡すること。監査には、IDガバナンスを目的とした、詳細なレポート、アラートなどが含まれる。
これら4つの項目を意識して考えることは、包括的で堅牢なIDおよびアクセス制御の実現にとって重要な事項となる。
●アクセス管理の基本
アクセス管理は、上述した基本概念のうち「承認」の段階に当たる。AzureではAzure RBAC(ロールベースのアクセス制御)を利用する。これは「Azure Resource Manager」上に構築された承認システムであり、Azureリソースに対するアクセスをルール化/パターン化しつつ、きめ細かく管理できる。
Azure RBACを使用してリソースへのアクセスを制御するには、Azureのロールを割り当てる。
Azure ADには、一般的なセキュリティシナリオに対応するために、あらかじめいくつかの組み込みロールが用意されている。ほかのユーザーにアクセス許可を委任できる権限のあるもの、リソースの作成および管理ができるもの、特定のリソースやデータのみに限定するもの、といった具合だ。本稿執筆時点では238個のロールが定義されており、用途に応じて素早く選択することができる。これらはサービスの発展とともに順次追加されている。
各ロールの定義は、プロパティのセットをJSON形式で記載したものとなっている。ここにはロールの名前、ID、説明に加えて、許可される権限(Actions)と拒否される権限(NotActions)などが含まれる。もちろん、ユーザー自身でこれを定義したカスタムロールを用いることも可能だ。
さらに、このロールをどのスコープ(範囲)で有効なものとするかによって、よりきめ細かい制御が可能になる。例えば適用対象をAzureのサブスクリプション、複数のサブスクリプションを一括した管理グループ、単体のリソース、複数のリソースを束ねたリソースグループといった、業務要件やITの利用条件に合わせたスコープが設定できる。
極端なことを言えば、AzureにおけるIDとアクセスの管理はこれらの機能を用いることで実現できてしまう。ただしこれは、粒度の小さいAzureの仕組みの話だ。単機能の利用だけを考えていると本来実現したい目的から外れて、手段が先行するクラウドの利用になってしまいがちだ。そこで次項では、もっと大きな粒度の、「IDとアクセス管理」という考え方に立ち戻って説明したい。
★まとめ:Azure Active DirectoryとID管理の基本
・クラウドサービスを考えたID管理は、Azure ADの機能が基本となる。
・管理/認証/承認/監査という4つの基本概念を考慮すると、計画や実装の整理ができる。
・Azureにおいては、ユーザーなどのプリンシパルとそこに割り当てるロール、対象範囲となるスコープを意識する。
この連載の記事
-
第6回
TECH
Azureの利用コストを最適化するためのベストプラクティス -
第4回
TECH
あらゆる観点から考える「データセキュリティ」のベストプラクティス -
第3回
TECH
“ポストクラウド時代”の効率的なインフラ管理方法とは -
第2回
TECH
「失敗あるある」から考える、Azure移行のベストプラクティス -
第1回
TECH
Azureで実現する高可用性の“勘どころ”と構築のポイント - この連載の一覧へ