InfraAcademy

InfraAcademy Blog

Azureのユーザに権限を付与する方法とは?RBACとPIMについて解説

| #Microsoft Azure #Azure入門 #Azure 入門
Linuxをブラウザで試してみる

Linux・ネットワーク・AWSを、環境構築なしで実践学習できます

こんにちは、InfraAcademyを運営しているryuです。

今回は、Azureでユーザーに権限を付与する方法について、Azure RBACとMicrosoft Entra Privileged Identity Management(PIM)を中心に解説します。

Azureを複数人で使い始めると、誰にどこまで操作させるべきか迷うことがあります。全員に管理者権限を付ければ簡単ですが、削除や設定変更まで誰でもできる状態になり、セキュリティ面ではおすすめできません。

私はエンジニアとして10年以上、サーバーやクラウド環境に触れてきましたが、権限管理では「必要な人に、必要な範囲だけ与える」という考え方がとても重要だと感じています。設定そのものより、あとから誰が何をできる状態なのか分からなくなる方が運用では困ります。

この記事では、Azureの権限管理を初めて学ぶ方でも分かるように、RBACの仕組み、ロールとスコープ、PIMとの違い、実際の設定例まで順番に見ていきます。

Azureの権限管理で最初に知っておきたいこと

Azureの権限管理でよく使うのがAzure RBACです。RBACはRole-Based Access Controlの略で、ユーザーやグループにロールを割り当てることで、Azureリソースへのアクセスを制御します。

ここで大切なのは、ユーザーごとに細かな操作を一つずつ許可するのではなく、役割をまとめたロールを割り当てることです。

例えば、開発担当者にはリソースを変更できる権限を与え、確認だけを行う担当者には閲覧権限だけを与える、といった管理ができます。

Microsoft Entra IDでユーザーやグループを作る方法については、先にこちらの記事を読んでおくと理解しやすくなります。

【関連記事】Microsoft Entra IDとは?ユーザー・グループ管理を初心者向けに解説

Azure RBACとは?

Azure RBACは、Azure Resource Managerを利用して、仮想マシン、ストレージ、Web AppなどのAzureリソースへのアクセスを管理する仕組みです。

RBACを理解するときは、誰に・どのロールを・どの範囲で付けるのかの3点を考えると分かりやすくなります。

RBACを構成する3つの要素

Azureのロール割り当ては、主に次の3つの要素で構成されています。

要素 意味
セキュリティプリンシパル 権限を受け取る対象 ユーザー、グループ、マネージドID
ロール 何ができるか Reader、Contributor、Owner
スコープ どこまで権限が有効か サブスクリプション、リソースグループ、個別リソース

例えば、開発チームのグループにContributorを割り当て、対象を開発用リソースグループだけに限定できます。

これなら、開発チームはそのリソースグループ内ではAzureリソースを操作できますが、別の本番用リソースグループまで自由に変更できるわけではありません。

Azure RBACの代表的なロール

Azureには多数の組み込みロールがありますが、最初はOwner、Contributor、Readerの違いを理解すると十分です。

代表的なロールを整理すると、次のようになります。

ロール できること 注意点
Owner リソース管理に加えてRBACの権限付与も可能 非常に強い権限
Contributor リソースの作成・変更・削除が可能 RBACの権限付与はできない
Reader リソースの閲覧 変更はできない

以前の記事では設定をする人にはOwnerを付けるという説明をしていましたが、現在はこの付け方をおすすめしません。

通常のリソース操作だけならContributorで足りる場合が多く、Ownerは他人へのロール割り当てまでできる強い権限です。必要以上にOwnerを増やさないことが大切です。

スコープを小さくすると安全に管理できる

RBACではロールだけでなく、どこまで権限を有効にするかを表すスコープも重要です。

Azure RBACでは、管理グループ、サブスクリプション、リソースグループ、個別リソースという単位でスコープを指定できます。

例えばReaderをサブスクリプション全体に割り当てれば、その配下にある多くのリソースを閲覧できます。一方、特定のWeb Appだけをスコープにすれば、そのWeb Appに対してだけ権限が有効になります。

エンジニアとして実際に権限を考えるときも、私はまず「この人は本当にサブスクリプション全体を触る必要があるか」を確認します。迷った場合は、広く付けてあとで絞るより、最初から必要な範囲だけにする方が管理しやすいです。

Azure PortalからRBACを設定する方法

ここからは、Azure PortalでRBACを設定する基本的な流れを確認します。

元記事で使用していた画像は旧Azure Portalの画面ですが、アクセス制御(IAM)からロールを割り当てるという考え方は現在も同じです。

1. 対象リソースのアクセス制御を開く

まず、権限を設定したいAzureリソースやリソースグループを開き、アクセス制御(IAM)を選択します。

現在のAzure Portalでは画面の配置やボタン名が変更されることがありますが、IAMからロール割り当てを管理します。

2. ロールの割り当てを追加する

続いて、ロールの割り当てを追加します。

現在の画面では「ロールの割り当ての追加」から、最初にロールを選び、そのあとユーザーやグループなどのメンバーを指定する流れになっています。

3. 必要なロールとユーザーを選択する

最後に、付与したいロールと対象ユーザーまたはグループを選びます。

閲覧だけでよければReader、Azureリソースを作成・変更する必要があればContributorなど、業務に必要なロールを選択してください。

個人ユーザーへ直接付与することもできますが、複数人を管理する場合はMicrosoft Entra IDのグループへロールを割り当てると、あとからメンバーを入れ替えやすくなります。

Azure CLIからRBACを設定する例

Azure Portalだけでなく、Azure CLIからロールを割り当てることもできます。

例えば、特定のユーザーへリソースグループ単位でReaderロールを付与する場合は、次のようなコマンドを利用できます。

az role assignment create \
  --assignee user@example.com \
  --role Reader \
  --resource-group my-resource-group

現在のロール割り当てを確認する場合は、次のように実行できます。

az role assignment list \
  --resource-group my-resource-group \
  --output table

Azure CLIを使えるようになると、検証環境を作るたびに同じ権限設定を繰り返す場合や、自動化したい場合にも便利です。

ただし、コマンドを暗記するより、誰にどのロールをどのスコープで付けているのかを理解する方が重要です。

Microsoft Entra PIMとは?

RBACと一緒に覚えておきたいのがMicrosoft Entra Privileged Identity Management、略してPIMです。

PIMは、強い権限を常に持たせるのではなく、必要なときだけ一時的に有効化するための仕組みです。

例えば、普段は一般的な権限だけで作業し、本番環境の設定変更を行う2時間だけOwner相当の権限を有効にする、といった運用ができます。

PIMでは、権限を有効化するときにMFAを要求したり、理由の入力や承認者の承認を必要にしたりする設定も可能です。

RBACとPIMはどちらを使えばいい?

RBACとPIMは、どちらか片方を選ぶものではありません。

RBACでAzureリソースへの権限を定義し、特に強いロールをPIMで必要な時間だけ有効にする、という組み合わせができます。

違いを簡単に整理すると、次のようになります。

Azure RBAC Microsoft Entra PIM
主な役割 Azureリソースへの権限を割り当てる 強い権限を必要時だけ有効化する
代表例 Reader、Contributor、Owner Ownerを1時間だけ有効化
常時利用 可能 Eligibleとして待機させられる
MFA・承認 RBAC単体の主目的ではない 有効化時に要求可能
ライセンス Azureの基本機能として利用 Entra ID P2またはID Governanceなどが必要

PIMを使うと、誰がいつ特権を有効化したのかも追いやすくなります。

管理者権限を常時持つユーザーを減らしたい企業では、特に重要な考え方です。

最小権限で管理することが一番重要

Azureの権限設定では、細かなロール名を暗記することより、最小権限の考え方を身につけることが大切です。

必要な仕事をするために必要な権限だけを与え、必要がなくなったら外します。強い権限が必要な場合も、PIMを使って利用時間を限定することでリスクを下げられます。

また、管理者アカウントにはMFAも設定しておきましょう。権限管理と認証は別の仕組みですが、両方を組み合わせることで安全性を高められます。

【関連記事】Microsoft Entra IDの多要素認証(MFA)とは?設定方法を初心者向けに解説

さらに、場所やデバイス、ユーザーなどの条件に応じてアクセスを制御したい場合はConditional Accessも重要です。

【関連記事】Azureの条件付きアクセスとは?設定方法を解説

AzureのRBACとPIMまとめ

今回は、Azureでユーザーへ権限を付与する方法として、Azure RBACとMicrosoft Entra PIMを解説しました。

RBACでは、誰に、どのロールを、どのスコープで付与するのかを考えます。Ownerを全員へ付けるのではなく、ReaderやContributorなどを使い分け、必要な範囲だけに権限を絞ることが重要です。

PIMは、強い権限を常時持たせず、必要なときだけ有効にするために利用できます。RBACの代わりではなく、RBACで定義した重要な権限をより安全に運用するための仕組みとして理解すると分かりやすいでしょう。

10年以上エンジニアを続けてきて感じるのは、権限管理は最初にきれいに設計した方があとで圧倒的に楽だということです。利用者が少ないうちから、ユーザー・グループ・ロール・スコープを意識して設定しておくことをおすすめします。

InfraAcademyでは、Linuxやネットワーク、AWS、セキュリティなど、インフラエンジニアに必要な基礎を実際に操作しながら学べます。

InfraAcademyでインフラの基礎から学ぶ

参考

Next Action

記事で読んだ内容を、講座で実装してみましょう

InfraAcademyでは、ブラウザ上でLinuxやネットワークの実践環境を使いながら学習できます。無料で始められる講座から、学習の流れを試せます。

この記事を書いた人

ryu

InfraAcademy運営 / エンジニア

エンジニア歴10年。Linux、ネットワーク、クラウドを中心に、実務で役立つインフラ技術を初心者にもわかりやすく解説しています。

X: @ryu63614894

Related

関連記事

ブログ一覧へ

Roadmap

まずはこの4講座から

ログインすれば無料で始められる講座です。気になったテーマから手を動かして学べます。

講座一覧を見る