column

コラム

Azure ADテナント作成/Azureサブスクリプション契約時に検討すべきこと

  • TAG

    Azure
  • UPDATE

    2022/02/02

はじめに

こんにちは。BTCクラウドCoEの西村です。今回はAzure関連の新規プロジェクトを開始する際に必要となる、Azure ADテナントとAzureサブスクリプションの設計について説明していきたいと思います。
 
 

Azure ADテナントとサブスクリプションの関係性

Azureの利用する場合、Active Directoryを保有しているかどうかに関わらずAzure ADテナントの作成が必須になります。これは、Azureで使用するユーザはAzure ADで管理する必要があるためです。
また、実際のAzureリソースはAzureサブスクリプションと呼ばれるAzureアカウント上に作成されますが、このAzureサブスクリプションは必ずAzure ADテナントに紐づいています。
 
Azureにおけるテナント*1とサブスクリプション*2の関係は以下の通りです。
 

 

ユーザ情報がサブスクリプションより上位の階層であるAzure ADテナントによって管理されており、Azure ADテナントとAzureサブスクリプションそれぞれの権限を考慮する必要があります。

 

Azure ADテナントの設計 – テナントの分離 –

Azure ADについて、Azureサブスクリプションを契約するにあたって新規に作成します。ただし、お客様が既にAzure ADを持っているという状態であれば、Azure ADを統合するか分離するかを検討する必要があります。

マイクロソフトのベストプラクティスでは、Azure ADは可能な限り統合することになっていますが、実運用を考慮した際にAzureの管理者と既存のAzure AD(もしくはActive Directory)の管理者が異なる場合は、分離することも多々あるようです。今回はAzure ADテナントを分離する前提で記事を作成しています。

以下は役割の異なる使い方をする場合のActive Directoryの分離イメージです。

 

 

 

Azure ADテナントの設計 – 特権管理 –

Azure Active Directoryには下表に示す4種類のエディションが存在します。デフォルトでは「FREE」プランとなっており、こちらでも通常のID管理は可能です。また、料金は2022/2/2現在の値です。

 

ただし、プロダクション環境でのAzure Active Directoryの利用は「PREMIUM P2」が推奨されています。
そのため、基本的にお客様からのご要望がない限りは「PREMIUM P2」を利用する想定で設計・実装を進めた方が良いです。

「PREMIUM P2」を利用することで、以下のような機能を設定できます。(詳細は参考ドキュメント「Azure Active Directoryの価格」をご参照ください。)

  • グループ、場所、およびデバイスの状態に基づいた条件付きアクセス
  • 時間ベースおよび承認ベースのロールのアクティブ化を提供して、対象リソースに対する過剰、不要、または誤用であるアクセス許可のリスクを軽減するPrivileged Identity Management(PIM)

 

Azure ADテナントの設計 – 管理グループ –

組織に多数のAzureサブスクリプションがある場合は、これらのサブスクリプションのアクセス、ポリシー、およびコンプライアンスを効率的に管理する方法が必要になることがあります。Azure管理グループのスコープはサブスクリプションの上位にあり、サブスクリプションをグループに所属させることができます。

管理グループに管理条件を適用すると、管理グループ内のすべてのサブスクリプションは、管理グループに適用された条件を自動的に継承します。

例えば、複数の環境(本番環境や検証環境など)を異なるサブスクリプション上に構築するのであればパターンA、一つのサブスクリプション上にまとめて構築するのであればパターンBのようなツリー構造になります。

 

 

Azureサブスクリプションの設計 – 契約種別 –

Azure ADの設計が決まったら、次にAzureサブスクリプションの契約種別について検討します。

Azureサブスクリプションの契約には商流・契約における制約がありますので、他の契約形態と比較し、どの契約で進めるかを決める必要があります。基本的に、弊社ではCSP契約を採用するケースが多いです。

 

Web直販ではお客様とマイクロソフトが直接契約する形になり、クレジット決済によってお客様が契約を進める必要があります。

また、EA契約は事前に3年間の使用料金の見積もりを算出して契約を行い、一括前払いが必要となるライセンスプランであるため、これらの契約形態は弊社では使用しないことが多いです。

残った候補となるOpen契約とCSP契約について、以下に特徴を整理します。

 

Open契約ではオープンライセンスをプリペイド形式で購入しますが、残高不足でシステムが停止してしまうため、常に残高を意識して運用する必要があります。

CSP契約では商流にCSPリセラーが加わることが可能で、従量課金となるためシステムの停止も発生しません。ただし、値引き後の請求情報はCSP契約システムからしか確認できないという留意点はあります。

CSP契約にはクリティカルな問題が存在しないこと、値引き価格で提供可能であることから、AzureサブスクリプションはCSP契約で作成しています。

 

ユーザ設計 – ディレクトリロールとAzureロール –

ユーザに付与する権限は「サブスクリプションに対する権限」と「Azure ADに対する権限」を分けて考える必要があります。
「Azure ADに対する権限」については、前述の通りサブスクリプション管理が上位に位置することから、細かい検討が必要になります。

【サブスクリプションに対する権限(Azureロール)】

一般的に、サブスクリプションの管理者は、サービスをホストしているサブスクリプションに対してどのような操作も許可されてよいことから、「所有者」として作成します。

その他のユーザは、「共同作成者」などで作成します。
(管理者が任意で設定可能です。共同作成者はAzureロールの作成や割り当て等ができません。)

【ADに対する権限(ディレクトリロール)】

「Azure ADテナントとサブスクリプションの関係性」で記載した通り、ユーザの管理がサブスクリプションの管理より上位に存在することから、
管理者がユーザを自由に追加・削除するためには、Azure ADに対する権限を保持している必要があります。

そのため、全体の管理者ユーザにはサブスクリプションに対する「所有者」権限に加えてADに対する「グローバル管理者」権限を付与し、サブスクリプションの管理者ユーザにはサブスクリプションに対する「所有者」権限のみ付与するといった設計が必要です。サブスクリプションのメンバーユーザには最小権限で割り当てることがベストプラクティスになります。

 

ユーザ設計 – グループ –

サブスクリプションに対する管理グループだけでなく、ユーザに対してもグループの概念が存在します。

Azureロールはグループに対して割り当てられますが、ディレクトリロールはユーザごとに割り当てる必要があります。

複数のユーザに対して権限を振り分ける場合の例を以下に示します。

 

 

最後に

今回、Azure ADテナントとAzureサブスクリプションの考え方について説明しました。
他のパブリッククラウドとは管理方法が若干異なるため混乱してしまうかもしれませんが、慣れてしまえば理にかなった構成と感じると思います。
また、本記事でご紹介した内容以外にも、細かい部分での設計は必要です。全体像を把握した上でチャレンジしてみてください。
 
パブリッククラウドごとにアカウントの構造やリソースの仕様、請求関連の特徴をしっかり理解し、どのクラウドでも扱えるようスキルを上げていきたいですね。

RECOMMEND

おすすめ記事一覧