Azure Managed Service Column <Azure運用コラム>

RBAC(ロールベースアクセス制御)とは?Azureを安全に利用するための権限管理

Category: 入門編

2021.08.02

はじめに

企業活動においても、クラウドサービスの利用やモバイル端末の活用が進んでいますが、ここで重要となるのがクラウドネイティブなセキュリティ対策です。また昨今の社会情勢を背景としてテレワークが急速に普及していることを鑑みても、クラウド環境におけるセキュリティ対策を適切に行っておく必要性があるといえるでしょう。

この記事では、Microsoft Azure などのクラウドサービスを安全に利用するのに役立つアクセス管理手段である RBAC(ロールベースアクセス制御)についてご紹介します。

1. クラウドにおけるアクセス権限管理の現状

昨今、ビジネスシーンにおいてクラウドサービスの利用率が増加しています。

総務省が公開している「令和 2 年 情報通信白書」によると、2019 年時点における企業のクラウドサービス利用率は「 64.7 %」となっており、前年の 58.7 %から大きく上昇しています。また新型コロナウイルス感染症の流行拡大によってテレワークが急速に推進された 2020 年以降には、この割合がさらに増加していることが推測できるでしょう。ニーズが増えたことにより新たなクラウドサービスも数多くリリースされています。

クラウドサービスの活用範囲が広がった結果、クラウドで運用するシステムが増えてきたことで、権限の付与が複雑化しています。また、特定の業務やプロジェクトにおいて、複数の部署や外部企業がクラウド上の同一システムにアクセスするケースも増えています。そのような状況下で、大きな課題となるのが「権限の付与」です。

「なぜ適切な権限付与が重要なのか?」については、「クラウドセキュリティを担保するために考えるべきことを、クラウド機能の活用例を交えて解説!」をご参照ください。

これまで権限の付与については、管理者や経営陣には高い権限を付与し、一般従業員や外部のスタッフなどには低い権限を付与するなど、地位や役職に応じてレベルを区分するケースが一般的でした。しかし、複雑かつ専門性が求められるような業務においては、このような付与の手法でそのまま運用を続けていると、弊害が生じる可能性があります。

たとえば、開発者として関わる外部のスタッフに権限を付与する場合において、企業の経営などに関する重要な機密情報へのアクセスは厳禁としなければなりません。しかし外部スタッフが従事している業務の中で、開発において直接関わる必要がある重要データに関しては、経営陣以上に高いアクセス権限が必要となるでしょう。

このような状況下で発生する課題を解消し、クラウドの利便性を活かしたアクセス権限を適切に付与できる手段として、RBAC が用いられているのです。

2. ククラウドの利便性を活かすアクセス権限手段「 RBAC 」とは

RBAC とは、” Role Based Access Control ”の頭文字をとった略称で、日本語では「ロールベースアクセス制御」となります。RBAC は、クラウド活用に適したアクセス権限の管理手法として、Microsoft Azure をはじめとする数多くのクラウドサービスで、幅広く利用されています。なお、Microsoft Azure においては「 Azure RBAC 」という名称で提供されています。

RBAC は「ロール(役割)をベースとしたアクセス制御」を行っています。先に述べたとおりこれまでの権限付与は、ユーザーを役職や部署ごとに区分することで権限を付与する手法が一般的でした。その一方で RBAC においては、個々が持つ業務上の役割ごとに、どのような作業を行ってよいか判断の上、適正な権限を付与しています

たとえば、開発業務に関わっている人物であれば、社外のスタッフでも「開発のための重要なシステム」にアクセスが可能となります。また、開発業務に関わっていない人であれば、たとえ経営者であってもそのシステムにはアクセスできない状態とすることが可能です。
このように、各ユーザーが業務上必要としているシステムにのみアクセス権を限定することで、セキュリティを高める手法が RBAC です。

【 RBAC における権限付与の例】

役割 人事データ 財務データ 開発データ
人事 ×
経営 ×
開発 × ×

3. Microsoft Azure における RBAC( Azure RBAC )

Azure RBAC におけるロールの割り当ては、以下に挙げる 3 つの要素で構成されています。ここでは、RBAC が用いている 3 種の要素について、それぞれくわしくご紹介します。

3.1 セキュリティプリンシパル(ユーザー)

Microsoft Azure の各種リソースにアクセスする、ユーザーやグループを指します。Azure RBAC においては、ユーザー、グループ、サービスプリンシパル(※1)、マネージド ID (※2)を表しています。これらのセキュリティプリンシパルのいずれかに、ロールが割り当てられます。

※1.サービスプリンシパル:
リソース/サービス レベルの無人操作を実行するためにテナント内で作成する Azure Active Directory アプリケーション リソースのこと。アプリケーションID とパスワードまたは証明書が与えられた、独自のユーザーID。
※2.マネージド ID :
リソースで割り振られた Azure Active Directory 上の ID。

3.2 ロール(役割)

各ユーザーの役割を定義します。ロールの定義には、実行可能な操作(読み取り、書き込み、削除など)を登録します。Azure RBAC では、ロールを高レベルにすることも、限定的にすることも可能です。

3.3 スコープ(場所)

アクセスが適用される、リソースの場所を示します。ロールを割り当てる際にスコープを定義することにより、操作の制限が可能となります。

なお、Azure RBAC では、Azure portal から以下のステップでロールを割り当てています。

  1. 必要なスコープを特定する
  2. [ロールの割り当ての追加]ウィンドウを開く
  3. 適切なロールを選択する
  4. アクセスを必要とするユーザーを選択する
  5. ロールを割り当てる

なお、さらに詳細な手順を知りたい方は、Microsoft ドキュメントをご参照ください。

4. Azure におけるロールの種類

Azure では、従来のサブスクリプション管理者ロールと、Azure ロール、および Azure AD ロールの、3 種のロールが定義できます。

4.1 従来のサブスクリプション管理者ロール

アカウント管理者、サービス管理者、および共同管理者などといったような、以前から用いられてきたタイプのアクセス権限を割り当てます。

4.2 Azure ロール

Azure VMAzure Storage などの、各種リソースへのアクセス権限を割り当てます。

4.3 Azure ADロール

Azure Active Directory リソースへのアクセス権限を割り当てます。具体的な Azure Active Directory リソースには、ユーザーの作成や編集、他のユーザーへの管理ロールの割り当て、ユーザーパスワードのリセット、ライセンスやドメインの管理などがあります。

5. Azure におけるロールの要素

Azure RBAC には、70 を超える組み込みロールが用意されています。それらのなかで基本的となる Azure ロールには、以下の 4 つが挙げられます。なお、以下の 4 つのう ち1~3 までは、すべてのリソースの種類に適用されます。

  1. 所有者
    すべてのリソースへのフルアクセスが可能です。また、アクセスを他のユーザーに委任します。
  2. Contributor(共同作成者)
    すべての種類の Azure リソースを作成および管理できます。Azure Active Directory で新しいテナントを作成します。なお、他のユーザーにアクセスを許可することはできません。
  3. Reader(閲覧者)
    Azure リソースを表示します。
  4. User Access Administrator Azure(ユーザーアクセス管理者)
    リソースに対するユーザーアクセスを管理します。

6. Azure におけるスコープの要素

RBAC における「スコープ」とは、アクセス権限を付与するリソースをセットにしたものです。アクセス権の付与にあたってロールを割り当てる際には、セキュリティプリンシパルに実際に必要なアクセス権のみを付与できるよう、このスコープについて理解することが重要です。

スコープを制限することで、セキュリティプリンシパルが侵害された場合にも、リスクに晒されるリソースの制限が可能です。Azure では、管理グループ、サブスクリプション、リソース グループ、リソースの 4 段階でスコープを指定できます。

スコープは、親子関係で各階層に分けられることで構造化されています。階層のレベルによってスコープがさらに限定的となり、また選択するレベルによってロールの適用範囲が決定されます。なお、上位レベルのロールのアクセス許可が下位レベルに継承されるようになっています。

以下は、Azure ロールの具体的な設定例を図版化したものです。システムや環境、部署やチームによってロールを設定する際の参考にしてください。

【 Azure ロールの設定例】

■部門ごとに別のサブスクリプションに独立したシステムがあるケース

部署 システム A システム B
部署 A 所有者 閲覧者
部署 B 閲覧者 所有者

■リソースグループで本番環境、開発環境を分けているケース (開発環境は誰でも触れるが、本番環境は特定のチームだけ)

チーム 本番環境 開発環境
開発チーム 所有者 所有者
評価チーム 閲覧者 共同制作者

7. Azure RBAC を利用する際のポイント

Azure RBAC を利用する場合、Microsoft Azure のサブスクリプションサービスの申し込みを行う必要があります。なお、Azure RBAC の機能はこのサブスクリプションに含まれているため、別途オプションサービスなどを申し込む必要や追加料金を支払う必要はありません。

Azure ロールの割り当てには「 Microsoft.Authorization/roleAssignments/write 」へのアクセス許可が必要となります。また、前述した 3 つの要素(セキュリティプリンシパル、ロールの定義、スコープ)を、それぞれ指定する必要があります。

Azure RBAC では、容易かつ柔軟にアクセス権限の付与を行うことができます。しかしその一方で、簡単で柔軟であるからこそ、ついつい場当たり的にロールを割り当ててしまうことも考えられます。それによって、せっかく適正にアクセス権限を付与することを試みたにもかかわらず、従来以上に付与権限の複雑化を招いてしまうケースも想定できるでしょう。このため、各要素の設定については、事前にある程度の方向性を定めておき、計画性を持って行うべきでしょう

まとめ

企業ビジネスにおけるクラウドの活用範囲は、今後さらに急拡大していくことが予想されます。ビジネスにおいて、Microsoft Azure の機能や利便性を十分に活用するためにも、Azure RBAC によるアクセス権限の管理を取り入れてみてはいかがでしょうか。

Microsoft Azure の各サブスクリプション、リソースグループなどの単位で、柔軟かつ簡単にアクセス権限の管理を行える Azure RBAC をもしまだ導入していなければ、今からでもぜひ利用を検討することをおすすめします。

Azure のセキュリティ対策について相談したい

Azure セキュリティ対策サービス

Azure セキュリティ対策サービス

Azure 環境に対するセキュリティ対策の評価と対策のご提示、ユーザーごとの適切な権限と条件付きアクセスポリシーの定義、シングルサインオンの導入計画の策定などを行います。

Free

資料ダウンロード

課題解決に役立つ詳しいサービス資料はこちら

資料ダウンロード
  • Azure導入支援・構築・運用サービス総合カタログ

    Microsoft Azure サービスの導入検討・PoC、設計、構築、運用までを一貫してご支援いたします。
    Azure導入・運用時のよくあるお悩み、お悩みを解決するためのアールワークスのご支援内容・方法、ご支援例などをご確認いただけます。

Azure導入個別相談会(無料)

Tag: Azure RBAC セキュリティ

Contactお問い合わせ

お見積もり・ご相談など、お気軽にお問い合わせください。

single.php