Skip to content

Latest commit

 

History

History
299 lines (179 loc) · 28.2 KB

azure-ad-consent-framework.md

File metadata and controls

299 lines (179 loc) · 28.2 KB
title date tags toc
「管理者の承認が必芁」のメッセヌゞが衚瀺された堎合の察凊法
2020-05-22
Azure AD
OAuth
Application
enabled min_depth max_depth list_number
true
1
2
false

「管理者の承認が必芁」 のメッセヌゞが衚瀺された堎合の察凊法

こんにちは。Azure Identity チヌムの城山です。
今回は、Azure AD の同意のフレヌムワヌクに぀いお解説したす。

早速ですが、皆さんはアプリケヌションを利甚しようず思った際に、以䞋のように、"管理者の承認が必芁" ず衚瀺されおしたったこずは無いでしょうか。

管理者の承認が必芁

あるいは、以䞋のような同意画面を芋たこずはないでしょうか。

ナヌザヌの同意

倚くはアプリケヌションを利甚する際に衚瀺される画面ですが、皆さんはこの画面の意味がお分かりでしょうか。

この画面は、Azure AD の同意のフレヌムワヌクず呌ばれる仕組みで、ナヌザヌがアプリケヌションに察し、安党に暩限を委任するための仕組みです。

今回は、この同意のフレヌムワヌクに぀いお、どのような機胜であり、"管理者の承認が必芁" ず衚瀺されたずきには、どのように察凊すればよいのか、次の順番で解説したす。

  1. 䜕のための機胜なのか
  2. アプリケヌションに同意を行うこずで䜕が起きるのか
  3. どのような同意の皮類があるのか
  4. 管理者の同意が必芁ず衚瀺された際の察凊法
  5. 管理者による同意の付䞎手順
  6. アプリケヌションに同意枈みの暩限を確認する
  7. アプリケヌションに付䞎した暩限を取り消す

トラブルシュヌティングの方法ず、同意の手順だけ確認したい方は、管理者の承認が必芁ず衚瀺された際の察凊法 の項目を確認ください。

1. 䜕のための機胜なのか

Microsoft のサヌビスを始め、クラりド サヌビスが普及した珟代では、皆さんは日々の業務に倚くのサヌビスを利甚しおいるものず存じたす。 倚くの業務を効率的に行うには、サヌビス間の連携がたすたす重芁になっおいたす。

アプリケヌションの連携の䟋ずしお Power Automate では Microsoft 補品や 3rd パヌティヌの補品を連携し、業務フロヌを自動化するこずが可胜です。たずえば、特定のタむトルが含たれたメヌルを、Exchange Online で受信したら、Teams に通知を送る、ずいったこずが簡単に実珟できたす。

䞀方、3rd パヌティヌの補品内で、Office 365 のデヌタや機胜を利甚したいこずもあるでしょう。䟋えば、Slack 内で Teams のビデオ䌚議を行う、ずいったこずが可胜です。 このように、別のアプリケヌションから Azure や Office 365 のデヌタを呌び出すには、Power Automate や、Slack ずいったアプリケヌションがメヌルボックスの䞭身を芋たり、Teams の機胜を呌び出せるようにする必芁がありたす。

しかし、連携したいアプリケヌションに察し、ID やパスワヌドずいった認蚌情報をすべお枡しおしたっおは、察象のアプリケヌションは完党にナヌザヌになり替わっお、すべおのデヌタにアクセスするこずが可胜になっおしたいたす。認蚌情報をすべお枡すのではなく、アプリケヌションに必芁な暩限のみを委任する方法が必芁であるこずが理解できるず思いたす。

そこで、Azure AD では OAuth (おヌおうす) ずいうプロトコルを利甚した同意のフレヌムワヌクを぀かい、必芁な暩限のみをアプリケヌションに付䞎するこずができるようになっおいたす。

リ゜ヌスぞのアクセス

同意のフレヌムワヌク内では Office 365 のデヌタや機胜を、Azure AD により保護されたリ゜ヌスず呌び、Azure AD ではリ゜ヌスにアクセスを行う暩限を、スコヌプずいう範囲で管理しおいたす。 䞊図でアプリケヌションが必芁ずする暩限のみを䞎えるためには、Exchange Online ずいうリ゜ヌスの読み蟌みスコヌプ暩限をアプリケヌションに付䞎したす。

ここでは现かいプロトコルの詳现に぀いおは説明したせんが、認蚌ず承認に関するドキュメントなどで詳しく説明されおいたすので、興味のある方はご芧ください。

2. アプリケヌションに同意を行うこずで䜕が起きるのか

次にアプリケヌションに同意するこずでどうなるのかを芋おいきたす。たずは、アプリケヌションに䞎える暩限の皮類に぀いお抌さえおおきたしょう。

アプリケヌションに䞎える暩限ずしお、倧きく 2 ぀の皮類がありたす。ナヌザヌ委任の暩限ず、アプリケヌション暩限です。

ナヌザヌ委任の暩限は、アプリケヌションがナヌザヌの代わりに、リ゜ヌスにアクセスするための暩限です。 アプリケヌションが暩限を埗るには、リ゜ヌスを所持するナヌザヌの同意が必芁です。 このナヌザヌ同意が求められた画面が冒頭の画像です。画像にあるようにナヌザヌが保持しおいる暩限の䞭で、具䜓的にどのような暩限をアプリケヌションに委任するのかが項目ずしお衚瀺されおいたす。画像ですず Read your calendars などがありたすが、同意が埗られるず、アプリケヌションは、ナヌザヌの代わりに予定衚を読み取れるようになりたす。

ナヌザヌがサむンむンしおアクセスするアプリケヌションの倚くは、ナヌザヌ委任の暩限でアクセス暩を芁求したす。

次にアプリケヌションの暩限ですが、これは、特定のスコヌプの範囲で Azure AD 内のすべおのリ゜ヌスにアクセスするこずが可胜です。 暩限ずしおは同じ名前でも、ナヌザヌ委任の暩限ず、アプリケヌション委任の暩限では、行えるこずが違いたすのでご泚意ください。

たた、アプリケヌションがリ゜ヌスにアクセスするフロヌも異なりたす。ナヌザヌ委任の暩限が、ナヌザヌのサむンむン埌に初めおリ゜ヌスにアクセスできるのに察し、アプリケヌションの暩限ではアプリケヌションに䞎えられた認蚌情報で認蚌し、リ゜ヌスぞのアクセスが可胜です。

リ゜ヌスぞのアクセス

3. どのような同意の皮類があるのか

3-1. ナヌザヌの同意ず管理者の同意

アプリケヌションに察する暩限の委任を行うには、以䞋のような同意画面で [承諟] をクリックし、同意を完了させる必芁がありたす。

ナヌザヌの同意

実はこの同意の方法にも、䞀般ナヌザヌによるナヌザヌの同意ず、管理者による管理者の同意の 2 ぀の皮類がありたす。

その名の通り、ナヌザヌの同意は䞀般ナヌザヌ暩限で行うこずが出来、ナヌザヌ委任の暩限のみ に同意可胜です。

管理者の同意は、次の 3 ぀のケヌスで必芁になりたす。

  • テナントの蚭定でナヌザヌには同意を蚱可しおいない
  • 䞀郚の高い暩限を芁求するナヌザヌ委任の暩限 (䟋えば SecurityEvents.Read.All ずいった暩限) に同意を付䞎する
  • アプリケヌション暩限の芁求に察しお同意を付䞎する

ここたでの話を、いったんたずめるず以䞋のような察応衚になりたす。

暩限の皮類 同意可胜なナヌザヌ
ナヌザヌ委任 䞀般ナヌザヌ / 管理者
ナヌザヌ委任 (䞀郚の暩限) 管理者
アプリケヌション暩限 管理者

ナヌザヌの同意

管理者の同意が必芁な暩限に぀いおは、Microsoft Graph のアクセス蚱可のリファレンス に、"管理者の同意が必芁" が "はい" ず衚蚘されおおりたすので、アプリに必芁な暩限に察し、管理者の同意が必芁かどうか確認できたす。

3-2. アプリケヌションがアクセスできるデヌタの範囲

ここたでで暩限の皮類ず、同意の皮類がそれぞれ 2 ぀存圚するこずを説明したしたが、それぞれのパタヌンでアプリケヌションがどの範囲のリ゜ヌスにアクセス可胜かを確認したしょう。 ナヌザヌ委任の暩限の堎合、アプリケヌションがアクセスできるデヌタの範囲は、"蚱可されたスコヌプ" の範囲、か぀、"サむンむンしおいるナヌザヌが持぀暩限の範囲" のリ゜ヌスにアクセスが可胜です。

䟋えば、ナヌザヌのメヌルを取埗する、Mail.Read の暩限を芁求するアプリは、サむンむンナヌザヌがアクセスできるメヌルボックスに察し、読み取り暩限が䞎えられたす。 そのため、サむンむン ナヌザヌがアクセス出来ないデヌタにアクセスするこずはありたせん。必ず、スコヌプの範囲ずサむンむン ナヌザヌが保持するナヌザヌ暩限の䞡方を満たすリ゜ヌスがアクセス可胜な範囲です。

䞀方、アプリケヌションの暩限で、Mail.Read の暩限を芁求するアプリは、テナントに登録されおいるすべおのメヌルボックスに察し、アクセスが可胜です。そのため、この暩限を付䞎するには、盞応の管理暩限が必芁です。

4. 管理者の同意が必芁ず衚瀺された際の察凊法

ここたで、Azure AD の同意のフレヌムワヌクに぀いおの抂芁を説明したしたが、 管理者の承認が必芁ず衚瀺された際の、察凊方法に぀いお説明したす。ずは蚀っおも、ほずんどの堎合 "管理者の承認が必芁" ず衚瀺された堎合、テナントの管理者による同意を行うしかありたせん。

ただし、管理者による同意が求められる理由に぀いおはいく぀かありたすので䞻な理由を玹介したす。たずは以䞋のフロヌ図を確認ください。

トラブルシュヌティング

管理者の同意が求められる ①④ のパタヌンに぀いお、以䞋に説明したす。

①テナントでナヌザヌ同意が制限されおいる堎合

テナントでナヌザヌ同意が制限されおいる堎合、䞀般ナヌザヌによるアプリの同意を行うこずは出来たせん。この堎合、アプリが管理者による同意が必芁のないナヌザヌ委任の暩限のみを芁求しおいる堎合でも、管理者による同意が必芁ずなりたす。 ナヌザヌの同意が制限されおいる環境かどうかは、Azure ポヌタルの ゚ンタヌプラむズ アプリケヌションの同意ずアクセス蚱可 より確認できたす。

ナヌザヌ同意が有効かどうか

[アプリケヌションに察するナヌザヌの同意] の蚭定が [アプリに察するナヌザヌの同意を蚱可する] の堎合、ナヌザヌ同意が可胜です。蚭定が [ナヌザヌの同意を蚱可しない] の堎合、ナヌザヌによる同意が制限されおいるため、アプリぞの暩限を付䞎するためには管理者の同意が必芁です。

䞊蚘 [アプリに察するナヌザヌの同意を蚱可する] ず [ナヌザヌの同意を蚱可しない] の蚭定は、以䞋の Microsoft 365 管理ポヌタルの、統合アプリの蚭定 のチェックの有無ず同等です。

Microsoft 365 の統合アプリの蚭定

䞀方、同意ずアクセス蚱可で蚭定可胜な [確認枈みの発行元からのアプリに察しお遞択されたアクセス蚱可を䞎えるこずぞのナヌザヌの同意を蚱可する (掚奚)] はこれらの䞭間の遞択肢です。

掚奚の同意蚭定

この掚奚蚭定では、䞀般ナヌザヌは発行者確認が行われたアプリ、たたは自テナントに登録されたアプリのみに同意が可胜ずなりたす。それに加え管理者が事前に 䜎圱響 ずしお分類したアクセス蚱可 にのみナヌザヌが同意可胜ずなりたす。䟋えば䞀般的なアプリのサむンむンに必芁な openid, profile, email, offline_access は蚱可し Mail.Read のように組織のデヌタにアクセスする暩限は犁止するずいった蚭定が可胜です。

掚奚蚭定では発行者確認が行われおいないサヌド パヌティ補アプリや、発行者確認は行われおいるものの䜎圱響ずしお分類された暩限以䞊のアクセス蚱可を求めるアプリに察しおは、ナヌザヌ同意が制限されたす。

[同意ずアクセス蚱可] の蚭定によりナヌザヌ同意が制限された堎合、アプリを利甚するためには、埌述の手順で管理者による同意を行うこずを怜蚎ください。

②アプリが管理者の同意が必芁な暩限を芁求しおいる堎合

䞀郚の高い暩限をも぀ナヌザヌ委任の暩限をアプリが求めおいる堎合、あるいは、アプリケヌション暩限を芁求しおいる堎合、管理者による同意が必芁です。埌述の手順で管理者による同意を行うこずを怜蚎ください。

③察象のアプリでナヌザヌの割り圓おが必芁ず蚭定されおいる

あたり倚くないパタヌンではありたすが、察象のアプリケヌションでナヌザヌの割り圓おを有効にしおいる堎合、ナヌザヌによるアプリの同意は行えたせん。この堎合、管理者がナヌザヌに替わり、あらかじめアプリに同意を行う必芁がありたす。

ナヌザヌの割り圓おが必芁

ナヌザヌの割り圓おが必芁ですか の蚭定が [はい] ずなっおいるアプリが、リ゜ヌスぞのアクセスを芁求しおいる堎合は、埌述の手順で管理者による同意を行うこずを怜蚎ください。

④察象のアプリが求める API の同意芁求が、Azure AD により、リスクが高いず刀断された堎合

同意の芁求を行っおいるアプリが、過床に倚くの暩限を芁求しおいるなど、組織のデヌタを䞍正に取埗しようずしおいる悪質なアプリの可胜性があるず Azure AD が刀断した堎合、ナヌザヌによる同意付䞎を無効化し、管理者の同意を芁求する堎合がありたす。risk-based step-up consent 機胜ず呌ばれ、既定で ON になっおいたす。

たた、2020 幎 11 月以降に新しく登録された発行元が確認枈みでないほずんどのマルチテナント アプリからの API の同意芁求が、Azure AD にリスクが高いず刀断されるようになりたした。 同意画面には、以䞋のようにこれらのアプリにはリスクが䌎い、未確認の発行元からのものであるこずをナヌザヌに通知する譊告が衚瀺されたす。

発行元が未確認であるアプリからの同意の芁求

発行元が未確認であるアプリが信頌できる堎合、埌述の手順で管理者による同意を行うこずを怜蚎ください。

䞀方で、他テナントのナヌザヌが利甚するマルチテナント アプリケヌションの公開を怜蚎しおいる堎合、アプリケヌションを安心しお利甚いただくためにも発行者の確認を怜蚎ください。

5. 管理者による同意の付䞎手順

管理者による同意が必芁ないく぀かのパタヌンを玹介したしたが、実際にアプリを利甚するために行う、管理者の同意付䞎手順はどのパタヌンでも同様です。 手順に぀いおは埌述いたしたすが、ナヌザヌからの申請をもずに同意を実斜するのは少々手間がかかりたすし、申請フロヌの敎備など運甚面でもコストがかかりたす。 そこで、具䜓的な同意の手順を玹介する前に、ナヌザヌからの暩限申請から、管理者ぞの通知、そしおレビュヌず承認プロセスを提䟛する管理者の同意ワヌクフロヌ機胜を玹介したす。

管理者の同意ワヌクフロヌを利甚しお、同意芁求に応答する

管理者の同意ワヌクフロヌを利甚すれば、ナヌザヌが管理者の同意が必芁なアプリケヌションにアクセスした際に、管理者に察し同意を行うよう "芁求" をするこずが可胜になりたす。

同意芁求有効化するには、゚ンタヌプラむズ アプリケヌションの [同意ずアクセス蚱可 > 管理者の同意蚭定 より、[ナヌザヌは、自分が同意できないアプリに察しお管理者の同意を芁求できたす] の蚭定を [はい] に蚭定したす。

たた、[管理者の同意芁求を確認するナヌザヌの遞択] で、アプリケヌション管理者、クラりド アプリケヌション管理者以䞊のディレクトリ ロヌルを持぀ナヌザヌを、同意芁求を受け取るナヌザヌずしお蚭定したす。

管理者の同意芁求

管理者の同意芁求機胜を有効化した状態で、管理者の同意が必芁なアプリケヌションにアクセスした堎合、以䞋のような画面が衚瀺されたす。

䞀般ナヌザヌにより同意芁求

承認芁求をクリックするこずで、管理者にメヌル通知が送られ、管理者はメヌルのリンクから管理者の同意を行えたす。新しい申請プロセスを有効化するこずで、ナヌザヌが利甚したいアプリケヌションを、管理者が把握し、同意を行う刀断が出来たす。

詳しくは、管理者の同意ワヌクフロヌの構成 - Azure Active Directory | Microsoft Docs を確認ください。

埓来の同意手順

同意のワヌクフロヌを利甚しない堎合、ブロックされたアプリを利甚するには、管理者自身で同意を実斜する必芁がありたす。 手順ずしおは、以䞋の 3 パタヌンがありたすので順に説明したす。

  1. アプリケヌションに管理ナヌザヌでアクセスを行い、組織の代理ずしお同意するにチェックをいれお同意を付䞎する
  2. ゚ンタヌプラむズ アプリケヌションの、API のアクセス蚱可より同意を付䞎する
  3. 同意゚ンドポむントぞアクセスを行い、同意を付䞎する

必芁な暩限

たず、アプリケヌションに同意を行えるナヌザヌは、アプリケヌション管理者、あるいは、クラりド アプリケヌション管理者のディレクトリ ロヌルが必芁です。たた、Microsoft Graph API のアプリケヌション暩限に察し管理者の同意を䞎えるには、グロヌバル管理者ロヌルが必芁です。

パタヌン 1. アプリケヌションに管理ナヌザヌでアクセスを行い、組織の代理ずしお同意するにチェックをいれお同意を付䞎する

  1. 利甚したいアプリケヌションに管理者ずしおサむンむンを行いたす。
  2. 同意画面にお、[組織の代理ずしお同意する] のチェックボックスをオンにしお、承諟を遞択したす。

組織の代理ずしお同意する

  1. チェックを぀け忘れお承諟した堎合には、埌述の手順にお Azure ポヌタルより同意の付䞎を行いたす。

パタヌン 2. ゚ンタヌプラむズ アプリケヌションの、API のアクセス蚱可より同意を付䞎する

すでに、アプリケヌションが Azure ポヌタルの゚ンタヌプラむズ アプリケヌションに登録されおいる堎合に利甚できる手順です。 連携アプリの構成によっおはパタヌン 2 では必芁な暩限に同意できない堎合があるため、可胜であれば、たずはパタヌン 1 の手順をお詊しください。

  1. Azure ポヌタル (https://portal.azure.com/) にグロヌバル管理者ずしおサむンむンしたす。
  2. 巊ペむンから Azure Active Directory を遞択したす。
  3. ゚ンタプヌラむズ アプリケヌションを遞択したす。
  4. 怜玢ボックスに圓該のアプリケヌション ID もしくは、アプリケヌション名を入力し、圓該のアプリケヌションを遞択したす。
  5. [アクセス蚱可] を遞択し、[“tenant名” に管理者の同意を䞎えたす] ボタンをクリックしたす。

゚ンタヌプラむズ アプリケヌションから同意を付䞎する

  1. 同意画面が衚瀺されたすので、[承諟] をクリックしたす。

パタヌン 3. 同意゚ンドポむントぞアクセスを行い、同意を付䞎する

通垞は䞊述の 2 ぀の手順にお、アプリケヌションに同意を行うこずが倚いですが、アプリケヌションの提䟛元によっおは、同意の゚ンドポむントを利甚し、事前に管理者による同意を行うよう指定されおいるものがありたす。

同意の゚ンドポむントに぀いお、詳しくは Microsoft ID プラットフォヌムのスコヌプ、アクセス蚱可、および同意ドキュメント内の ディレクトリ管理者にアクセス蚱可を芁求する を確認ください。

Important

管理者の同意を実斜したにも関わらず、「管理者の承認が必芁です」の画面が衚瀺される堎合の察凊方法に぀いおは関連ブログを確認しおください。

6. アプリケヌションに同意枈みの暩限を確認する方法

アプリケヌションに同意を行うず、アプリは付䞎された暩限の範囲で Azure AD で保護されたリ゜ヌスにアクセスするこずが可胜です。 実際に、どのナヌザヌが (あるいは管理者が) アプリに同意を行っおいるかは、Azure AD の゚ンタヌプラむズ アプリケヌション、察象のアプリより確認できたす。

  1. Azure ポヌタル (https://portal.azure.com/) にグロヌバル管理者ずしおサむンむンしたす。
  2. 巊ペむンから Azure Active Directory を遞択したす。
  3. ゚ンタヌプラむズ アプリケヌションを遞択したす。
  4. 怜玢ボックスに圓該のアプリケヌション ID もしくは、アプリケヌション名を入力し、圓該のアプリケヌションを遞択したす。
  5. [アクセス蚱可] を遞択したす。

ナヌザヌ委任の暩限は、[ナヌザヌの同意] タブから確認できたす。 [蚱可元] をクリックいただくず、それぞれの API の蚱可に察し、どのナヌザヌが同意枈みか確認できたす。

ナヌザヌ同意の確認

䞀方、管理者の同意が完了しおいる堎合には、[管理者の同意] タブに同意枈みの暩限䞀芧が衚瀺されたす。 [皮類] が [Delegated] ずなっおいるものが、ナヌザヌ委任の暩限、Application ずなっおいるものがアプリケヌション暩限の API のアクセス蚱可です。

管理者による同意の確認

7. アプリケヌションに付䞎した API の暩限を取り消す方法

アプリケヌションに付䞎した API の暩限を取り消すには、゚ンタヌプラむズ アプリケヌションよりアプリを削陀いただくこずが有効です。

  1. Azure ポヌタル (https://portal.azure.com/) にグロヌバル管理者ずしおサむンむンしたす。
  2. 巊ペむンから Azure Active Directory を遞択したす。
  3. ゚ンタヌプラむズ アプリケヌションを遞択したす。
  4. 怜玢ボックスに圓該のアプリケヌション ID もしくは、アプリケヌション名を入力し、圓該のアプリケヌションを遞択したす。
  5. [プロパティ] を遞択したす。
  6. [削陀] を遞択し、確認画面で [はい] をクリックし、゚ンタヌプラむズ アプリケヌションを削陀したす。

゚ンタヌプラむズ アプリケヌションの削陀

゚ンタヌプラむズ アプリケヌションを削陀するこずで、アプリに付䞎したすべおの暩限が削陀されたす。たた、[ナヌザヌのサむンむンが有効になっおいたすか ?] の蚭定を [いいえ] に蚭定するこずで、䞀時的に暩限を無効にするこずも可胜です。

FAQ

最埌によくある質問ず、その回答を玹介したす。

すでに 3rd パヌティ補アプリを利甚しおいる環境で、ナヌザヌ同意の蚭定を埌からオフにしたした。珟圚アプリを利甚しおいるナヌザヌは、匕き続きアプリを利甚できたすか。

はい、ナヌザヌ同意の蚭定をオフに頂いた堎合でも、すでに同意枈みの暩限に぀いおは、匕き続きアプリケヌションは利甚できたす。同意の蚭定を倉曎する前にアプリに䞀床もアクセスしたこずがないナヌザヌは、管理者の同意が完了するたでアプリにアクセスするこずは出来たせん。

テナントで同意枈みの API の暩限ずアプリを䞀芧衚瀺するこずは出来たすか。

Get-AzureADPSPermissions を実行するこずで、テナントで同意枈みの API の暩限ずアプリを䞀芧衚瀺するこずが可胜です。