本記事に記載の内容は、
「特定のクラウドサービスにアクセスしようとするユーザーアカウントが、事前配布している証明書を持っているかどうかを判定させて、その結果に基づいて条件付きアクセスにてアクセス制御する方法」となっています。
※2022年5月時点で、名称が「Microsoft Defender for Cloud Apps」に変更されています。
目次
Microsoft Cloud App Security - 証明書認証 って項目無いけどどうやってやるの?
Azure ADの条件付きアクセスには、証明書認証はありません・・・。
あくまで、Microsoft Cloud App Securityと組み合わせて実現する認証方式です。
そのため、Azure AD Premium P1 or P2 だけで実装することは不可能ですし
Microsoft Cloud App Security のみで実装することも不可能となります。
証明書認証 - 必要なライセンス
セッションコントロールを利用するので、
Microsoft Cloud App Security と Azure AD Premium 1を利用できるライセンスが必要になります。
- Microsoft Cloud App Security + Azure Azure Active Directory Premium 1
- Microsoft Cloud App Security + Azure AD Premium 2
- Microsoft Cloud App Security + Enterprise Mobility & Security E3
- Enterprise Mobility & Security E5
- Microsoft 365 E5 Security
- Microsoft 365 E5
MCAS - 証明書認証を使うとどんなことが出来るの?
いたってシンプルです!
Azure Active Directory (Azure AD)と連携しているSaaS (クラウドサービス) に対して、
接続しようとしたユーザーに対してMicrosoft Cloud App Securityの[ 証明書ベースの識別 ]を利用して
クライアント証明書を持っているか確認を行います。
確認した結果を Azure Active Directory の 条件付きアクセスに渡し、アクセスを制御することが出来ます。
Azure ADと連携できるクラウドサービスに関しては、Microsoftが公開しているので確認してみてください。
証明書認証 - クライアント証明書でのアクセス制御 設定手順
手順を3つに分けて記載します。
証明書認証 ① - 条件付きアクセスの アクセスポリシー を作成する
条件付きアクセスの作成画面への遷移方法及び作成方法は以下、記事を参照してください。
-
Azure AD - 条件付きアクセス でセキュアな運用
条件付きアクセス ( アクセス制御 ) って何? 簡単にまとめると、Microsoft 365 のアカウントを使った認証を制御しよう!ってことです。ここで重要なのが、制御する方法は「アクセスを許可する ...
続きを見る
- 条件付きアクセス ポリシー の作成ページまで遷移します。
- [割り当て]欄の[ユーザーとグループ]を設定します。
- [割り当て]欄の[クラウド アプリまたは操作]にて制限対象にしたいクラウドアプリケーションを設定します。
※本手順では、SharePoint Onlineを設定してみました。 - [アクセス制御]欄の[セッション]をクリックします。
- [セッション画面]にて以下設定を行います。
設定後[選択]をクリックし、[ポリシーの有効化]を[オン]にして[作成]をクリックします。
- アプリの条件付きアクセスを使う:チェック
- アプリの条件付きアクセスを使う:カスタム ポリシーを使用する...
証明書認証 ② - Microsoft Cloud App Securityの 証明書ベースの識別 を設定する
- Microsoft Cloud App Security にアクセスし、画面右上の[歯車]アイコンをクリックします。
- 表示されたメニューの[設定]をクリックします。
- 右側のメニューをスクロールし、[デバイスの識別]をクリックします。
- [デバイスの識別]画面にて、[ルート証明書の追加]をクリックします。
- [ルート証明書の追加]画面にて以下を適切に設定し、[追加]をクリックします。
- 名前:わかりやすい任意の値を入れてください
- 説明:わかりやすい任意の値をいれてください
- 参照...:事前に発行しておいた証明書をアップロードします
ルート証明書の発行方法は以下を参照してください
-
ADCS - 信頼されたルートの証明書をPEMファイルとしてエクスポートする
ルート証明書 - PEMファイルとは? PEMファイルは、Base64で符号化されている証明書のことです。PEMファイルの存在理由は、用途に応じて変わるため断定できませんが鍵として利用したり証明書とし ...
続きを見る
- [デバイスの識別]画面の下部に追加したルート証明書が表示されていることを確認します。
証明書認証 ③ - Microsoft Cloud App Securityの 条件付きアクセス - アクセス ポリシー を設定する
- Microsoft Cloud App Security にアクセスし、画面右側の[横線3本]アイコンをクリックします。
メニューが展開されるので[ポリシー]をクリックします。 - [ポリシー]画面に遷移するので、[条件付きアクセス]をクリックします。
- [+ポリシーの作成]をクリックし、[アクセス ポリシー]をクリックします。
- [アクセス ポリシーの編集]画面にて、制御方法を設定して[更新]をクリックします。
私は以下設定を行って動作確認を行いました。
- フィルター:デバイス タグ が次に等しくない 有効なクライアント証明書
- アクション:テスト
※ブロックを選択することで、アクセス制御が有効化されます
- [接続アプリ]画面にて制限したアプリケーションが表示されたことを確認します。
また、利用可能な制御に[Azure AD 条件付きアクセス]が表示されていることを確認します。
証明書認証 - クライアント証明書でのアクセス制御 動作確認
アクション:テスト の場合
アラート欄にて、接続してきたユーザーのログが表示されることが確認できます。
アクション:ブロック の場合
- 証明書を持っていないユーザーにて接続すると
制御対象にしたクラウドサービスにアクセスできないことが確認できます。 - 証明書を持っているユーザーにて接続すると
証明書の確認が表示され、問題なく制御対象にしたクラウドサービスに接続ができました。
さいごに・・・
証明書認証が出来るなら、Intuneに登録したデバイスのみ接続可能とする条件付きアクセスは要らない?
という質問を頂くことがあります。
ですが・・・そうとも言い切れません。
Intuneには、コンプライアンスポリシーというものが存在しており
接続元となるデバイスの状態を判定してアクセス制御する方法があります。
これを使うことで、特定バージョン以下のWindowsは接続させないといった制御が可能となります。
他にもBitLockerやroot化されているデバイスを接続させないといった制御も可能です。
特に・・・コスト面が大きいです。
Azure AD Premium P1 + Microsoft Cloud App Securityとなると1ユーザー約1000円越えとなりEMSを導入できる価格になります。
悩ましいところですが、本当にやりたい事は何かを見極めて導入するライセンスを検討してみてくださいねっ