OneLogin ※リリース予定
概要
OneLogin はクラウドベースの IDaaS / SSO プロバイダです。ユーザー認証、シングルサインオン、アクセス権限の一元管理などをクラウドで提供しており、企業の各種SaaSへのアクセスを統合的に管理できます。
| 公式HP | OneLogin |
|---|---|
| 開発者向けポータル | OneLogin Developers |
| APIドキュメント(v2) | REST API ドキュメント (v2) |
| APIドキュメント(v1) | REST API ドキュメント (v1) |
コネクタ仕様
業務アセットの作成(接続方法)
OneLoginのAPIを利用するため、OAuth 2.0 Client Credentials Grant によるトークンを発行します。OneLogin管理コンソールで「API Credentials」を発行し、その Client ID と Client Secret を入力します。
接続に必要な情報
| フィールド名 | 必須 | 説明 |
|---|---|---|
| サブドメイン | ✅ | OneLoginテナントのサブドメインを入力してください。例:テナントURLが の場合、 を入力します。 |
| Client ID | ✅ | API Credential PairのClient IDです。OneLogin管理コンソール Developers > API Credentials で新規Credentialを作成すると発行されます。 |
| Client Secret | ✅ | API Credential PairのClient Secretです。Client IDと同時に発行されます。発行後の再表示はできないため、発行時に必ず控えてください。 |
| Mappings | ✅ | コネクタがアカウントを作成・更新したときに、OneLogin側の自動マッピング(Mappings)を実行するかどうかを選択します(既定:有効)。詳細は「Mappings(自動マッピングの扱い)」を参照してください。 |
Client ID / Client Secret の作成手順
- OneLogin管理コンソールに管理者ロールでサインインします
- Developers > API Credentials > New Credential を開きます
- 任意の名前を入力します(例:)
- スコープを に設定します(重要、後述)
- 作成すると Client ID と Client Secret が表示されます。Client Secret はこのタイミングでしか表示されないため、必ず控えて保存してください
⚠️ サブドメインについて
サブドメインは、OneLogin APIのベースURLを構築するために利用します。
OneLogin APIの仕様上、Client ID と Client Secret が正しければ、サブドメインに適当な値を入力しても動作する挙動が確認されています。ただし、将来的にOneLogin側の仕様が変更され、サブドメインの一致が厳密にチェックされるようになった場合、通信を遮断されるリスクがあります。システムの安定運用のために、サブドメインには必ず正しい値を入力してご利用ください。
必要な権限
接続用のAPI Credentialには、 スコープを選択してください。
はパスワード再設定のみエラーになりますが、他の操作は動作します。制限をご理解いただいた上で設定いただくことは可能です。
| スコープ | 本コネクタでの動作 |
|---|---|
| Authentication Only | ❌ 使用不可 |
| Read Users | ❌ 書き込み不可 |
| Manage users | ⚠️ パスワード再設定のみ不可 |
| Read All | ❌ 書き込み不可 |
| Manage All | ✅ 全ての操作が可 |
Mappings(自動マッピングの扱い)
OneLoginには、ユーザーの属性などに応じてロールなどを自動で付与する Mappings(マッピング) という仕組みがあります。コネクタがアカウントを作成・更新すると、その直後にOneLogin側のMappingsが動作し、YESODが設定した値を上書きする場合があります。
この挙動を、接続設定の Mappings で選択できます。
| 選択肢 | 挙動 | こんなときに選ぶ |
|---|---|---|
| 有効(デフォルト) | OneLoginの自動マッピングを実行します | OneLoginのMappingsを併用しており、自動ルールを効かせたい場合 |
| 無効 | OneLoginの自動マッピングを実行しません | YESODで設定した値を、OneLoginの自動ルールで上書きされたくない場合 |
💡 どれを選べばよいか
特別な要件がなければ既定の「有効」のままで問題ありません。OneLogin側のMappingsによってYESODの設定値が意図せず変わることを避けたい場合は「無効」を選択してください。ただし、OneLoginの管理画面から Reapply All Mappings を実行すると、設定されているMappingsがすべて適用されます。このようにYESODを介さずにマッピングが適用されることもありえますのでご留意ください。
アカウント管理
アカウントの作成
YESODで「アカウント作成」タスクを実行すると、OneLogin側に既に同じメールアドレス()が存在するかどうかで、作成/更新/再有効化の挙動が変わります。
| 条件 | 挙動 |
|---|---|
| 同一メールアドレスのアカウントがOneLoginに存在しない | アカウントを新規作成します |
| 同一メールアドレスのアクティブなアカウント(status=1)がOneLoginに存在する | そのアカウントの情報を更新します |
| 同一メールアドレスのサスペンド済みアカウント(status=2)がOneLoginに存在する | そのアカウントを有効化(status=1)してから情報を更新します |
| 同一メールアドレスのロック済みアカウント(status=3)がOneLoginに存在する | アンロック後、有効化(status=1)して情報を更新します |
パスワードの設定
- アカウント作成時のパスワード設定に対応しています。属性マッピングで を設定すると、アカウント作成時にそのパスワードが設定されます
- パスワードリセット(既存アカウントのパスワード再発行)にも対応しています
⚠️ パスワードの同期をOFFにするとパスワードリセットは使えません
SSO運用などで の同期をOFFにしている場合、パスワードリセットタスクは失敗します。リセット時に発行するパスワードを生成できないためです。パスワードリセットを使う運用では、 の同期を有効にしておいてください。
アカウント作成時の招待メール送信
OneLogin API で作成したアカウントには、OneLogin標準では招待メールが自動送信されません。本コネクタでは、アカウント作成時に招待メール(パスワード設定リンク)を送信するかどうかを属性マッピングで選べます。
- 属性マッピングで「招待メール送信」()を に設定すると、アカウント作成の成功後に招待メールが送信されます
- デフォルトではマッピングが設定されていない(=送信しない)ため、招待メールを送りたい場合は明示的に を にマッピングしてください
- SSO運用などで招待メールが不要な場合は、この項目を設定しない(OFFのまま)でかまいません
💡 招待メールを送らない場合のログイン案内
招待メールを送信しない運用では、ユーザーへの初回ログイン案内が別途必要です。
・作成時にパスワードを設定し、ユーザーへ手動で連絡する
・OneLogin管理コンソールから招待リンクを送信する(Users > Users > 対象ユーザー > More Actions > Send Invitation)
アカウントの削除
OneLoginコネクタにおける「アカウント削除」タスクは、サスペンド(停止) で行います。
⚠️ OneLoginにおける物理削除の扱い
OneLoginにはAPI経由でユーザーを完全に削除する機能()がありますが、削除は復元不可で、削除後は管理コンソール上にも完全に表示されなくなります。意図せず情報を失うリスクが高いため、YESODコネクタからの物理削除には対応していません。サスペンド(status=2)による停止のみ実施します。
割当種別
| 割当種別名 | タイプ | 割当項目の例 | 備考 |
|---|---|---|---|
| ロール | Multiple | Default / Admin / Engineering など | OneLogin管理コンソール Users > Roles で確認できます。ユーザーが登録して利用する値なので環境によって項目は異なります。APIで作成・削除可能。 |
| グループ | Priority | Sales / Engineering / HR など | OneLogin管理コンソール Users > Groups で確認できます。OneLogin側で事前に作成する必要があります(API経由での作成・編集・削除はできません)。 |
同期する項目
| 必須 | 属性名 | key | 型 | デフォルトの式 | 備考 |
|---|---|---|---|---|---|
| ✅ | メールアドレス | user.email | 文字列 | user.email | アカウント検索の識別キーとして使用されます |
| ✅ | ユーザー名 | user.username | 文字列 | user.email | OneLoginのサインインに使用可能なユーザー名です |
| ✅ | 名 | user.firstname | 文字列 | user.givenNameLocalPreferred | ユーザーの名。値が空でもアカウントの作成は成功します |
| ✅ | 姓 | user.lastname | 文字列 | user.familyNameLocalPreferred | ユーザーの姓。値が空でもアカウントの作成は成功します |
| - | 役職 | user.title | 文字列 | - | OneLoginの「Job Title」 |
| - | 部署 | user.department | 文字列 | - | OneLoginの「Department」 |
| - | 会社 | user.company | 文字列 | - | OneLoginの「Company」 |
| - | 電話番号 | user.phone | 文字列 | - | E.164形式(例:+81901234567) |
| - | 外部ID | user.external_id | 文字列 | - | 他システムとの連携用任意ID |
| - | コメント | user.comment | 文字列 | - | OneLogin管理者向けのフリーテキストメモ |
| - | マネージャー | user.manager_user_id | 数値 | - | OneLogin上のマネージャーのユーザーID |
| - | ロケール | user.preferred_locale_code | 文字列 | - | 2文字のロケールコード(例:ja、en) |
| - | 招待メール送信 | user.sendEmail | 真偽値 | - | アカウント作成時に招待メール(パスワード設定リンク)を送信するかどうか |
💡 必須項目について
メールアドレスとユーザー名はそれぞれ必須ですが、実際にはメールアドレスかユーザー名のどちらかがあればアカウントは作成できます。ただし、ユーザー情報を取得する際にメールアドレスを使うケースがありますので、必ず の値を入れてご利用ください。
Custom Attributes(カスタム属性)
OneLoginには、テナント固有のカスタム属性を定義する機能があります。
- カスタム属性は事前にOneLogin管理コンソールで定義する必要があります(参考:OneLoginのCustom User Fieldsの設定方法)
- カスタム属性のキー(shortname)を使って、属性マッピングで の形式でマッピングを追加できます
- 例:OneLogin側で というカスタム属性を定義している場合、属性マッピングで を 等にマッピングします
- カスタム属性は部分マージで更新されます(指定したキーのみが更新され、指定しなかったキーは既存値を保持します)
⚠️ カスタム属性の事前定義が必要です
カスタム属性をマッピングする前に、OneLogin管理コンソール(Users > Custom User Fields)でその shortname を持つフィールドを作成しておく必要があります。事前に作成されていないカスタム属性をマッピングすると、API呼び出し時にエラー(422)になります(エラーメッセージに該当のキー名が含まれます)。
同期対象外の項目
OneLoginのユーザーにはAPI上書き込み可能なフィールドが他にも存在しますが、以下の項目はYESODからの同期対象外です。これらは主にディレクトリ連携(Active Directory / LDAP)やOneLogin内部・セキュリティ機構が管理する領域であり、YESODから書き込むとディレクトリ同期や内部状態と競合するおそれがあるためです。これらの値を変更したい場合は、OneLogin管理コンソールまたは各ディレクトリ連携側で操作してください。
| 項目 | OneLoginフィールド | 理由 |
|---|---|---|
| 承認段階 | state | アカウントの承認ワークフロー状態のため |
| ディレクトリ/IdP連携ID | directory_id / trusted_idp_id | ディレクトリ・IdP連携の内部IDのため |
| AD連携属性 | samaccountname / member_of / userprincipalname / distinguished_name / manager_ad_id | Active Directory由来の属性のため(AD連携側で管理) |
| OpenID表示名 | openid_name | 利用ケースが限定的なため |
| 連続ログイン失敗回数 | invalid_login_attempts | OneLoginが管理するセキュリティカウンタのため |
グループプッシュ
非対応です。
⚠️ OneLoginの仕様上、実装できません
Group APIには取得操作のみで、作成・更新・削除ができないため、YESODのグループ階層をOneLoginにプッシュすることはできません。
一括実行
非対応です。