![見出し画像](https://assets.st-note.com/production/uploads/images/42140933/rectangle_large_type_2_99df85e97c1f34591620a9ba52097b7e.jpg?width=1200)
PowerApps × 条件付きアクセス その1
はじめに
あけましておめでとうございます!!
最近 PowerPlatform を触り始めたので、勉強の一環として小さいことからアウトプットしていきたいと思います。
PowerPlatform は、 IT業界にいながらもプログラミングスキルが低い私でもアプリやワークフローが構築できる素敵なサービスですね。
記念すべき第一弾は、PowerApps と Azure AD の条件付きアクセス (*1) の組み合わせについて取り上げたいと思います。
PowerApps を使ったアプリの構築などについては、私もいつも参考させて頂いている先人の方々のブログが充実しているので、私の最初の一歩は運用目線の内容からライトに始めてみます。
【参考資料】
・ (*1) Azure AD 条件付きアクセスについては以下をご参照ください。
タイトル : 条件付きアクセスとは
URL : https://docs.microsoft.com/ja-jp/azure/active-directory/conditional-access/overview
本記事の目的
PowerApps 利用時の条件付きアクセスの適用について、適用方法と動作について調べたいと思います。
PowerPlatform サービスにおける既定の認証は Azure AD が担っているので、「PowerAppsをセキュアに使いたいな」を考えるときに、活用できるサービスの一つとして、 Azure AD の ”条件付きアクセス” があります。
PowerApps に対してどうやって条件付きアクセスを適用させるのか、どういう風に動作するのか、の基本的なところを確認していきたいと思います。
前準備
1. Azure AD Premium ライセンスの有効化
条件付きアクセスの利用には、 Azure AD Premium ライセンスが必要になります。
Azure ポータルから簡単に無料試用版ライセンスを有効化することができます。
無料試用版ライセンスは、自分から意図的に操作しない限り課金が発生することはありませんのでご安心ください。
Azure ポータル (https://portal.azure.com/) - [Azure Active Directory] - [ライセンス] - [すべての製品] - [+ 試用/購入] - ”Azure AD Premium P2” - [アクティブ化] を押下
これで条件付きアクセスが使えるようになります。
2.PowerApps アプリの用意
Power Apps 上にアプリを適当に用意しました。
条件付きアクセスの設定
Azure ポータルから条件付きアクセスを設定できます。
Azure ポータル - [Azure Active Directory] - [セキュリティ] - [条件付きアクセス] - [ポリシー] - [+ 新しいポリシー] を押下
条件付きアクセスの各項目を以下のように設定してみます。
- ユーザーとグループ : 任意のユーザー (今回は Testuser01 を選択します)
- クラウド アプリまたは操作 : Microsoft PowerApps (*2)
- 条件 : なし
- 許可 : アクセスのブロック
- セッション : なし
(*2) : 条件付きアクセスを適用する対象として、 PowerApps 上の個々のアプリを選択することはできないようです。
なので、「アプリAに対しては適用するけどアプリBに対しては適用しないよ」 といった設定ができませんでした。
条件付きアクセスの設定はこれだけです。
PowerApps のどのアプリに対してもアクセスできない、が想定される動作となります。
動作確認
条件付きアクセスの [ユーザーとグループ] で指定した "testuser01" で、アプリへアクセスしてみます。
想定通り、以下のようにサインインできましたがアプリへはアクセスできない動作となりました。
動作確認 (ついで)
条件付きアクセスで選択した対象は、[Microsoft PowerApps] でした。
条件付きアクセスが影響する [Microsoft PowerApps] の範囲がどこまでを指すのかが気になったので、ついでに以下に対してのアクセスも試してみました。
・ https://make.powerapps.com/ (PowerApps のホーム画面)
・ https://admin.powerplatform.microsoft.com/ (PowerPlatform 管理センタ)
・ https://make.powerapps.com/ (PowerApps のホーム画面)
アクセスできませんでした。
・ https://admin.powerplatform.microsoft.com/ (PowerPlatform 管理センタ)
マジか、アクセスできませんでした。
どうやら、条件付きアクセスの適用対象として [Microsoft PowerApps] を選択すると、
アプリ以外にも、少なくとも上記 2 つに対しても影響があるようです。
まとめ
PowerApps × 条件付きアクセスについて、
今回分かったことのポイントとしては、以下かなと。
1. 条件付きアクセスの対象として、 PowerApps のアプリ単位では適用できない
2. 条件付きアクセスの対象として [Microsoft PowerApps] を選択すると、
PowerAppsのアプリ以外で、 PowerApps ホーム画面、PowerPlatform 管理センター まで影響する
感想
条件付きアクセスの適用範囲として、 PowerApps のホーム画面には影響するだろうとは想定していましたが、PowerPlatform管理センターにまで影響するとは思っていませんでした。
なるほど、勉強になりました。
ちなみに、そもそも PowerPlatform サービスへアクセスできるユーザーを制限する方法としては、
どちらかというとアクセス権限の付与で制御するものかな、と思うので、
今回動作が分かりやすいようにシンプルに条件付きアクセスの [アクセスのブロック] を利用しましたが、制限方法としてあまり適切では無いはずです。
もしちゃんと [アクセスのブロック] を利用するのであれば、”~ の条件を満たしていない場合はブロックする” といった条件との組み合わせを検討したいところです。
PowerApps と条件付きアクセスの組み合わせの活用例としては、
[アクセスのブロック] ではなく、例えば [アクセス権の付与] - [多要素認証を要求する] が適切かと思います。(もちろん要件にもよりますが)
”リソースへのアクセスに条件を付ける” がAzure AD 条件付きアクセスの主となる考え方なので。
PowerApps でなく、データソースにしているサービス、例えば SharePointOnline に対して条件付きアクセスが適用されている場合にどういう動作になるか、気になるのでそのうち試してみて記事にしてみたいと思います。
以上です