Okta
オクタ
Okta Anything-as-a-Source(XaaS)でMicrosoft Entra IDをマスターにしてみた!
はじめに
OktaのAnything-as-a-Source(以降、XaaS)は、あらゆるデータソースをOktaの「信頼できるアイデンティティ情報源」として活用できるフレームワークです。従来、Active Directory、CSVファイル、一部のHRシステムに限定されていたIDソースが、XaaSによってあらゆるデータソースとの連携が可能になりました。
今回は、Microsoft Entra ID(旧Azure AD)をOktaのアカウント源泉として設定し、Okta Workflowsを活用したユーザー同期の実装方法を検証してみました。
XaaS(Anything as a Source)とは
XaaSは企業のあらゆる人材データを活用するための戦略的基盤です。Identity Sources APIとOkta Workflowsを組み合わせることで、あらゆるデータソースからOktaへの統合を実現します。
主なメリット
- Oktaとのコネクタがない独自システムも連携可能
- 入社・異動・退社のID管理を完全自動化
- 開発コストと時間の大幅削減を実現
従来API実装の課題
従来のAPI実装において、個別のCRUD操作による非効率なロジック実装と複雑性によるスケーラビリティに限界がありました。
- 複雑性と非効率性:個別のCRUD操作による非効率なロジック実装
- レート制限の問題:大量ユーザー(数万~数十万)の同期時のAPI制限
- 差分同期の困難:増分更新ロジックの実装困難
- エラー処理の複雑さ:タイムアウトやネットワークエラーへの対応と同期状態の追跡監視が困難
XaaSによる課題解決
API実行回数の大幅削減
従来の個別API呼び出しでは10,000ユーザー処理時に最低10,000回のAPI呼び出しが必要でしたが、XaaSでは約50回のAPI呼び出しで処理可能です(99.5%削減)。
効率的なバッチ処理
- 1リクエストで約200ユーザー処理可能(200KBのデータ制限)
- 1セッションで最大10,000ユーザー処理可能
- セッションベースの一括処理でAPIレート制限を回避
Identity Sources API仕様
XaaSの実装はIdentity Sources APIを使用します。以下の3ステップでシンプルに実装できます。
- ステップ1:セッション作成
POST /api/v1/identity-sources/{identitySourceId}/sessions
インポートセッションを作成します。セッションは24時間有効で、5分間隔で次のセッションを作成可能です。 - ステップ2:バルクユーザーロード
POST /api/v1/identity-sources/{identitySourceId}/sessions/{sessionId}/bulk-upsert
ユーザーデータをバッチでロードします。1リクエストあたり最大200KB(約200ユーザー)、1セッションで最大50リクエスト(10,000ユーザー)が可能です。externalIdをキーとして自動的にCREATE/UPDATEを判定します。 - ステップ3:セッショントリガー
POST /api/v1/identity-sources/{identitySourceId}/sessions/{sessionId}/start-import
インポート処理を開始します。Oktaがバックグラウンドでユーザーの作成・更新・無効化を実行します。
主要パラメータ
- externalId(必須):ソースシステムでの一意識別子。CREATE/UPDATE判定のキー
- profile:Oktaユーザープロファイル属性(文字列型のみ)
- state:ユーザー状態(ACTIVE/DEACTIVATED)
Entra IDをアカウント源泉とする構成例
Entra IDから同期対象グループのユーザーを取得し、Okta Workflowsでセッションを作成します。200ユーザーずつのバッチ処理を行い、Oktaへインポートします。
Custom Identity Source設定手順
- アプリ統合カタログから「Custom Identity Source」で検索
- 「統合を追加」をクリック

- プロビジョニングタブで「API統合を有効化」を有効にする

- 「Oktaへ」を選択し、インポート時の挙動を指定

- Profile Editorで必要な属性を追加

- Entra ID側でアプリ登録およびAPIのアクセス許可を設定(詳細は省略させて頂きます)
Workflowsフローロジック
Okta Workflowsで以下のステップを実装します。
※具体的なフロー内容については、是非弊社までお問い合わせください。
まとめ
本ブログでは、Okta XaaS(Anything-as-a-Source)を活用したMicrosoft Entra IDとの連携をご紹介しました。
XaaSを使用することで、従来のAPI実装の課題を解決し、効率的なユーザー同期を実現できます。API呼び出し回数の99.5%削減、externalIdによる自動差分検出、セッションベースの一括処理により、大規模なユーザー管理も容易になります。
Entra IDとの連携やその他データソースとの連携にご興味のある方は、是非弊社までご連絡ください。
お問い合わせ・資料請求
株式会社マクニカ Okta 担当
- TEL:045-476-2010
- E-mail:okta@macnica.co.jp
平日 9:00~17:00