Classic Administrator 廃止後に Azure RBAC ロールが None になる原因と復旧手順(アクセス昇格で Owner 付与)

Classic Administrator の廃止後に、Azure ポータルで自分の RBAC ロールが「None」のままになり、ロールを追加できないことがあります。実はこれは“詰み”ではなく、Microsoft Entra ID のグローバル管理者が一時的にアクセスを昇格し、サブスクリプションに Owner を付与することで復旧できます。

目次

現象:RBAC ロールが「None」になり、権限を付与できない

Classic Administrator(旧来の共同管理者/サービス管理者など)に依存した運用をしていた環境で、廃止・移行期限を過ぎると、次のような状態に遭遇することがあります。

  • Azure ポータルの「アクセス制御 (IAM)」で、ロール割り当てを追加しようとしても操作が進まない
  • 「自分のアクセス」や権限表示が常に「None(なし)」になっている
  • サブスクリプション配下のリソースが見えていても、割り当て操作だけができない/そもそもサブスクリプション自体が一覧に出ない
よくある見え方起きている可能性が高いこと影響
自分のロールが None と表示されるサブスクリプションに対する RBAC のロール割り当てが存在しない、または確認できないロール追加・変更ができず、権限復旧が進まない
「ロールの割り当ての追加」がグレーアウトロール割り当てを実行できる権限(Owner / User Access Administrator)がない運用担当者が“自力で”復旧できない
サブスクリプションが一覧に出ないテナント/ディレクトリが違う、またはサブスクリプションに対する閲覧権限すらない対象スコープに到達できず、対処が迷子になりやすい

なぜ起きるのか:Classic Administrator と Azure RBAC は別物

まず押さえるべきポイントは、Classic Administrator と Azure RBAC は「同じ権限体系の名前違い」ではなく、仕組み自体が別という点です。Classic Administrator は“古い管理モデル”に紐づいており、Azure Resource Manager(ARM)を前提にした RBAC とは管理面が分離しています。

そのため、Classic Administrator 側の権限が失効・廃止されたタイミングで、RBAC 側に Owner/Contributor などが割り当てられていないと、サブスクリプションの権限管理ができなくなります。さらに重要なのは、Microsoft Entra ID の「グローバル管理者」であっても、通常は Azure サブスクリプションの RBAC 権限を自動的に持たないという点です。

旧来(Classic)現在(RBAC)運用上の違い
共同管理者/サービス管理者などOwner / Contributor / Reader など(ロール)RBAC はスコープ(管理グループ/サブスクリプション/リソースグループ/リソース)単位で付与
Azure AD とは別の管理モデルが残っていたARM を前提に Entra ID のユーザー/グループ/サービスプリンシパルへ付与グループに付与してチーム運用しやすい(属人化を減らせる)
“昔からいる管理者”が強かった最小権限・PIM などを組み合わせやすい強権限は必要なときだけ昇格、が前提の設計に寄せられる

解決の大枠:グローバル管理者が「アクセス昇格」して Owner を付与する

この「None」状態からの復旧は、条件さえ満たせば Azure ポータルだけで完結できます。結論は次の流れです。

  1. 前提として、対象アカウントが Microsoft Entra ID のグローバル管理者(Global Administrator)であることを確認する
  2. 「グローバル管理者のアクセス権を一時的に昇格(elevate access)」し、ルートスコープで RBAC を操作できる状態にする
  3. 対象サブスクリプションに対して、自分のアカウントにOwnerロールを割り当てる
  4. 必要な管理者(旧 Classic Administrator 相当)へ、Owner / Contributor など適切な RBAC ロールを割り当て直す
  5. 作業後はアクセス昇格をオフに戻し、強権限を常態化させない

ここから先は、実際の手順を「つまずきやすいポイント」込みで具体的に整理します。

作業前のチェック:ここを外すと復旧できない

自分が Microsoft Entra ID の「グローバル管理者」か確認する

もっとも多い落とし穴が「自分はテナント管理者だと思っていたが、実はグローバル管理者ではなかった」というケースです。復旧作業は高い権限を扱うため、まずは役割の確認から始めます。

  • Microsoft Entra 管理センターで、対象ユーザーに Global Administrator が割り当てられているか確認する
  • PIM(Privileged Identity Management)を使っている環境では、“割り当て済み(Eligible)”ではなく“有効化(Active)”になっているか確認する
  • MFA(多要素認証)や条件付きアクセスで、グローバル管理者の操作がブロックされないか確認する

正しい「ディレクトリ(テナント)」に入っているか確認する

Azure ポータルは、ログインしているアカウントが複数テナントに所属していると、別テナントの画面を見ているだけで「サブスクリプションがない」「ロールが None」に見えることがあります。必ず対象のテナントへ切り替えてから作業してください。

チェック項目確認の目安間違えるとどうなるか
ディレクトリ切り替え「ディレクトリ + サブスクリプション」で対象テナントを選択そもそもサブスクリプションが表示されない
サブスクリプション フィルター必要なサブスクリプションにチェックが入っている“一覧にない”と誤認しやすい
ブラウザ キャッシュシークレット/プライベート ウィンドウで再ログイン権限反映が遅れて見える、ボタンが出ない

手順:グローバル管理者のアクセス権を一時的に昇格(elevate access)する

ここが復旧の核です。グローバル管理者は、テナント設定を使ってAzure リソース管理に対するアクセスを一時的に昇格できます。これにより、ルートスコープで RBAC の割り当てができる状態になり、Owner 不在のサブスクリプションでも自分へ Owner を付与できるようになります。

Azure ポータルでの操作手順

  1. Azure ポータルで Microsoft Entra ID を開く
  2. 左メニューから プロパティ(Properties)を開く
  3. 「Azure リソースのアクセス管理」相当の設定(Access management for Azure resources)を探す
  4. アクセスを昇格する(または同等のボタン/トグル)を有効化する
  5. 反映のため、サインアウト → サインインを行う

昇格後に“何が変わる”のか

アクセス昇格は「自動的に Owner になる」機能ではありません。イメージとしては、ルートスコープでロール割り当てを操作できる力(User Access Administrator 相当)を一時的に得る機能です。そのため、次のステップでサブスクリプションに対して Owner を付与する作業が必須になります。

手順:サブスクリプションに自分自身へ Owner ロールを付与する

アクセス昇格を反映したら、対象サブスクリプションへ Owner を割り当てます。ここで初めて「None」状態から抜け出し、以降の RBAC 運用が正常に回せるようになります。

Azure ポータルでの具体的な手順(画面操作)

  1. Azure ポータルで サブスクリプション を開き、対象サブスクリプションを選択する
  2. 左メニューから アクセス制御 (IAM) を選択する
  3. 上部メニューの 追加 → ロールの割り当ての追加 をクリックする
  4. 「特権管理者ロール(Privileged administrator roles)」タブがある場合はそれを開き、所有者(Owner) を選んで 次へ
  5. 「メンバーの選択」で 自分のアカウント を検索して選択し、選択
  6. 「条件」タブが表示される場合は、ユーザーにすべてのロール(高い特権を持つロールを含む)を割り当てることを許可 を選択する
  7. 確認および割り当て(Review + assign)で確定する
  8. 反映のため、再度 サインアウト → サインイン を行う

ポイントは、必ずサブスクリプション スコープで Owner を付与することです。リソースグループ単位で付与してしまうと、サブスクリプション全体の RBAC 管理やコスト管理などに必要な権限が不足し、結局あとで詰まります。

(任意)Azure CLI で確認・付与する場合

ポータルが重い・UI が変わって迷う場合は、CLI で“事実”を確認するとトラブルシュートが速くなります。以下は代表例です。

az login
az account list --output table
az account set --subscription <SUBSCRIPTION_ID>

# 自分のオブジェクトIDを確認(サインインユーザー)

az ad signed-in-user show --query id -o tsv

# 既存のロール割り当て確認(自分が見える範囲)

az role assignment list --assignee  --all -o table

Owner 付与(作業用の例)は次のような形になります。実行には、アクセス昇格が反映された状態であることが前提です。

az role assignment create \
  --assignee <OBJECT_ID> \
  --role "Owner" \
  --scope /subscriptions/<SUBSCRIPTION_ID>

「None」が解消したか確認する方法

Owner 付与後、次の観点で“復旧できたか”を確認します。ここで曖昧なまま先へ進むと、また権限で詰まりがちです。

  • 対象サブスクリプションの「アクセス制御 (IAM)」で、自分のロールが Owner として表示される
  • 「ロール割り当て」一覧で、自分のアカウントのエントリが存在する
  • リソースグループの作成、ロール割り当ての追加/削除など、管理操作が行える
  • CLI で az role assignment list を実行し、Owner が確認できる

次にやること:旧 Classic Administrator 相当のアクセスを RBAC で再構成する

自分が Owner になって復旧できたら、次は組織として困らない形に整えます。Classic Administrator に近い権限を“人”に直接付与すると属人化しやすいので、基本は Entra ID グループに付与するのがおすすめです。

やりたいこと推奨ロール付与先のおすすめ
サブスクリプション全体を管理(ロール付与も含む)Owner運用チーム用グループ(常用は最小人数)
リソース作成・運用はできるが権限管理は不要Contributor担当者グループ(プロジェクト単位)
閲覧のみReader監査/参照用グループ
ロール割り当てだけ行いたい(運用設計次第)User Access Administrator権限管理担当グループ(用途を限定)

よくあるつまずきと対処法

「アクセスを昇格する」ボタンが見当たらない

  • グローバル管理者ではない(または PIM で有効化できていない)可能性があります。まず Entra 側のロールを再確認してください。
  • 正しいテナントにいない可能性があります。「ディレクトリ + サブスクリプション」の切り替えを確認してください。
  • 組織のポリシーで設定変更が制限されている場合は、別のグローバル管理者(ブレイクグラス)で実施する必要があります。

昇格したはずなのに、IAM の追加がまだできない

  • 反映前のトークンのまま操作しているケースが多いです。必ず サインアウト → サインイン を実施してください。
  • ブラウザのキャッシュ/セッションが悪さをすることがあります。シークレット ウィンドウで再ログインすると切り分けが楽です。
  • サブスクリプションが管理グループ配下で厳格に管理されている場合、上位スコープのポリシーや deny 割り当ての影響を受けることがあります。

サブスクリプションが一覧に出ない(ID が分からない)

閲覧権限すらない場合、一覧に出ないことがあります。その場合は、組織内の請求管理者や既存の管理者、パートナー(CSP)にサブスクリプション ID を確認してもらうのが近道です。ID が分かるなら、直接 URL で開けるケースもあります。

https://portal.azure.com/#blade/Microsoft_Azure_Billing/SubscriptionsBlade/subscriptionId/<SUBSCRIPTION_ID>

「条件」タブが表示されない/表示が違う

ポータルの UI は更新頻度が高く、テナント設定や機能の展開状況で表示が異なります。「条件」タブが出ない場合でも、Owner を選びメンバーを指定して割り当てできれば問題ありません。逆に条件が必須として出る場合は、指示通りに許可設定を選んで進めてください。

作業後のセキュリティ:アクセス昇格は必ず戻す

アクセス昇格は非常に強力です。復旧が終わったら、必ずオフに戻す運用にしてください。オンのままにすると「グローバル管理者=Azure の権限管理も常時可能」という状態になり、侵害時の被害範囲が一気に広がります。

戻し方(基本手順)

  1. Azure ポータルで Microsoft Entra ID を開く
  2. プロパティ(Properties)から、アクセス昇格を無効化する
  3. 反映のため サインアウト → サインイン を行う

安全に運用するための実践的なポイント

  • Owner は最小人数に絞り、日常運用は Contributor/Reader を基本にする
  • 可能なら Entra PIM で Owner を常時付与せず、必要時にだけ昇格する
  • Owner の直付けではなく、グループ付与+アクセスレビューで棚卸しする
  • “最後の管理者が消える”事故を防ぐため、少なくとも 2 名(または 2 アカウント)の Owner を確保する

再発防止:Classic Administrator 依存を断ち、RBAC を“運用”に落とす

今回のトラブルは、権限が「個人の記憶」と「昔の慣習」に紐づいていたときに起こりがちです。復旧できたタイミングで、次のような運用ルールに寄せると再発しにくくなります。

  • サブスクリプション Owner は“人”ではなく“管理者グループ”へ付与し、メンバーは最小限にする
  • プロジェクト単位の権限はリソースグループ スコープで設計し、不要な権限の横展開を避ける
  • 権限設計の基準(どの作業にどのロールが必要か)をドキュメント化し、引き継ぎ可能にする
  • ロール割り当ての棚卸し(四半期/半期)をルーチンにする

まとめ:RBAC が None でも復旧できる条件と最短ルート

Classic Administrator 廃止後に RBAC ロールが None になっても、グローバル管理者であればアクセス昇格 → Owner 付与で復旧できるケースが多いです。復旧の成否を分けるのは「正しいテナントにいること」「昇格後にサインインし直すこと」「サブスクリプション スコープで Owner を付与すること」です。復旧後はアクセス昇格を戻し、RBAC をグループ中心で設計し直すことで、同様の権限事故を防げます。

この記事を書いた人

実務の現場で詰まりがちなポイントを地図にするITブログ「IT trip」を運営。Windows/Office(Teams・Excel)からSQL、サーバ運用、ガジェットまで、再現性のある手順と“なぜそうなるか”を丁寧に解説します。読んだらすぐ試せること、そして迷った人の次の一歩が見えることを大切にしています。

コメント

コメントする

目次