みなさん、こんにちは。クラウドアーキテクトの椎熊です。
Azure リソースの権限 (RBAC) は、どのように管理されていますでしょうか。
RBAC には無数の権限があり、特定の作業にマッチするカスタムロールを作ろうとすると調査にかなり時間を要します。
特に構築やトラブルシューティングなど急いでいるときは、とりあえず共同作成者権限を付与するということはよくあるかと思います。
しかし、付与したことを忘れてそのままになっているということはないでしょうか?
そんなときは、Azure AD の Privileged Identity Management (以下、PIM) という機能使ってみてはいかがでしょうか。
PIM を使ったみたので、本ブログで紹介したいと思います。
「Privileged Identity Management」を直訳すると、「特権 ID 管理」となる通り、Azure における特権 ID (特権ロール) の管理をしてくれる機能となります。
主な特徴としては、特権ロールが必要ないときは、利用者に必要最低限のロールを付与しておき、特権ロールが必要になったとき、利用者側の要求に従って、特定の時間だけ特権ロールを付与することができます。
管理者は能動的に利用者に権限付与をするのではなく、利用者からの要求に従って、必要な時間だけ必要な特権ロールを付与することができるようになります。
利用者は特権ロールが使えるので、トラブルシュートなどの作業で権限不足による作業の中断をなくすことができます。
利用には、Azure AD Premium P2 ライセンスが必要となりますのでご注意ください。
(本ブログでは、試用版のライセンスを使って検証をしております。)
最新情報は以下のリンクを参照ください。
[Azure AD Privileged Identity Management とは]
利用イメージは以下のとおりです。
① 管理者は、あらかじめ作業に必要となりそうな権限を利用者に設定しておきます。
ただし、利用者は付与された特権ロールを利用できません。
② 特権ロールが必要な作業が発生したとき、利用者は特権ロール使用の承認要求をします。
③ 要求は管理者へメールなどで届き、管理者は権限の内容を確認し、承認します。
④ 利用者は要求した特権ロールを使用することができるようになります。 特権ロールの終了日時になると権限が使えなくなり、① の状態に戻ります。
利用イメージを掴んだところで、実際に使ってみようと思います。
手順は以下の順で実施していきます。
管理者と利用者と 2 つの Azure AD アカウントが必要となりますので、あらかじめ作成しておきます。
また、管理者ユーザーには、Azure AD のグローバル管理者及びサブスクリプションの所有者権限が必要となりますので付与しておきます。
左右にスクロールしてご覧ください。
順番 | 手順 | 使用ユーザー |
---|---|---|
1 | PIM をデプロイする | 管理者 |
2 | Azure リソースを検出する | 管理者 |
3 | 共同作成者ロールの設定を変更する | 管理者 |
4 | 利用者へ共同作成者ロールを付与する | 管理者 |
5 | 承認を要求する | 利用者 |
6 | 承認する | 管理者 |
7 | 権限を確認する | 利用者 |
まずは、管理者ユーザーにて、PIM をデプロイします。
[すべてのサービス] – [Azure AD Privileged Identity Management] を選択します。
[PIM を承認する] – [ID を確認] を選択します。
PIM をアクティブするアカウントでは、多要素認証を求められるため、もし多要素認証を構成していない場合は、多要素認証を設定してください。
(多要素認証のセットアップ画面は省略します。)
多要素認証の設定が完了しましたら、再度 [すべてのサービス] – [Azure AD Privileged Identity Management] を選択します。
[PIM を承認する] – [承認] を選択します。
[はい] を選択します。
成功すると以下のような画面が出ます。
再度 PIM のページを開き直します。
[Azure リソース] – [リソースを検出する] を選択します。
対象のサブスクリプションを選択し、[リソースの管理] を選択します。
[はい] を選択します。
既定の設定では、他者の承認なくロールをアクティブにすることができるため、ロールの設定を変更する必要があります。
[設定] – [共同作成者] を選択します。
[編集] を選択します。
下記のとおり、変更します。
[アクティブにするには承認が必要です] にチェックを入れます。
[承認者の選択] で承認者を指定します。
[更新] を選択します。
[ロール] – [共同作成者] を選択します。
[設定] を選択します。
対象のユーザーを指定して、[選択] を選択します。
今回は、権限行使にあたり承認を必要とさせるため、[割り当ての種類] を [対象] にします。
(アクティブにすると、永続的に権限が付与された状態となります。)
[保存] を選択します。
[追加] を選択します。
ここからは利用者ユーザーにて操作を行います。
ロールを割り当てていないため、サブスクリプションが見えない状態です。
[すべてのサービス] – [Azure AD Privileged Identity Management] を選択し、[自分のロール] – [Azure リソース] と選択します。
[資格のあるロール] に表示されているロールが、自分に割り当てられているロールとなります。
下記の場合、共同作成者のロールが割り当てられています。
[アクティブ化] を選択します。
スコープは既定では、サブスクリプションが選択されています。
他にもリソースグループやリソースを直接指定 することができますので、
適切なスコープを設定してください。
今回は、サブスクリプションに設定します。
下記画面が実際の承認依頼画面です。
開始時刻は既定ですと、現在の時刻になりますので、作業開始時間などを指定することが可能です。
期限は継続時間という項目になり、現在の設定では 8 時間まで指定することができます。ロールの設定を変えることによって、最大 24 時間まで設定することが可能です。
スコープを選択したら、[理由] を入力し、[アクティブ化] を選択します。
理由を書いておくことにより、証跡として残すことができます。
管理者ユーザーで承認をします。
下記のようなメールが来ます。
[Approve or deny request] を選択するか、Azure Portal より承認画面を開きます。
[すべてのサービス] – [Azure AD Privileged Identity Management] を選択し、[申請の承認] – [Azure リソース] と選択します。
[testuser001] から [Contributor] (共同作成者) の割り当て要求が来ていることが確認できます。
[testuser001] を選択します。
内容を確認し、[理由] を入力したら、[承認] を選択します。
ちなみに、アクティビティログには以下のように PIM によって割り当て / 割り当て解除されたというログが残ります。
利用者ユーザーにて権限を確認します。
サブスクリプションを見てみると、共同作成者が割り当てられました!
導入は数クリックで済み、とても簡単でした。
また、利用・管理においても、各操作は Azure Portal 上で完結しますので、シンプルで使いやすいですね。
ぜひ PIM を使った Azure の権限管理を試してみてください。