Okta と SCIM プロビジョニング連携する (アプリカタログ)

概要 {#overview}

Okta で アプリカタログ のアプリケーションにより SCIM プロビジョニング連携するする方法を説明します。

利用条件 {#prerequisites}

  • SCIM プロビジョニング連携は、有償商品を利用しているお客様が利用できます。無償商品のみを使用するお客様はご利用になれません。

サポートされる機能 {#supported-features}

以下のプロビジョニング機能が利用できます。

  • Create users
  • Update user properties
  • Deactivate users
  • Import users
  • Create groups with members
  • Update group properties and members
  • Delete groups
  • Import groups

属性マッピング {#property-mapping}

アプリカタログ から LINE WORKS アプリを作成すると、既定の属性マッピングが提供されます。属性マッピングは、SCIM プロビジョニングを構成した後に、プロビジョニング タブで確認できます。

SCIM userName 属性は WORKS の email (アカウント) とマッピングされ、mails[type eq "alias"].value 属性は、WORKS の aliasEmails (サブメールアドレス) とマッピングされます。
このため、この属性は電子メール形式でなければならず、ドメインパートは WORKS に登録したドメインと同一でなければなりません。

既定の Okta ユーザープロファイルに設定された値の中から SCIM userName に使用できる適切な属性を選択するか、式を作成してカスタムの値を使用します。

サインオン タブで選択する アプリケーションユーザー名の​形式 に従って、WORKS アカウントに連動する値を指定します。

  • カスタム (推奨).

    • すべてのケースで利用できます。
    • 式 : toLowerCase(String.substringBefore(user.login, '@')) + "@{domainPart}".
    • Okta の username や email が WORKS のドメイン名と異なる、または電子メール形式ではない場合でも、式を利用して設定できます。例えば、使用中の WORKS ドメインが works.com の場合には、toLowerCase(String.substringBefore(user.login, '@')) + "@works.com" を指定します。
  • Oktaユーザー名

    • Okta の username が電子メール形式で、ドメインパートが WORKS と同じ場合に選択できます。
    • ただし、Okta ユーザープロファイルにおいて、Username (user.login) と Primary email(user.email)、Secondary email (user.secondEmail) には、異なる値を入力するか、マッピングしないこと。
  • メールアドレス

    • Okta ユーザープロファイルの Primary email (user.email) のドメインパートが WORKS と同じ場合に選択できます。
    • ただし、Primary email (user.email) を emails[type eq "alias"].value にマッピングすることはできません。

アプリカタログ の LINE WORKS アプリ が提供する既定の属性マッピングは以下の通りです。
アプリケーションユーザー名の​形式 でカスタムを選択し、式を入力することを想定します。

既定の属性マッピングは、使用する環境にあわせて修正することができます。
アプリケーションユーザー名の​形式 でメールアドレスを選択する場合には、サブメールアドレスはマッピングから削除する必要があります。 WORKS が提供する SCIM 属性情報と制約条件は、属性マッピング を参考にしてください。

Okta PropertyWORKS PropertyDescription
username
(アプリケーションユーザー名の​形式 設定により異なる)
emailWORKS ログインアカウント
(ドメイン部分はWORKSドメインと一致する必要があります。)
user.lastNamelastName姓
(姓と名のいずれか 1 つは必須)
user.givenNamefirstName名
(姓と名のいずれか 1 つは必須)
user.nickNamenickNameニックネーム
user.preferredLanguagelocale多言語コード
user.timezonetimeZoneタイムゾーン
user.emailaliasEmailsサブメールアドレス
(ドメイン部分はWORKSドメインと一致する必要があります。)
user.secondEmailprivateEmail個人メールアドレス
user.primaryPhonetelephone電話番号
user.mobilePhonecellPhone携帯電話番号

設定手順 {#configuration-step}

Step 1. SCIM アプリ作成

  1. Okta Admin で "アプリケーション > アプリカタログを参照" をクリックする。

scim_okta_create_app_1

  1. 検索バーで "LINE WORKS" を検索します。

scim_okta_create_app_2

  1. 統合を追加 ボタンをクリックして Application を追加する。

scim_okta_create_app_3

  1. App の名前を入力し、"完了" をクリックする。

scim_okta_create_app_4

Step 2. SCIM プロビジョニング連携

  1. サインオン タブで アプリケーションユーザー名の​形式 を設定します。この値は WORKS のアカウント (email) として使用され、制限事項に従う必要があります。属性マッピング を参考にして、使用環境にあった適切な値を設定します。

    scim_okta_setting_1

  • アプリケーションユーザー名の​形式 で カスタム を選択し、以下の表を参考に 式 (expression) を入力することをおすすめします。

    アカウントのローカルパートの使用方法例
    Okta Login のローカルパートを使用する場合 (推奨)式: toLowerCase(String.substringBefore(user.login, '@')) + '@{enter your domain}'

    {enter your domain} 部分には、使用中の WORKS のドメインを入力する
    Okta User Profile に設定した Primary email の localpart を使用する場合式: toLowerCase(String.substringBefore(user.email, '@')) + '@{enter your domain}'

    {enter your domain} 部分には、使用中の WORKS のドメインを入力する
    Okta User Profile(Default) の他の属性を使用する場合式: toLowerCase(user.$attribute) + '@{enter your domain}'

    {enter your domain} 部分には、使用中の WORKS のドメインを入力する
    $attribute は、Okta User Profile のプロパティに合わせて変更する
  1. プロビジョニング タブで 設定 > 統合 をクリックして移動します。API統合を構成 をクリックしてAPI統合を有効化 をチェックします。

    scim_okta_setting_2

  2. 長期トークン を参考に、Access Token を取得します。

  3. 再び Okta にアクセスし、API Token に 3. で取得した Token を入力します。API資格情報をテスト をクリックし、正常に連動していることを確認し 保存 をクリックします。

    scim_okta_setting_3

Step 3. SCIM プロビジョニング設定

SCIM プロビジョニング設定は プロビジョニング タブで行います。

  1. アプリへ で、Okta から WORKS へのユーザーのプロビジョニングを行う操作を設定できます。

    scim_okta_provisioning_setting_1

  • プロビジョニングを行う操作を選択します。
  • パスワードの同期はサポートされません。このため、新規ユーザーの​作成時に​パスワードを​設定 を設定しても、機能しません。
  • SSO と共に利用しない場合には、パスワードを登録するために、個人メールアドレス (emails[type eq "other"].value) を設定する必要があります。
  1. アプリへ で、Okta から WORKS へプロビジョニングを行う際の属性マッピングを設定できます。

    scim_okta_provisioning_setting_2

  2. 割り当て タブで、ユーザーのプロビジョニング状態を確認します。

    scim_okta_provisioning_setting_3

Step 4. [Optional] SAML 2.0 SSO(Single Sign-On) 連携

  1. サインオン タブで、連携に必要な情報を取得し、Developer Console の SSO > WORKS as SP で設定します。

    • Okta で サインオンURL の値を取得し、Developer Console の Web Login URL に貼り付けます。
    • Okta で サインアウトURL の値を取得し、Developer Console の Logout URL に貼り付けます。
    • Developer Console で User Key に LINE WORKS Account を選択します。
    • Okta で署名証明書をダウンロードし、拡張子を .cert から .pem に変更した後で、Developer Console の IdP-issued Certificate からアップロードします。 saml_sso_setting_1

    saml_sso_setting_2

  2. サインオン タブで 編集 をクリックし、高度な​サインオン設定 の Domain name に使用中の WORKS ドメインを入力します。

    saml_sso_setting_3