条件付きアクセスポリシーのインポート/エクスポート

皆さんこんにちは。国井です。
以前、TwitterですかんくさんがIntuneの各種設定をJSONファイルでインポート/エクスポートできるツールを紹介してくださってました。
これ、Intune設定のバックアップに使うことができますし、またITベンダーさんだったら標準化した設定をあらかじめ作っておいて案件ごとにエクスポートして設定を簡略化するみたいな使い方もできたりすると思うのです。

そこで今回は条件付きアクセスのベストプラクティスポリシーを作って、設定が必要なテナントにインポートする、ということを行ってみたいと思います。

条件付きアクセスのベストプラクティスポリシー

条件付きアクセスポリシーはスクラッチで作るのではなく、世の中にあるベストプラクティスから自社のベストプラクティスを作るのが吉とされています。
じゃあ世の中のベストプラクティスをどこから持ってくるか?ってところですが、これはMSさんのものを今回は使いたいと思います。
過去に開催されたAzure AD Webinarの中に条件付きアクセスのベストプラクティスポリシーを紹介している回があるので、そこで登場するポリシーを流用させてもらうことにしました。

詳説!Azure AD 条件付きアクセス – 設計のやり方編 Azure AD Conditional Access deep dive – Design methodology
https://github.com/yusukekodama/PMActivities/blob/master/Webinar/Schedule.md

ここからポリシー設定のパラメータシートをダウンロードできるので、ダウンロードして、ファイルを開いて、言われたとおりに作ってみました。

ポリシーをエクスポートする

ポリシー設定のインポート/エクスポートは前述のツールを使います。ツールはGitHubからダウンロードできます。

一式ダウンロードしたら、中にあるstart.cmdファイルを実行します。
実行するときは事前にstart.cmdファイルのプロパティを開き、[許可する]のチェックをつけておくことをお忘れなく。

image

実行すると、ツールが立ち上がります。最初に画面右上のアイコンをクリックして、該当のテナントの管理者としてサインインし、左側のメニューから[Conditional Access]をクリックすると、そのテナントの条件付きアクセスポリシー一覧が参照できます。

image

この中からエクスポートしたいポリシーを選んで[Export]ボタンを押せば、JSON形式のファイルとしてエクスポートできます。
ちなみに私が作成したポリシーのJSONファイルはGitHubにおいてあります。

移行先へインポート

インポートはエクスポートと一緒でツールの画面から[Import]ボタンを押してJSONファイルを指定すれば完了です。簡単でしょ?

インポート/エクスポート時の注意点

GitHubのなかにも書いたんですが、以下の情報を移行することはできません。

・エンタープライズアプリケーションの情報
・特定のユーザー/グループの情報

前述のMSさん提供のベストプラクティスポリシーでいうと、M001やN001などのポリシーでは特定のクラウドアプリを対象にしたポリシーになっています。これをエクスポートしてインポートしても前のアプリ情報を引き継げません。
これはアプリの名前ではなく、ID番号で管理しているからです。ユーザー/グループに関しても同様です。(※ロールについては移行可能)

2024年7月22日追記
マイクロソフト標準のPowerShellコマンドレットを利用してJSONファイルをインポートする方法を書いてくださっているブログがありましたのでご紹介しておきます。