Oktaは、グローバルトップのIdPプラットフォームであり、数千の企業で採用されています。本記事では、OktaダッシュボードでのSAML/OIDC設定方法、アプリケーション統合、MFA設定、ユーザープロビジョニング(SCIM)まで、実装に必要なすべてを解説します。
Oktaの基本アーキテクチャ
テナント構成
Okta Org(テナント)
├─ Sandbox Org(開発・テスト用)
│ └─ アプリケーション連携テスト
│
└─ Production Org(本番環境)
├─ ユーザーディレクトリ
├─ グループ管理
├─ アプリケーション統合(100以上)
└─ ポリシー・ルール設定
3つの主要コンポーネント
1. Identity Provider機能(IdP)
- ユーザー認証(パスワード、MFA、FIDO2等)
- SAML/OIDC/OAuth 2.0対応
2. Access Management(AM)
- 条件付きアクセスポリシー
- リスクベース認証
- アクセス制御ルール
3. Application Integration
- 事前統合テンプレート(1000+)
- カスタムアプリケーション連携
IDaaS SSO選定ガイド
IDaaS/SSOの選定基準を体系的に整理。対応プロトコル、MFA、プロビジョニング機能など、比較検討に必要な視点を網羅しています。
OktaダッシュボードでのSAML設定手順
ステップ1:Administratorアカウントでログイン
Okta管理画面URL:https://{okta-domain}.okta.com/admin
ユーザー:Administrator(または同等の権限)
ステップ2:アプリケーション統合
2-1. Applications → Applications(左メニュー)
管理画面左側ナビゲーションバーから、「Applications」を選択。
2-2. 「Create App Integration」ボタンをクリック
【新規アプリケーション統合】ダイアログ表示
- 方式の選択:
✓ Web(ブラウザベースのアプリ)
✓ Mobile(ネイティブアプリ)
✓ Desktop(デスクトップアプリ)
✓ Single-Page Application(SPA)
- プロトコル選択:
✓ OAuth 2.0
✓ SAML 2.0
✓ OpenID Connect
例:基幹システムのSAML統合
方式:Web
プロトコル:SAML 2.0
【作成】
2-3. アプリケーション情報を入力
【General Settings】
- App name:「SAP ERP System」
- App logo:(オプション)
- App visibility:
✓ 「Do not display app icon to users」(管理者のみアクセス)
✓ 「Display app icon in the Okta dashboard」(ユーザーに表示)
ステップ3:SAML設定(Configure SAML)
3-1. SAML Settings タブをクリック
【SAML設定】セクション
- Single Sign On URL:
https://sap.company.local/acs
- Audience URI (SP Entity ID):
https://sap.company.local/metadata
- Default Relay State:
(オプション)https://sap.company.local/home
- Name ID format:
Unspecified(推奨)→ EmailAddress に変更可
- Response Signed:
✓ チェック(署名済みレスポンス)
- Assertion Signed:
✓ チェック(署名済みAssertion)
- Encryption:
- 「Encrypted」で有効化
- 「Encryption Certificate」をアップロード
3-2. 属性マッピング(Attribute Statements)
Oktaからアプリケーションへ送信するユーザー属性を定義します。
【Attribute Mappings】
Name Format: urn:oasis:names:tc:SAML:2.0:attrname-format:basic
属性マッピング:
user.firstName → firstName
user.lastName → lastName
user.email → email
user.login → uid
appuser.department → department
複数値属性(グループ)の送信:
【Group Attribute Statements】
Name: memberOf
Filter: (regex)
- Matches:.*
この設定により、ユーザーが属するすべてのOktaグループが、
SAML AttributeStatementに含まれます。
SAMLResponse例:
<saml:Attribute Name="memberOf">
<saml:AttributeValue>sales-team</saml:AttributeValue>
<saml:AttributeValue>japan-office</saml:AttributeValue>
</saml:Attribute>
ステップ4:アプリケーション割り当て(App Assignments)
4-1. Assignments タブをクリック
ユーザーおよびグループをアプリケーションに割り当てます。
【Users】
- 個別ユーザーを追加
- ユーザー属性に基づき、アプリケーション内での権限を設定
【Groups】
- セキュリティグループ(単位での割り当て)
- 新規ユーザーがグループに追加された場合、自動的にアプリケーションへのアクセス権が付与される
グループベースアサインメント設定例:
Group: SalesTeam
↓
App Assignment: SAP ERP System
↓
App-specific Attribute:
- Role: SALES_USER
- Region: JAPAN
ステップ5:Sign On Settings(認証ポリシー)
5-1. 「Sign On」タブをクリック
【Sign On Policy】
- 認証要件:
✓ 「Password」(パスワード認証)
✓ 「Password + One-factor verification」(1要素追加)
✓ 「Password + Two-factor verification」(2要素追加)
- 許可する認証方式:
✓ Okta Password
✓ Google Authenticator(OTP)
✓ Okta Verify(プッシュ通知)
✓ Security Key(FIDO2)
✓ Smart Card / Certificate Authentication
リスクベース認証ポリシー設定:
条件:Location is not in Japan
↓ アクション:「Require additional verification」
条件:IP is not in trusted networks
↓ アクション:「Require additional verification」
条件:Impossible travel detected
↓ アクション:「Deny」(アクセス拒否)
Sandbox環境でのテスト方法
テスト目的での環境利用
Okta Sandboxは、本番環境と同じ機能を持つ専用テスト環境です。開発・運用チームは、Sandbox で十分にテストしてから、Productionへのデプロイが推奨されています。
テスト手順
1. Sandboxテナント作成
Okta管理画面
→ System → Developer Console
→ Sandbox环境を作成
2. テストユーザーの作成
Users → People → Add Person
【テストユーザー情報】
- First name: Test
- Last name: User
- Email: testuser@sandbox.okta.com
- Username: testuser@sandbox.okta.com
- Secondary email: (任意)
- Groups: SalesTeam(割り当てグループ)
3. テストユーザーをアプリケーションに割り当て
Applications → SAP ERP System
→ Assignments タブ
→ 「Assign to People」
→ Test User を選択
→ 「Assign」
4. SSO動作確認
【テスト手順】
1. Sandboxダッシュボードにログイン
URL: https://{sandbox-domain}.okta.com
2. ダッシュボードに「SAP ERP System」アイコンが表示される
3. アイコンをクリック
→ Oktaが認証を実施
→ SAP側のACSへリダイレクト
→ SAP内でセッション作成
4. SAP内でテストユーザーでログイン状態が確認される
5. ブラウザ開発者ツール(F12)でSAML Responseを検証
【Network タブでSAML Responseを確認】
POST /acs HTTP/1.1
Content-Type: application/x-www-form-urlencoded
SAMLResponse: PHNhbWxwOlJlc3BvbnNlIHhtbG5zOnNhbWxwPSJ...
【デコード後の確認内容】
✓ Issuer(Okta)
✓ Assertion署名
✓ 属性(email、firstName等)
✓ Conditions(有効期限)
SCIMプロビジョニング(ユーザー自動同期)
SCIMとは
System for Cross-domain Identity Management(SCIM)は、クラウドアプリケーション間でのユーザー情報の自動同期プロトコルです。
Okta(ユーザーマスター)
↓ SCIM API
アプリケーション(Slack、Salesforce等)
【自動同期される処理】
- ユーザー作成:Oktaで新規ユーザー作成 → Appで自動作成
- ユーザー更新:Oktaでメール変更 → Appで自動更新
- ユーザー削除:Oktaでユーザー削除 → Appで自動削除
- グループメンバーシップ:Oktaのグループ追加 → Appで権限付与
SCIM連携の設定
設定ステップ
1. アプリケーション設定で「Provisioning」タブをクリック
【Provisioning Settings】
- SCIM Authentication Method:
✓ OAuth 2.0(推奨)
✓ Bearer Token
- SCIM Base URL:
https://sap.company.local/scim/v2
2. SCIMエンドポイントを確認
【利用可能なSCIMエンドポイント】
- GET /scim/v2/Users
(ユーザー一覧取得)
- POST /scim/v2/Users
(ユーザー作成)
- PATCH /scim/v2/Users/{id}
(ユーザー属性更新)
- DELETE /scim/v2/Users/{id}
(ユーザー削除)
- GET /scim/v2/Groups
(グループ一覧取得)
3. プロビジョニングアクションを有効化
【Provisioning to App】
✓ Create Users
✓ Update User Attributes
✓ Deactivate Users
✓ Sync password
【Provisioning to Okta】
✓ Import new users
✓ Update user attributes
MFA(多要素認証)ポリシー設定
Okta は、複数の MFA方式をネイティブサポートしています。
設定例:全従業員にMFA強制
【MFA Policy】
Rule 1: Sales Team
Condition: Group = "SalesTeam"
Action: Require MFA(必須)
→ 許可MFA方式:Okta Verify、Google Authenticator、Security Key
Rule 2: Executives
Condition: Group = "Executive"
Action: Require MFA(必須)
→ 許可MFA方式:Security Key(FIDO2のみ許可)
Rule 3: Remote Workers
Condition: (Group != "OnSite") AND (Network != "Corporate")
Action: Require MFA(必須)
→ 許可MFA方式:すべて
LOCKED MSO との連携
LOCKED MSO は、Okta連携により、さらに強力なアクセス制御を実現します。
ユースケース
ユーザー
↓
Okta(基本認証・MFA)
↓ LOCKED MSO(追加検証)
├─ デバイスチェック
├─ 位置情報確認
├─ 異常ログイン検知
└─ 条件付きアクセスルール
↓
アプリケーション(Slack、Salesforce等)
大規模導入事例
グローバルテック企業(従業員 2,000名)
課題
- 複数地域のOffice(米国、欧州、APAC)で異なるIdP体系
- 従業員はVPN経由で、複数の社内システムにアクセス
- SaaS申し込み時の承認フローが遅い
実装
- グローバルOktaテナント統合:3ヶ月で全地域を統一
- SAML連携自動化:100以上のSaaS/社内システムとSAML連携
- SCIMプロビジョニング:HR情報からの自動ユーザー作成
- LOCKED MSO導入:Oktaの認証に加え、デバイスチェック・リスク判定を追加
成果
- パスワードリセット:月間100件削減
- SaaS導入時間:14日 → 1日
- フィッシング被害:90%削減
- コンプライアンス対応自動化により、監査コスト 60%削減
まとめ
OktaのSAML/OIDC設定は、Sandbox環境での十分なテストが成功の鍵です。正確な属性マッピング、グループベースのアサインメント、リスクベース認証ポリシーの組み合わせで、エンタープライズグレードのSSO基盤が実現されます。
LOCKED MSO を組み合わせることで、Oktaの機能を最大限に活かしながら、さらに高度なセキュリティ要件に対応できます。
参考資料・外部リンク
関連記事
- SAML vs OAuth完全比較【プロトコル仕様から実装まで】
- SAML 2.0仕様書日本語詳解【RFC 7114準拠実装】
- Azure AD SAML連携完全手順【証明書管理までの全手順】
- OneLogin SAML設定ガイド【メタデータ取得から実装まで】
- SSOセキュリティ課題完全対策【トークンハイジャック・セッション固定攻撃防止】
LOCKEDの詳細を見る
シングルサインオン・認証管理でお悩みなら、LOCKEDの無料デモをお試しください。