Azure Resource Manager(ARM)は、ロールベースのアクセスコントロール(role-based access control、RBAC)を使用して、Azure AD および Azure サブスクリプションリソースへのアクセスを承認します。ロールは、特定のジョブロールに関連付けられている名前付き権限のコレクションです。
Microsoft では、Azure AD および Azure リソースの組み込み RBAC ロールを提供していますが、組み込みロールより詳細なアクセス情報を設定したい場合は、カスタム RBAC ロールを定義できます。このブログでは、カスタム Azure AD ロールを作成する方法を説明します。
まず、組み込みの Azure AD ロールがどう設定されているかを見てみましょう。Azure Portal に管理アカウントでログインし、Azure AD テナントをブラウズして、[Roles and administrators] 設定を選択します。そこから、[User Administrator] ロールを選択して、 [Description] をクリックすると、図1のようにロールの設定内容がわかります。
[図1]
[Role permissions] には、[User Administrator] ロールに含まれるすべてのARMリソースプロバイダー操作が表示されます。Azure AD グループについては、図1に示されているように作成、更新、削除できます。
追加したいオペレーションがあれば、カスタム Azure AD ロールを作成して定義する必要があります。
ここでは、例として、ロール所有者が Azure AD に登録されたアプリケーションの所有者を更新できるようにする “App Owner Administrator” というカスタムロールを定義する方法を説明します。
このブログの執筆時点においては、カスタム Azure AD ロールとしてサポートされているのはアプリケーション登録関連の権限のみですが、ロール定義にすべてのAzure AD アクセス許可オペレーションを含めることができるようになる予定です。
カスタム Azure AD ロールを作成できるのは、Global Administrator か Priviledged Role Administrator のロールを持つAzure AD アカウント保持者のみです。
[Roles and administrators] ブレードに戻り、[New custom role] をクリックします。[Basics] ブレード(図2を参照)にカスタムロール名と説明を入力します。最初は、”Start from Scratch” を選択する必要がありますが、いったんカスタムロールを定義したら、それを新しいロールを定義するテンプレートとして使用できます。
[図2]
次は少し難しく面倒な作業になります。[Permissions] ブレードで、[Search by permission name or description] ボックスを使用して、ロールに含める権限関連のオペレーションを検索します。カスタムロールの作成は時間のかかる反復プロセスです。権限リストを正しく設定できるまで、何度もテストする必要があるかもしれません。図3に示すような具合に追加のオペレーションを設定します。
[図3]
[Next] をクリックし、次に [Create] をクリックすれば、”App Owner Administrator” のカスタムロールの定義は完了です。
[Users] ブレードをブラウズし、テストに使える適切な Azure AD ユーザーを選択します。ユーザーのプロファイルで [Assigned roles] を選択し、ユーザーに ”App Owner Administrator” カスタムロールを割り当てます。ここでは、架空のユーザー、Anna Brinkley にロールを割り当てました(図4)。
[図4]
別のブラウザタブを開き(Incognito や InPrivate など、プライベートセッションを呼び出すようにすることを推奨)、テストユーザーとして Azure Portal にログインします。ログインしたら、Azure AD を開き、[Users] タブに移動します。このユーザーには他の Azure ロールが割り当てられておらず、ユーザーアカウントの作成などはできません。この機能(「セキュリティトリミング」と呼ばれます)を図5に示します。
[図5]
テストするためには、クラウドアプリから、[App registrations] ブレードを選択し、[Owners] 設定をクリックします。図6に示すように、カスタム Azure AD ロールで設定された通り、所有者を更新できる権限が与えられています。
[図6]
以上です。Azure AD のカスタムロールのサポートは、かなり前から言われていて、ようやく実現しました。前述のように、今後、より多くの権限がカバーされることになっていますので、動向をチェックしてください。
Tim Warner is a Microsoft MVP, Microsoft Press/Wiley author, and Azure solution architect based in Nashville, TN. Contact Tim at Twitter (@TechTrainerTim) or his website, techtrainertim.com.
より優れた業務アプリケーションやウェブサイトの開発に役立つ、ニュース、情報、チュートリアルをご案内します。