概要
クラウドIaaS いろいろ使うと思いますが、
Azureを最近使っており、権限や各サービスの階層構造的なところが今までなあなあにしていたので、
いくつか細かな問題を抱えていました。
一度時間はかかりましたが、ゆっくり1からサービスの勉強をしてみたところ、
以前よりも理解が進んだので、ここにまとめとして残しておこうと思います。
重要なこと
これだけは抑えましょう。
というより、ここを抑えておけばそこまでやらかさないと思います。
- Azure Active Directory
- Global Administrator
- ユーザ
- サブスクリプション
- リソースグループ
- ロール
一つ一つ簡単ではありますが知っておかなければならないことをまとめます。
Azure Active Directory (AD)
「テナント」とも呼ばれます。
会社や、組織レベルの上位概念と覚えてください。
したがって、基本的にADは会社や組織単位で一つだけ作られているべきです。
ADには、ドメインが付与されます。たとえば、hogehogeという組織であれば、
hogehoge.onmicrosoft.com
のようなドメインを付与し、組織などを区別できます。
!!!注意!!!!
このドメインは後で変更することができません。
例えば、hogehoge.onmicrosoft.com
から mogemoge.onmicrosoft.com
への変更などはサポートなどにお願いすることはできません。
ネーミングには注意しましょう。
(筆者はいつも test とか、tmp とかとりあえず名前決めするときに入れてしまう癖があり、
あとで名前変更をしようとした時にやらかしたことに気づきました。。)
Global Administrator (GA)
AD を管理する最強権限の持ち主です。
主にできること
- ユーザの登録、削除など
- ユーザへのロールの設定、削除など
- あとなんでも
ちなみに、デフォルトのGAアカウントは、ADを作った時にログインしていたアカウントになります。
GAはGAを生成できます。
つまり最強権限をもつGAは、他のユーザにも最強権限のGAを付与できます。(削除もできます。)
!!!重要!!!
アカウントは taro@hogehoge.onmicrosoft.com
などになっている必要はありません。
taro@gmail.com
とかになっていても問題ありません。
もしそのような場合の時、
Active Directory --> Users と飛ぶと、、
taro@gmail.com#Ext#@hogehoge.onmicrosoft.com
とアカウント名のところに書かれているのが確認できると思います。
ユーザ
!!!重要な質問!!!
ユーザはどこに所属するでしょう??
ーーーー> 答え ーーー> ADです。
したがって、ユーザアカウントは、たとえば
taro@hogehoge.onmicrosoft.com
などになります。
組織に紐ついたユーザと考えればあたりまえですが。。
これらのユーザは、GAによって好きに生成、削除ができます。
また、ユーザにはユーザとゲストの2種類があり、
ユーザはかならずADに所属します。つまり、hanako@hogehoge.onmicrosoft.com
のようにドメインは固定です。
一方で、ゲストはhanako@gmai.com
などの人にも発行でき、その場合、
アカウント名のところには
hanako@gmail.com#Ext#@hogehoge.onmicrosoft.com
のように表記されています。
サブスクリプション
ADが持つ課金アカウント、がサブスクリプションになります。このサブスクリプションに対し、月額の従量課金が行われます。
ADは複数のサブスクリプションを持つことも可能です。
!!!重要!!!
- サブスクリプションを持つADのGAは、必ずしもサブスクリプションのadmin accountであるとは限りません。
- Microsoft for Start Program にてサブスクリプションを付与されている場合、サブスクリプションのadmin account のみが課金情報の詳細を見ることができます。(したがって、GAであっても詳細を確認できない。)
リソースグループ
リソースグループは、ADに紐つけられる、各サービス(VMや、DMなどのリソース)をまとめたものです。
ADを会社組織と考えると、リソースグループは部署や部門、実際のリソース(たとえばVM)は、その部署が管理する所有物、であると考えるとわかりやすいかと思います。
ロール
ロールは、ユーザに対しての実行権限を管理する時に用いるものです。
!!!注意!!!
ロールは、
- ADに付与するロール
- リソースグループに付与するロール
があります。
先述の通り、リソースグループはADにぶら下がっているので、
もしADのContributor
というロールを太郎さんに付与した場合、
太郎さんは基本的に全てのリソースグループに対してContributor
のロールを行使できます。
したがって、基本的にはリソースグループ単位でロールを発行し、
各ユーザがアクセスできるリソースグループを制限しておくべきだと考えます。
これは、ADが会社であり、リソースグループが各部署とか部門であるとすると、
このようによほどの重要人物でない限り、全部署のリソースにアクセスできるようなAD単位のロールは割り当てる必要がないことがわかると思います。
まとめ
Azureを使う上で、とても基本的なことをまとめました。
おさらいすると、
- Azure Active Directory (AD) は1組織を表す。
- Global Administrator (GA) は、ADの最強権限を持つ。
- ユーザはADに所属する。
- サブスクリプションはADに所属し、各サブスクリプションで月額従量課金が行われる。
- リソースグループは会社の部署のようなもの。
- ロールは、ユーザがどのリソースグループにどの役割でアクセスできるかをとりきめるアクセス制御。
最後に
今のところ、ADのドメインを後に変更できない、というところ以外はGAであれば基本的に設定し直すことができるのかなあと思っています。
もしドメインを変更したい場合などは、会社で例えると
- 新しい会社(AD)を作る
- 紐ついていたユーザ、サブスクリプションを全て新しいADに移行する
ことが必要(移行自体は可能)なので、それがなかなか大変だなと思いました。。
おまけ
サブスクリプションのadmin account の変更はサポートに言えばやってくれる。
サブスクリプションのadmin account は一つでなければならないのかーー>たぶんyes。