Azure のすべてのサブスクリプションと管理グループを管理する目的でアクセス権限を昇格させる
Microsoft Entra ID のグローバル管理者は、自分のテナント内のすべてのサブスクリプションと管理グループへのアクセス権が与えられていない場合があります。 この記事では、すべてのサブスクリプションと管理グループにアクセスできるよう、権限を昇格させる方法について説明します。
Note
個人データの表示または削除については、具体的な領域とニーズに応じて、「GDPR に関する一般的なデータ主体の要求」、「GDPR に関する Azure データ主体の要求」、「GDPR に関する Windows データ主体の要求」のいずれかを参照してください。 GDPR の詳細については、Microsoft Trust Center の GDPR に関するセクションおよび Service Trust Portal の GDPR に関するセクションをご覧ください。
アクセス権を昇格が必要な理由
全体管理者であれば、次のような操作を行う場合が考えられます。
- ユーザーが Azure のサブスクリプションか管理グループにアクセスできなくなったとき、アクセス権を回復する
- Azure サブスクリプションまたは管理グループへのアクセス権を別のユーザーまたは自分自身に付与する
- 組織内にある Azure のすべてのサブスクリプションと管理グループを表示する
- オートメーション アプリ (請求書作成アプリや監査アプリなど) から Azure のすべてのサブスクリプションと管理グループへのアクセスを許可する
昇格されたアクセスはどのように機能しますか?
Microsoft Entra ID と Azure リソースは互いに依存することなくセキュリティで保護されます。 つまり、Microsoft Entra のロール割り当てによって Azure リソースにアクセス権が付与されることはなく、Azure のロール割り当てによって Microsoft Entra ID にアクセス権が付与されることはありません。 ただし、Microsoft Entra ID のグローバル理者の場合は、自分のテナント内のすべての Azure サブスクリプションと管理グループに対するアクセス権を自分に割り当てることができます。 仮想マシンやストレージ アカウントなど、Azure サブスクリプション リソースへのアクセス権が与えられていない場合、この機能を使用します。このようなリソースに対するアクセス権を得るには、全体管理者の特権を使用することをお勧めします。
アクセス権を昇格させると、ルート スコープ (/
) で Azure でのユーザー アクセス管理者ロールが割り当てられます。 これにより、すべてのリソースを表示し、テナント内のすべてのサブスクリプションまたは管理グループでのアクセス権を割り当てることができます。 ユーザー アクセス管理者ロールの割り当ては Azure PowerShell、Azure CLI、または REST API を使用して削除できます。
昇格したこのアクセス権は、ルート範囲で必要な変更を行ったら削除してください。
ルート スコープで手順を実行する
手順 1: 全体管理者のアクセス権を昇格する
Azure portal を使用して全体管理者のアクセス権を昇格するには、次の手順に従います。
Azure Portal に全体管理者としてサインインします。
Microsoft Entra Privileged Identity Management を使用している場合は、全体管理者ロールの割り当てをアクティブにします。
[Microsoft Entra ID]>[管理]>[プロパティ] に移動します。
[Azure リソースのアクセス管理] の下で [はい] に切り替えます。
[はい] に切り替えると、Azure RBAC のルート範囲 (/) でユーザー アクセス管理者ロールが割り当てられます。 これにより、この Microsoft Entra テナントに関連付けられているすべての Azure サブスクリプションと管理グループでのロールを割り当てるアクセス許可が付与されます。 この切り替えは、Microsoft Entra ID で全体管理者ロールが割り当てられたユーザーのみ利用できます。
[いいえ] に切り替えると、Azure RBAC のユーザー アクセス管理者ロールがユーザー アカウントから削除されます。 この Microsoft Entra テナントに関連付けられているすべての Azure サブスクリプションと管理グループでのロールを割り当てることができなくなります。 自分にアクセス権が割り当てられている Azure サブスクリプションと管理グループのみを表示し、管理できます。
Note
Privileged Identity Management を使用している場合、ロールの割り当てを非アクティブにしても、Azure リソースのアクセス管理トグルは [いいえ] に切り替わりません。 最小限の特権アクセスを維持するために、ロールの割り当てを非アクティブ化する前に、この切り替えを [いいえ] に設定することをお勧めします。
[保存] を選んで設定を保存します。
この設定はグローバル プロパティではなく、現在サインインしているユーザーのみに適用されます。 全体管理者ロールのすべてのメンバーを対象にアクセス権限を昇格させることはできません。
サインアウトし、もう一度サインインするとアクセス権限が更新されます。
これで自分のテナント内のすべてのサブスクリプションと管理グループにアクセスできます。 [アクセス制御 (IAM)] ページを表示すると、ルート スコープでユーザー アクセス管理者ロールが割り当てられていることがわかります。
昇格させたアクセス権で必要な変更を加えます。
ロールの割り当ての詳細については、「Azure portal を使用して Azure ロールを割り当てる」をご覧ください。 Privileged Identity Management を使用している場合、管理する Azure リソースの検出または Azure リソース ロールの割り当てに関するページを参照してください。
次のセクションの手順を実行し、昇格したアクセス権を削除します。
手順 2: 昇格されたアクセス権を削除する
ルート スコープ (/
) でユーザー アクセス管理者ロールの割り当てを削除するには、次の手順を行います。
アクセス権の昇格に使用された同じユーザーでサインインします。
[Microsoft Entra ID]>[管理]>[プロパティ] に移動します。
[Azure リソースのアクセス管理] を [いいえ] に戻します。 これはユーザー別の設定であるため、アクセス権限の昇格に使用したユーザーでサインインする必要があります。
[アクセス制御 (IAM)] ページでユーザー アクセス管理者ロールの割り当てを削除しようとすると、次のメッセージが表示されます。 ロールの割り当てを削除するには、トグルの設定を [いいえ] に戻すか、Azure PowerShell、Azure CLI、または REST API を使用します。
全体管理者としてサインアウトします。
Privileged Identity Management を使用している場合は、全体管理者ロールの割り当てを非アクティブ化します。
Note
Privileged Identity Management を使用している場合、ロールの割り当てを非アクティブにしても、Azure リソースのアクセス管理トグルは [いいえ] に切り替わりません。 最小限の特権アクセスを維持するために、ロールの割り当てを非アクティブ化する前に、この切り替えを [いいえ] に設定することをお勧めします。
昇格されたアクセス権を持つユーザーを表示する
昇格されたアクセス権を持つユーザーがいる場合は、Azure portal のいくつかの場所にバナーが表示されます。 このセクションでは、自分のテナントに昇格されたアクセス権を持つユーザーがいるかどうかを確認する方法について説明します。 この機能は段階的に展開されているため、お使いのテナントでまだ使用できない場合があります。
オプション 1
Azure portal で、[Microsoft Entra ID]>[管理]>[プロパティ] に移動します。
[Azure リソースのアクセス管理] で、次のバナーを探します。
You have X users with elevated access. Microsoft Security recommends deleting access for users who have unnecessary elevated access. Manage elevated access users
[昇格されたアクセスを持つユーザーを管理します] リンクを選ぶと、昇格されたアクセス権を持つユーザーの一覧が表示されます。
オプション 2
Azure portal で、サブスクリプションに移動します。
[アクセス制御 (IAM)] を選択します。
ページの上部で、次のバナーを探します。
Action required: X users have elevated access in your tenant. You should take immediate action and remove all role assignments with elevated access. View role assignments
[ロールの割り当ての表示] リンクを選ぶと、昇格されたアクセス権を持つユーザーの一覧が表示されます。
ユーザーの昇格されたアクセス権を削除する
昇格されたアクセス権を持つユーザーがいる場合は、速やかに対処して、そのアクセス権を削除する必要があります。 これらのロール割り当てを削除するには、自分も昇格されたアクセス権を持っている必要があります。 このセクションでは、Azure portal を使って自分のテナント内のユーザーの昇格されたアクセス権を削除する方法について説明します。 この機能は段階的に展開されているため、お使いのテナントでまだ使用できない場合があります。
Azure Portal に全体管理者としてサインインします。
[Microsoft Entra ID]>[管理]>[プロパティ] に移動します。
[Azure リソースのアクセス管理] で、前の「手順 1: 全体管理者のアクセス権を昇格する」で説明したようにトグルを [はい] に設定します。
[昇格されたアクセスを持つユーザーを管理します] リンクを選びます。
[昇格されたアクセス権を持つユーザー] ペインに、自分のテナント内で昇格されたアクセス権を持つユーザーの一覧が表示されます。
ユーザーの昇格されたアクセス権を削除するには、ユーザーの横のチェック ボックスをオンにして、[削除] を選びます。
ディレクトリ アクティビティ ログの昇格アクセス ログ エントリを表示する
アクセス許可が昇格されると、ログにエントリが 1 つ追加されます。 Microsoft Entra ID のグローバル管理者として、アクセスがいつ昇格され、誰がアクセスしたかを確認できます。 アクセス許可の昇格ログのエントリは、標準のアクティビティ ログではなく、ディレクトリ アクティビティ ログに表示されます。 このセクションでは、アクセス権の昇格ログのエントリを表示するさまざまな方法について説明します。
Azure portal を使用してアクセス権の昇格ログのエントリを表示する
Azure Portal に全体管理者としてサインインします。
[監視]>[アクティビティ ログ] に移動します。
[アクティビティ] リストを [ディレクトリ アクティビティ] に変更します。
アクセス権を昇格させるアクションを示す、次の操作を探します。
Assigns the caller to User Access Administrator role
Azure CLI を使用してアクセス権の昇格ログのエントリを表示する
az login コマンドを使用して、全体管理者としてサインインします。
az rest コマンドを使用して、以下の呼び出しを行います。ここでは、タイムスタンプの例に示すように日付でフィルター処理を行い、ログを格納するファイル名を指定する必要があります。
url
は API を呼び出して、Microsoft.Insights のログを取得します。 出力は指定したファイルに保存されます。az rest --url "https://management.azure.com/providers/Microsoft.Insights/eventtypes/management/values?api-version=2015-04-01&$filter=eventTimestamp ge '2021-09-10T20:00:00Z'" > output.txt
出力ファイルで、
elevateAccess
を検索します。ログは次のようになります。ここでは、アクションが発生したタイミングを示すタイムスタンプと、呼び出したユーザーが表示されています。
"submissionTimestamp": "2021-08-27T15:42:00.1527942Z", "subscriptionId": "", "tenantId": "33333333-3333-3333-3333-333333333333" }, { "authorization": { "action": "Microsoft.Authorization/elevateAccess/action", "scope": "/providers/Microsoft.Authorization" }, "caller": "user@example.com", "category": { "localizedValue": "Administrative", "value": "Administrative" },
アクセスをグループに委任して、Azure CLI を使用してアクセス権の昇格ログのエントリを表示する
アクセス権の昇格ログのエントリを定期的に取得できるようにしたい場合は、アクセス権をグループに委任してから、Azure CLI を使用します。
[Microsoft Entra ID]>[グループ] に移動します。
新しいセキュリティ グループを作成し、グループ オブジェクト ID をメモします。
az login コマンドを使用して、全体管理者としてサインインします。
az role assignment create コマンドを使って、
Microsoft/Insights
にあるテナント レベルのログを読むことだけできるグループに閲覧者ロールを割り当てます。az role assignment create --assignee "{groupId}" --role "Reader" --scope "/providers/Microsoft.Insights"
事前に作成したグループに、ログの閲覧を行うユーザーを追加します。
これで、グループ内のユーザーが定期的に az rest コマンドを実行して、アクセス権の昇格ログのエントリを表示できるようになりました。
az rest --url "https://management.azure.com/providers/Microsoft.Insights/eventtypes/management/values?api-version=2015-04-01&$filter=eventTimestamp ge '2021-09-10T20:00:00Z'" > output.txt