OneLogin ※リリース予定

概要

OneLogin はクラウドベースの IDaaS / SSO プロバイダです。ユーザー認証、シングルサインオン、アクセス権限の一元管理などをクラウドで提供しており、企業の各種SaaSへのアクセスを統合的に管理できます。
公式HPOneLogin
開発者向けポータルOneLogin Developers
APIドキュメント(v2)REST API ドキュメント (v2)
APIドキュメント(v1)REST API ドキュメント (v1)

コネクタ仕様

コネクタでできること

項目備考
アカウント管理・アカウントの作成/削除(サスペンド) ・属性同期による属性更新 ・パスワードの設定/リセット
ロール、グループの管理・割当の付与/剥奪

管理対象

アカウントの管理対象
OneLoginの「ユーザー」をアカウントとして管理します。
💡 OneLogin管理画面での確認方法
OneLogin管理コンソールの Users > Users から、登録されているユーザー一覧を確認できます。
割当の管理対象
以下を割当として管理します。
  • ロール:OneLoginの「Role」。1ユーザーに複数付与できます
  • グループ:OneLoginの「Group」。1ユーザーにつき1グループのみ付与できます

業務アセットの作成(接続方法)

OneLoginのAPIを利用するため、OAuth 2.0 Client Credentials Grant によるトークンを発行します。OneLogin管理コンソールで「API Credentials」を発行し、その Client ID と Client Secret を入力します。

接続に必要な情報

フィールド名必須説明
サブドメインOneLoginテナントのサブドメインを入力してください。例:テナントURLが の場合、 を入力します。
Client IDAPI Credential PairのClient IDです。OneLogin管理コンソール Developers > API Credentials で新規Credentialを作成すると発行されます。
Client SecretAPI Credential PairのClient Secretです。Client IDと同時に発行されます。発行後の再表示はできないため、発行時に必ず控えてください。
Mappingsコネクタがアカウントを作成・更新したときに、OneLogin側の自動マッピング(Mappings)を実行するかどうかを選択します(既定:有効)。詳細は「Mappings(自動マッピングの扱い)」を参照してください。

Client ID / Client Secret の作成手順

  1. OneLogin管理コンソールに管理者ロールでサインインします
  1. Developers > API Credentials > New Credential を開きます
  1. 任意の名前を入力します(例:
  1. スコープを に設定します(重要、後述)
  1. 作成すると 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)による停止のみ実施します。

割当種別

割当種別名タイプ割当項目の例備考
ロールMultipleDefault / Admin / Engineering などOneLogin管理コンソール Users > Roles で確認できます。ユーザーが登録して利用する値なので環境によって項目は異なります。APIで作成・削除可能。
グループPrioritySales / Engineering / HR などOneLogin管理コンソール Users > Groups で確認できます。OneLogin側で事前に作成する必要があります(API経由での作成・編集・削除はできません)。

同期する項目

必須属性名keyデフォルトの式備考
メールアドレスuser.email文字列user.emailアカウント検索の識別キーとして使用されます
ユーザー名user.username文字列user.emailOneLoginのサインインに使用可能なユーザー名です
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)
-外部IDuser.external_id文字列-他システムとの連携用任意ID
-コメントuser.comment文字列-OneLogin管理者向けのフリーテキストメモ
-マネージャーuser.manager_user_id数値-OneLogin上のマネージャーのユーザーID
-ロケールuser.preferred_locale_code文字列-2文字のロケールコード(例:ja、en)
-招待メール送信user.sendEmail真偽値-アカウント作成時に招待メール(パスワード設定リンク)を送信するかどうか
💡 必須項目について
メールアドレスとユーザー名はそれぞれ必須ですが、実際にはメールアドレスかユーザー名のどちらかがあればアカウントは作成できます。ただし、ユーザー情報を取得する際にメールアドレスを使うケースがありますので、必ず の値を入れてご利用ください。

Custom Attributes(カスタム属性)

OneLoginには、テナント固有のカスタム属性を定義する機能があります。
  • カスタム属性のキー(shortname)を使って、属性マッピングで の形式でマッピングを追加できます
  • 例:OneLogin側で というカスタム属性を定義している場合、属性マッピングで 等にマッピングします
  • カスタム属性は部分マージで更新されます(指定したキーのみが更新され、指定しなかったキーは既存値を保持します)
⚠️ カスタム属性の事前定義が必要です
カスタム属性をマッピングする前に、OneLogin管理コンソール(Users > Custom User Fields)でその shortname を持つフィールドを作成しておく必要があります。事前に作成されていないカスタム属性をマッピングすると、API呼び出し時にエラー(422)になります(エラーメッセージに該当のキー名が含まれます)。

同期対象外の項目

OneLoginのユーザーにはAPI上書き込み可能なフィールドが他にも存在しますが、以下の項目はYESODからの同期対象外です。これらは主にディレクトリ連携(Active Directory / LDAP)やOneLogin内部・セキュリティ機構が管理する領域であり、YESODから書き込むとディレクトリ同期や内部状態と競合するおそれがあるためです。これらの値を変更したい場合は、OneLogin管理コンソールまたは各ディレクトリ連携側で操作してください。
項目OneLoginフィールド理由
承認段階stateアカウントの承認ワークフロー状態のため
ディレクトリ/IdP連携IDdirectory_id / trusted_idp_idディレクトリ・IdP連携の内部IDのため
AD連携属性samaccountname / member_of / userprincipalname / distinguished_name / manager_ad_idActive Directory由来の属性のため(AD連携側で管理)
OpenID表示名openid_name利用ケースが限定的なため
連続ログイン失敗回数invalid_login_attemptsOneLoginが管理するセキュリティカウンタのため

グループプッシュ

非対応です。
⚠️ OneLoginの仕様上、実装できません
Group APIには取得操作のみで、作成・更新・削除ができないため、YESODのグループ階層をOneLoginにプッシュすることはできません。

一括実行

非対応です。

制限事項

レートリミット

OneLoginのAPIは、アカウント単位で1時間あたり5,000リクエストの制限があります。複数のAPI Credentialを発行していても、テナント全体で同じ上限を共有します。
レートリミットに達すると 429 Too Many Requests が返されエラーとなります。コネクタ側では指数バックオフによるリトライ(最大5回)を実装していますが、それでも回復しない場合はタスクが失敗します。
レートリミットの現在の残量はOneLogin APIの で確認できますが、各APIレスポンスには残量を示すヘッダが含まれない仕様です。

Privilege には対応していません

OneLoginのPrivilege機能(Delegated Administrationサブスクリプションで利用可能なv1 APIの細粒度権限)には対応していません。本コネクタが扱うのはRoleとGroupのみです。
Privilege APIは Delegated Administration を含む契約を持つテナントでのみ利用可能です。この契約がないテナントではAPI自体が拒否される(権限エラー)ため、契約状況に依存しない安定した機能として提供できません。

ご不明点がございましたらカスタマーサクセスまでお問い合わせください。