Azure RBAC の概要を端的に理解する
まず RBAC (role-based access control) とは、端的に、権限が付与されたロールをリソースやユーザーに付与することで、書き取りや読み取り等のアクセス制御を実現するシステムです。
Azure ロールベースのアクセス制御 (Azure RBAC) は、Azure のリソースにアクセスできるユーザー、そのユーザーがそれらのリソースに対して実行できること、そのユーザーがアクセスできる領域を管理するのに役立ちます。
Azure ロールベースのアクセス制御 (Azure RBAC) は、Azure Resource Manager 上に構築された認可システムであり、Azure 内のリソースに対するアクセスをきめ細かく管理できます。
ちなみに引用 2 つ目の「認可」とは、ユーザー (アクセス元) がリソース等 (アクセス先) に接続する際、ユーザーがどの権限を保有しているのか確認するプロセスのことです。
よく同一視される「認証」は、アクセス元に対して「本当に本人?証拠は?」って確認するプロセスなので、順番的には「認証 ⇒ 認可」となります。
念のため軽く触れましたが、詳細は下記の公式情報をご確認ください。
Authentication is the process that an individual, applicatio…
RBAC で使われる大分類 4 種類
Azure には “組み込みロール” と呼ばれる構築済みのロールが多数あります。
しかしながら、基本的なロールは次の 4 種類だけなので、覚えるのは簡単です。
- 閲覧者: Azure リソースを読み取り可能です。
- ユーザー アクセス管理者: リソースに対する他ユーザーのアクセス許可を設定できます。
- 共同作成者: リソースに対して何でも出来ますが、アクセス許可だけ設定できないです。
- 所有者: アクセス許可含めて、リソースに対して何でも出来ます。
例えば「サブスクリプション 共同作成者」という組み込みロールがあったとして、それを従業員 A さんに付与した場合、従業員 A さんはサブスクリプションの中でリソースの作成・削除など何でも出来ますが、アクセス許可に関する権限はないので、従業員 B さんにロールを付与することは出来ません。
このように、ロールを付与してアクセス制御をすることが Azure RBAC の考え方です。
Azure ロールベースのアクセス制御 (Azure RBAC) とはどういうもので、どのように動作するのかについて学習…
この記事では、Azure ロールベースのアクセス制御 (Azure RBAC) の Azure 組み込みロールについて説…
では、組み込みロールに希望するものが無かったなら、どうすれば良いのでしょうか。
答えは単純で、独自のカスタム ロールを作成することが出来るのです。
例えば「リソースは好きに使うと良いよー、ただし VM だけはダメ!」とかも可能です。
Azure の組み込みロールが組織の特定のニーズを満たさない場合は、独自のカスタム ロールを作成することができます。 組み込みロールと同様に、カスタム ロールは、ユーザー、グループ、サービス プリンシパルに対して、管理グループ、サブスクリプション、およびリソース グループのスコープで割り当てることができます。
ロールのスコープについて
従業員 A さんにサブスクリプションの「管理者」ロールを割り当てたとします。
すると、従業員 A さんはサブスクリプション配下の全てのリソース グループ、リソースに対するフル アクセスが許可されます。権限は親から子へと継承されるのです。
親スコープでアクセス権を付与すると、それらのアクセス許可が子スコープに継承されます。 たとえば、サブスクリプション スコープで共同作成者ロールをグループに割り当てる場合、そのロールはサブスクリプション内のすべてのリソース グループとリソースに継承されます。
RBAC をもっと詳しく知りたい場合
Microsoft Learn にて、RBAC を使用した Azure リソース管理のトレーニングが公開されています。
Microsoft の公式ドキュメントは正直かなり読みにくいので抵抗がある方も多いと思いますが、Learn のトレーニングは完全に別枠で、ある程度分かりやすい構成となっております。
私自身、このトレーニングで RBAC を理解できたので、ご参考いただければと思います。
Azure ロールベースのアクセス制御を使用して、チームの Azure リソースへのアクセスを効果的に管理する方法につい…