こんにちは!たつみんです。
タイトルで言い切った感がありますが、今日はmacOSをJamf ProでなくIntuneを使って、Okta Identity Engine(以下OIE)のDevice Trustを構成できないかと四苦八苦したお話です。
2021年11月18日現在、OIEは新規発行されるテナントに限り適用されます。これまでのOkta Classic EngineからOIEへ移行する時期や方法については別途Okta社からのアナウンスをお待ちください。
2023.08.24 サードパーティの認証局を使わなくてもOktaとIntuneだけでmacOSのDevice Trustが実現できる記事を公開しました。
はじめに
Okta CAを利用してIntuneとmacOSの組み合わせでできないかと検証してみたのですがどうしてもうまくいかず、今回は無料プランもあるサードパーティの認証局のSCEPmanが発行した証明書を用いて設定を行います。今回SCEPmanについては詳細な解説は割愛させていただきます。
ご興味がある方は下記の公式ドキュメントをご参照ください。
- Azure アプリの登録手順
- Azure MarketplaceからSECPmanの入手
- ルート証明書の作成方法
- Intuneを利用したmacOSへのユーザー証明書の展開方法
以降の手順ではサードパーティの認証局での証明書の発行済みであり、Azure アプリがすでに構築済みであることを前提とします。
追記:SCEPmanについてのブログ記事を公開しました。
設定手順
Okta事前準備
- OktaのSecurity>Device integrations>Certificate Authority>Add Certificate Authorityをクリックします。
- SCEPmanで発行した証明書を選択すると自動的にアップロードされます。File Successfully uploadedと表示せれたらCloseをクリックします。
- 正常に登録されると以下のように表示されます。
Intuneで証明書の構成
- デバイス>構成プロファイル>プロファイルの作成をクリックします。
- プラットフォームをmacOSを選択します。
- プロファイルの種類はテンプレートを選択します。
- テンプレート名で信頼済み証明書を選択し、作成をクリックします。
- 名前を入力し、次へをクリックします。(今回はOIE Certificate for macOSとしました)
- SCEPmanで発行した証明書ファイルをアップロードし、次へをクリックします。
- 組み込まれたグループに検証用セキュリティグループを選択し、次へをクリックします。
- 設定内容を確認し、作成をクリックします。
IntuneでSCEPの構成
- デバイス>構成プロファイル>プロファイルの作成をクリックします。
- プラットフォームをmacOS降を選択します。
- プロファイルの種類はテンプレートを選択します。
- SCEP証明書を選択し、作成をクリックします。
- 名前を入力し次へをクリックします。(今回はOIE_macOS_SCEPとしました)
- 証明書の種類をユーザーを選択します。
- サブジェクト名の形式は以下を入力します。
CN={{UserName}},E={{EmailAddress}}
- 属性でユーザープリンシパル名(UPN)を選択し、値に以下を入力します。
{{UserPrincipalName}}
- キー使用法はキーの暗号化とデジタル署名の両方を選択します。
- キーサイズは2048を選択します。
- ルート証明書をクリックし、先の工程でIntuneに登録した信頼済み証明書を選択し、OKをクリックします。
- 拡張キー使用法の定義済みの値でクライアント認証を選択します。(名前とオブジェクト識別子は自動的に反映されます)
- SCEPサーバーのURLにサードパーティ認証局で生成されたSCEP URLを入力し、次へをクリックします。
- 組み込まれたグループに検証用セキュリティグループを設定し、次へをクリックします。
- 設定内容を確認し、作成をクリックします。
Okta Authentication policiesの設定
Device Trust用のAuthentication policyを作成していない場合は以下の手順で作成するか、DefaultのラベルがついているAny two factorsなどのポリシーに以下のようなルールを組み込みます。
今回は検証結果をわかりやすく確認するために新規でポリシーおよびルールを作成しています。
- Okta管理画面のSecurity>Authentication policiesからAdd a policyをクリックします。
- 名前をDevice Trust Policyなどわかりやすいものを設定します。
- Add Ruleをクリックします。
- Rule nameをDevice Trust Ruleなどわかりやすいものを設定し、Device state isをRegisteredにしDevice management isをManagedにし、Saveをクリックします。
- 最初からあるCath-all Ruleを編集し、Access isをDeniedとしSaveをクリックします。最終的に以下のような2つのルールから構成されるポリシーとなっているかを確認します。
- Applicationsタブ内のAdd appをクリックします。
- 作成したポリシーを割り当てるアプリケーションのAddボタンをクリックし、最後にCloseをクリックします。
作成したポリシーは上から順番に判定され、ルールに該当しない場合に次のルールに一致するかどうかを確認します。今回の例ではDevice Trust Ruleに合致しない場合はCatch-all Ruleにて合致し、結果としてアクセスを拒否する設定としています。
動作確認
Oktaアプリケーション制御の確認
- Oktaにログインしている場合は一度、ログアウトしてから再度ログインをします。
- 対象アプリケーションにアクセス可能かを確認します。
Devices上の確認
Okta管理画面のDirectory内のDevicesに該当端末のStatusがManagedとなっていることを確認します。
最後に
Oktaが元から用意している証明書ではどうしてもうまくいかずにサードパーティの認証局による証明書の発行をし、IntuneでmacOSのDevice Trustを実現することができました。
SCEPmanについての解説は省いてしまいましたが、ドキュメント記載の内容に沿って進めることで証明書の発行が行えます。IntuneでmacOS端末を管理している場合はぜひ挑戦してみてください。
それでは今日はこれで〜また別の記事でお会いしましょ〜?