Microsoft Entra Permissions ManagementでAzureサブスクリプションをオンボードしてみた

2022.07.26

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

はじめに

こんにちは。大阪オフィスの林です。

先日Microsoft Entra Permissions Management(以下、EPMという)で、AWSアカウントをオンボードしました。今回はAzureサブスクリプションをオンボードしていきたいと思います。

やってみた

Azureにログインし、Azure Active Directoryのメニューから「CloudKnox のアクセス許可の管理」を選択します。

EPMにログインします。

「Azure」のタブが選択されている状態で「Create Configuration」を選択します。

今回は特定のサブスクリプションのみオンボードしていきたいと思いますので「Enter Authorization Systems」を選択し「Subscription IDs」を入力します。

サブスクリプションIDはAzureポータルから確認出来ます。「サブスクリプション」と検索します。

対象のサブスクリプションIDを確認します。

確認したサブスクリプションIDを入力し、Azure CLIのスクリプトをダウンロードします。

デフォルトだと「azureScript.sh」というファイル名で保存されるのでAzure Cloud Shell上にコピーしておきます。

管理グループを指定しない場合、デフォルトのスクリプトだとエラーとなるため、管理グループを指定する部分をコメントアウトしておきます。

#!/bin/bash -x

export AZURE_APP_ID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
export AZURE_SUBSCRIPTIONS=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
export AZURE_MANAGEMENT_GROUPS=<AZURE_MANAGEMENT_GROUPS>
#!/bin/bash -x

export AZURE_APP_ID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
export AZURE_SUBSCRIPTIONS=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
#export AZURE_MANAGEMENT_GROUPS=<AZURE_MANAGEMENT_GROUPS>

「azureScript.sh」を実行します。Enable Controllerの有効化(y or n)を聞かれます。Enable Controllerはポリシーの自動修復などで用いられる機能なのでそれらの機能を有効にしたい場合は「y」を入力し、無効にしておきたい場合は「n」を入力します。今回の検証では「n」を入力します。

ahaegag@Azure:~$ sh azureScript.sh 
Enable controller. Enter 'y' or 'n'. More info at https://aka.ms/ciem-enable-controller: n
Adding role assignments to subscriptions xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx with set controller flag to n
Adding Reader role assignment to subscriptions xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx
{
  "canDelegate": null,
  "condition": null,
  "conditionVersion": null,
  "description": null,
  "id": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/providers/Microsoft.Authorization/roleAssignments/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "name": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "principalId": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "principalName": "xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "principalType": "ServicePrincipal",
  "roleDefinitionId": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/providers/Microsoft.Authorization/roleDefinitions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "roleDefinitionName": "Reader",
  "scope": "/subscriptions/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx",
  "type": "Microsoft.Authorization/roleAssignments"
}
Adding role assignments to management groups with set controller flag to n
ahaegag@Azure:~$

EPMに戻り「Next」を選択します。

「Verify Now & Save」を選択します。

少し待ちます。

ステータスが「PROCESSING」となっているので少し待ちます。

ステータスが「ONLINE」となりました。

無事にAzureサブスクリプションのオンボードが出来ました。

まとめ

AWSアカウントのオンボードに続いて、Azureサブスクリプションのオンボードも試すことが出来ました。
AWSアカウントのオンボードの場合はCloudFormationでAWS環境側に幾つかのリソースを作成する必要がありましたが、Azureサブスクリプションのオンボードの場合は比較的シンプルにセットアップが出来た印象です。

以上、大阪オフィスの林がお送りしました!