RBACによるAzureリソースへのアクセス制限

こんにちは、上坂(@takashiuesaka)です。

AzureはASM(Azure Service Management)というXMLベースの管理からARM(Azure Resource Management)というJSONベースの管理に移行しつつあります。
Azure PowerShellを使っている方はよくご存じだと思いますが、Switch-AzureModeを使ってASMとARMを使うと次のような警告がでますよね。

PowerShell警告画面

このSwitch-AzureModeコマンドが削除される、というアナウンスも出たわけですが、今日はその話ではなく、Role(役割)を利用したアクセス制限の話です。


役割ロールを利用したアクセス制限のことをRBAC(Role-Based Access Control)と呼びます。あーるばっくと読む人が多いようです。これを使うと、次のようになります。

今まで・・・サブスクリプションを使う人は全員管理者
これから・・・管理者以外は特定のリソースに対して特定のロールを割り当てる

例えば、開発会社のエンジニア対してはVMやStorageへのアクセス許可だけを与えたりすることで、他のリソースは見えないようにできるわけです。管理権限を持っていないので、勝手に新規にリソースを作ることもできません。
やり方は簡単です。

1.プレビューポータルにログインします。(現行の管理ポータルではできません)
2.制限をかけたいリソースにアクセスします。
3.アクセスアイコンをクリックします。

アクセスアイコンの場所

4.役割をクリックします。

役割アイコンの場所

5.一覧の中から割り当てたい役割をクリックします。

一覧から役割を選択した図

6.追加をクリックします。

ユーザーを追加するアイコンの場所

事前に用意されている役割はリソースの種類によって異なります。また、独自の役割を追加することは今はできないようです。今後に期待ですね。とても簡単にリソース単位でのアクセス制御ができますのでぜひお試しください。プレビューポータルにもそろそろ少しずつ慣れていく必要がありそうです。

言うまでもないことだとは思いますが、現行管理ポータルの方で該当ユーザーを共同管理者として設定をしていたら上記のRBACはまったく無意味となります。RBACによる制御を行う場合は共同管理者としての設定はしないでください。

注意が2点ほどあります。
1つ目は、追加できるユーザーはそのサブスクリプションのAzureADのディレクトリに登録されている必要があります。もしまったくの新規ユーザーの場合は先にAzureADのディレクトリに登録が必要です。上記6の手順のあとでユーザーを招待する機能もあるのですが試したところうまく動きませんでしたので、素直にディレクトリにユーザーを追加することをお勧めします。

2つ目はリソースのプロパティを更新すると折角追加したユーザーが削除されてしまうことがある、ということです。
PowerShellでリソースグループを変更したら発生した事象なのですが、他のプロパティ操作でも発生するのか、もしくはリソースが更新されたら役割に紐づくユーザーが削除されるのかはわかっていません。ご注意ください。


ネクストスケープ企業サイトへ

NEXTSCAPE

検索する

タグ

メタデータ

投稿のRSS