OneLoginでジャストインタイムプロビジョニングを構成する
OneLoginでジャストインタイム(JIT)プロビジョニングを構成することで、ユーザーのオンボーディングを合理化できます。この機能は、信頼済みIDプロバイダー(TIdP)を介してユーザーが認証した瞬間にアカウントの作成と更新を自動化します。JITの属性マッピング(Attribute Mapping)セクションで必須属性をマッピングするか、カスタムロジック用のTransform Editorを使用することで、手動介入なしでユーザーが即座に認識され、適切なロールが割り当てられるようにできます。
- OneLoginにサインインします。
- に移動し、新しい信頼(New Trust)をクリックします。
- 左側のペインで、JITセクションに移動します。
- ジャストインタイム(JIT)(Just-In-Time(JIT))プロビジョニング設定を有効化します。
- ユーザー作成後にユーザーTIDPを設定する(Set User TIDP after user creation)を有効化します。
- 名(First Name)、姓(Last Name)とメール(Email)の属性をマッピングします。
- 必要に応じて追加の属性を構成します。
- TIDP値(TIDP Value): IdPで定義されている属性の名前を、大文字と小文字を区別して正確に入力します。TIDP値は次のように指定できます。
-
メール(Email)の場合、
{tidp.email}にする必要があります -
名(First Name)の場合、
{tidp.given_name}にする必要があります -
姓(Last Name)の場合、
{tidp.family_name}にする必要があります
-
- ユーザーフィールド(User Field): IdP値をマッピングするOneLogin属性の名前を選択します。
- 必須?(Required?):属性が必須の場合、このチェックボックスを選択します。
- Updated? (更新可能?) (任意): IdPから受信した新規情報でユーザーレコードを更新できるようにするには、このチェックボックスを選択します。
- 変換(Transform)(任意):属性とアクセスパラメーターをカスタマイズするための変換の詳細を追加または編集します。
- TIDP値(TIDP Value): IdPで定義されている属性の名前を、大文字と小文字を区別して正確に入力します。TIDP値は次のように指定できます。
ユーザーがIdP経由でサインインした後、再度サインインを求められる場合、そのユーザーはOneLoginに存在しない可能性があります。これは通常、 JITプロビジョニングが誤っていることを示しています。この問題を回避するには、JIT属性マッピングが、OneLoginがユーザー作成時に想定する値と一致していることを確認してください。
Transform Editorを使用してユーザー属性をカスタマイズする(任意)
Transform Editorを使用すると、限られたJavaScript機能セットを使用してユーザー属性をカスタマイズできます。これにより、 IdPからマッピングされた値に基づいてユーザーロールや属性を自動的に構成できます。たとえば、IdPアカウントが提供する役職名に基づいて、ユーザーに特定のロールを自動的に割り当てることができます。このエディターでは、次のパラメーターと関数が提供されます。
| パラメーター/関数 | 説明 |
|---|---|
|
|
変換を追加する必要がある属性の現在の値。 |
|
|
SAMLアサーションの残りの属性ステートメント。例: |
|
|
SAMLレスポンスを含む文字列。 |
|
|
この関数を使用して属性の値を設定します。パラメーター名の最初の文字と、アンダースコアの後の最初の文字は大文字にします。残りは小文字のままにします。 |
|
|
この関数を使用すると、属性の値を拒否し、アサーションを完全に拒否できます。この関数は、ユーザーの作成を防止するイベントをトリガーし、結果としてユーザーのサインインを禁止します。 |
Transform Editorは不正なアクティビティを防ぐためにサンドボックス環境を使用します。スクリプトは隔離されており、事前に定義されたパラメーターに制限され、次のセキュリティ制限の対象になります。
- セッター関数を正常に呼び出すことができるパラメータ型は、文字列と文字列の配列の2種類です。
- スクリプトは、割り当てられたリソース使用量または実行時間制限を超過すると終了します。
- ASCII文字数が8000を超える場合、またはASCII以外の文字が含まれている場合、変換は実行されません。
変換スクリプト
この基本的な変換スクリプトは、ユーザーのメールアドレスを解析し、acmesales.com domain内の任意のユーザーに営業担当(Sales)ロールを割り当てます。このスクリプトは、orgの具体的な要件に合わせて変更できます。
var email = tidp_attributes["Email"].split("@");
var domain = email[1];
if (domain === "acmesales.com")
{
setRoles("Sales");
}
アプリにサインインした直後に「アクセスが拒否されました」エラーがユーザーに表示されたときは、次の手順に従って問題を解決してください。
- JIT変換スクリプトを確認して、OneLoginで必要なロールが正しく割り当てられていることを確認します。
- この特定のアプリに対して、アクセスをブロックする可能性のあるアプリポリシーが有効になっていないことを確認します。
次の手順