Azure AD エンタイトルメント管理を試してみる

# AADエンタイトルメント管理とは？
Azure ADのP2ライセンスをお持ちの場合に利用できる機能です。

組織に新たに参加するユーザに対して権限割り当てが必要なリソース(セキュリティグループ・アプリケーション・SharePointOnlineサイト)と、そのリソースにおける権限(メンバーor所有者)を予めパッケージとして作成しておくことで、実際に新規のユーザが参画した場合にそのパッケージへの利用要求と承認フローのみで適切な権限が付与され、業務の開始が可能になる、といった機能です。

このパッケージを作成するには、カタログという上位の存在があります。カタログに対して詳細な権限の設定などを固めたものをパッケージと呼びます。よって、一つのカタログから"メンバー向け"・"管理者向け"といったような複数のパッケージを作成することができます。

# Azureでの設定

## カタログ作成
Azure Portal上からカタログに対してリソースを追加できます。[グループとチーム]、[アプリケーション]、[SPOサイト]が対象になります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/205918/71f5a72e-29b6-fe1b-a1aa-c6a3c8f1277b.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/205918/b0c3ee1b-bae9-e9ac-06b2-0919fc527fe8.png)

## アクセスパッケージ作成
アクセスパッケージの作成時にそれぞれのリソースに対するロールを設定できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/205918/67523ae9-ed7c-7071-e871-de162855d250.png)

承認フローも設定することができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/205918/581debff-ce6b-9635-dac1-90b34e477c4e.png)

アクセスレビューも必要に応じて有効化できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/205918/5910c0fe-8a60-3c75-e41f-f2baf6fcb12d.png)

作成してみると以下のようになります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/205918/1774f40f-a2cd-edd4-89b6-3026a5e7504d.png)

同一のカタログから生成されたパッケージは一覧表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/205918/af3c9423-4527-1430-a8df-4e314e50c96f.png)

## アクセスパッケージへのユーザ要求
アクセスパッケージの概要ブレードの、[マイアクセスポータルのリンク]を利用ユーザに共有します。すると、AzureADの認証画面が現れます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/205918/5b7dfc93-66db-854d-22bd-cfc3101708dd.png)

マイアクセスポータルへ利用ユーザのアカウントでログインしてみるとこちらのような申請画面が現れるため、理由を記載した上で送信します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/205918/198949bc-f1d6-0e64-5ccf-1f9c501e1ca0.png)

要求の履歴のところから申請中のアクセスパッケージが確認できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/205918/16b7682e-03f9-a59e-334c-d8afd251ccb0.png)

承認者のユーザで同じリンクもしくはマイアクセスポータルへログインします。このように使用可能なパッケージ一覧が並んでいます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/205918/41621051-f378-4787-a20d-c2a470827113.png)

承認者には先ほど新規ユーザからの申請が届いているため、内容を確認し承認、もしくは拒否をします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/205918/64c677cb-7034-3151-b82d-c3f1b1261e3b.png)

要求やパッケージの中身などの詳細も確認できます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/205918/4b46c676-b3d7-d714-10a1-aa0237a16b52.png)

理由を入れて承認ボタンをクリックすれば完了です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/205918/3eb2e606-2e1e-0591-d0cf-9eb32e95a6d6.png)

## 承認されたことの確認
新規ユーザ側でマイアクセスポータルへログインしてみると、アクティブなアクセスパッケージに先ほどのものが追加されています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/205918/d7decc18-5432-3bbe-d302-db32df31167a.png)

また、パッケージに含めたAzureADのセキュリティグループにも新規ユーザがMemberロールで追加されています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/205918/f0e911a5-ec58-ecb5-fb28-38ed9e45db02.png)

# おわり
このようにエンタイトルメント管理を利用することで新規ユーザに対する権限付与のライフサイクルを最小限の承認フローのみでセルフサービスに近い形で実装することができます。予め仕事内容及びロールに応じたパッケージさえ作っておくだけでよいので、IDガバナンスの目標の一つである生産性の向上にもつながる機能だと思います。