Oktaのユーザープロビジョニング機能を使ってcybozu.comにユーザー情報を同期する
概要
Oktaのユーザープロビジョニング機能を使うと、Oktaで管理しているユーザー情報をcybozu.comに同期できます。
この記事では、Oktaのユーザープロビジョニング機能をcybozu.comで利用する方法を説明します。
ユーザープロビジョニング機能でできること
Oktaで管理しているユーザー情報と利用サービスの情報をcybozu.comに同期できます。
たとえば、Oktaにユーザーを追加すると、自動でcybozu.comにユーザーが追加され、kintoneやGaroonなどを利用できます。
プロビジョニング機能は、次の操作に対応しています。
- ユーザーの追加
- ユーザー情報の更新
- ユーザーの使用停止
- ユーザーの利用サービスの編集
同期できるユーザー情報の項目は、以下のとおりです。
- ログイン名
- 表示名
- 姓
- 名
- Emailアドレス
- 使用状態
すでにcybozu.comにユーザーを登録している場合でも、プロビジョニング機能を利用できます。
必要な環境
事前にSAML認証の設定を実施してください。
- Oktaを使ってSAML認証を設定する方法は、 Oktaとcybozu.comをSAML認証するを参照してください。
- SAML認証を利用する場合は、次の注意事項も確認してください。
ユーザープロビジョニング機能を利用するには、次の権限が必要です。
- cybozu.com:cybozu.com共通管理者
- Okta:次のいずれかのAdministrators権限
- 「Organization Administrator」および「Application Administrator」
- 「Super Admin」
制限事項
- 組織、役職、グループ(ロール)は同期できません。
- 同期した後にcybozu.comからユーザーを削除すると、再度同期してもcybozu.comにユーザーは再作成されません。
cybozu.comにユーザーを再作成するには、cybozu.comの設定で「プロビジョニングの反映」を無効にした後もう一度有効にして、同期してください。 - 同期したユーザーのログイン名の変更はできません。
cybozu.comでユーザーを削除した後、Oktaでユーザーを作り直して同期してください。 - その他の制限事項は、 ヘルプサイト を参照してください。
注意事項
- 本番運用しているcybozu.comで設定をする前に、必ず、本番とは別のcybozu.comの環境で事前に検証をしてください。
お試し環境の申し込み方法は、 お試しはできますか?お試し方法を教えてください。 を参照してください。 - cybozu.comに対するアクセスをIPアドレスで制限したい場合には、Oktaでのアクセス制限を検討してください。
OktaのIPアドレスは変更される可能性があり、cybozu.comのIPアドレス許可リストにOktaのIPアドレスを設定することは推奨しません。
設定手順
設定の流れ
Oktaのプロビジョニングを利用するまでの流れは、次のとおりです。
STEP1:cybozu.comの設定
プロビジョニングを有効化し、APIトークンを発行します。
- アプリケーションの追加
- cybozu.comとの接続設定
- 未契約のサービスに関する項目を削除
-
ユーザーの割り当てとプロビジョニングの開始
ユーザー単位、グループ単位で同期できます。
STEP1:cybozu.comの設定
- https://{sample}.cybozu.com/にアクセスします。
サブドメイン名は、お客様の環境によって異なります。
サブドメイン名がわからない場合には、 契約内容を確認する を参照してください。 - cybozu.com共通管理者のアカウントでログインします。
- [cybozu.com共通管理]をクリックします。
- [プロビジョニング]をクリックします。
- [APIトークンの発行]をクリックします。
- [有効期間]と[APIトークンの概要]を入力し、[発行]をクリックします。
- 発行されたAPIトークンとSCIMエンドポイントをメモに控えます。
ダイアログを閉じると、発行された値を確認できなくなります。
- [閉じる]をクリックします。
- [プロビジョニングの反映]を[有効]にします。
STEP2:Oktaの設定
1. アプリケーションの追加
- https://{サブドメイン名}.okta.com/にアクセスします。
- 管理者権限のユーザーでログインします。
- サイドメニューの[Applications]をクリックし、[Applications]を選択します。
- [Browse App Catalog]をクリックします。
- 検索ボックスで「cybozu」を検索し、[Cybozu(cybozu.com)]を選択します。
- [Add]をクリックします。
- [Domain Name]に同期するcybozu.comのサブドメイン名を入力します。
cybozu.comのURLがhttps://example.cybozu.com/の場合は「example」と入力してください。
- [Done]をクリックします。
2. cybozu.comとの接続設定
-
[Provisioning]を選択します。
-
[Configure API Integration]をクリックします。
-
必要な情報を入力します。
- Enable API integration:チェックを入れる。
- API Token:STEP1で発行したAPIトークンを入力する。
-
[Test API Credentials]をクリックして、テスト接続します。
エラーメッセージが表示されテスト接続に失敗する場合には、 トラブルシューティングを参照してください。
以下は、エラーメッセージの例です。1
Error authenticating: Forbidden. Errors reported by remote server: Invalid JSON: Unexpected character
-
successfully! と表示されたら、[Save]をクリックします。
-
[Provisioning to App]の[Edit]をクリックします。
-
次の項目の[Enable]をチェックします。
- Create Users
- Update User Attributes
- Deactivate Users
-
[Save]をクリックします。
3. 未契約のサービスに関する項目を削除
契約していない、cybozu.comのサービスに関する項目を削除します。
契約しているサービスに関する項目を削除してしまった場合には、設定を中断し、
プロビジョニングの停止および
プロビジョニングを再開を実施してください。
- [Cybozu(cybozu.com)Attribute Mappings]の[Go to Profile Editor]をクリックします。
- [Attributes]に表示されるサービスのうち、契約していないサービスをすべて削除します。
- 削除対象のサービス名の横にある「×」をクリックします。
- 確認画面が表示されたら、[Delete Attribute]をクリックします。
- 削除対象のサービス名の横にある「×」をクリックします。
4. ユーザーの割り当てとプロビジョニングの開始
ユーザー単位で同期する場合
- [Assignments]を選択します。
- [Assign]をクリックし、[Assign to People]を選択します。
- 同期対象のユーザーの横にある[Assign]をクリックします。
- cybozu.comのログイン名を入力します。
ログイン名の初期値には、 ログイン名の初期値の設定で設定した値が設定されます。
あとからログイン名の変更はできません。
ログイン名を変更したい場合には、Oktaでユーザーを再作成して同期し直す必要があります。 - ユーザーが利用するサービスを設定します。
利用を許可するサービスには[Enable]を選択します。
- [Save and Go Back]をクリックします。
- 同期する対象のユーザーをすべて設定し終えたら、[Done]をクリックします。
グループ単位で設定する場合
グループに所属するユーザーのログイン名には、
ログイン名の初期値の設定で設定した値が設定されます。
あとからログイン名の変更はできません。
- [Assignments]を選択します。
- [Assign]をクリックし、[Assign to Group]を選択します。
- 同期対象のグループの横にある[Assign]をクリックします。
- 選択したグループに所属するユーザーが利用するサービスを設定します。
利用を許可するサービスには[Enable]を選択します。
- [Save and Go Back]をクリックします。
- 同期する対象のグループをすべて設定し終えたら、[Done]をクリックします。
その他の設定
ログイン名の初期値の設定
-
[Sign On]を選択します。
-
[Settings]の[Edit]をクリックします。
-
[Application username format]に初期値とする項目を設定します。設定できる項目は次のとおりです。
- Custom:Oktaの任意のユーザー情報
- Email:メールアドレス
- Email Prefix:接頭辞付きのメールアドレス
- Okta username:Oktaのユーザー名
- Okta username prefix:接頭辞付きのOktaのユーザー名
- (None):初期値を設定しない場合に選択します。
Noneを選択すると、グループ単位で割り当てした場合に、ログイン名を設定できないために同期が失敗します。
グループで割り当てたあとに、一人ずつログイン名を入力する必要があります。
-
[Save]をクリックします。
プロビジョニングの停止
プロビジョニングを停止するには、次の手順で操作します。
- [Provisioning]を選択し、[Integration]をクリックします。
- [Edit]をクリックします。
- [Enable API Integration]の選択を外します。
- [Save]をクリックします。
プロビジョニングの再開
- 停止中に変更した内容をcybozu.comに反映するには、 Force Syncを実行してください。
- 停止中に契約するサービスを変更した場合には、未契約のサービスに関する項目を削除してください。
手順の詳細は、 未契約のサービスに関する項目を削除を参照してください。
プロビジョニングを再開するには、次の手順で操作します。
-
[Provisioning]を選択し、[Integration]をクリックします。
-
[Edit]をクリックします。
-
[Enable API Integration]を選択します。
-
[Save]をクリックします。
-
[To App]を選択します。
-
[Provisioning to App]の[Edit]をクリックします。
-
次の項目で[Enable]を選択します。
- Create Users
- Update User Attributes
- Deactivate Users
-
[Save]をクリックします。
Force Syncの実行
停止中に変更した内容を、プロビジョニングの再開後、cybozu.comに反映する手順は次のとおりです。
- [Provisioning]をクリックします。
- [Cybozu(cybozu.com)Attribute Mappings]の[Force Sync]をクリックします。
cybozu.comのユーザーを使用停止、または再開する
cybozu.comのユーザーを使用停止にするには、次の手順でユーザーの割り当てを削除するか、Oktaのユーザーを停止状態にします。
ここでは、ユーザーの割り当てを削除する手順を説明します。
ユーザー単位で設定する場合
- [Assignments]を選択します。
- [People]を選択します。
- 停止対象のユーザーの横にある「×」をクリックします。
- 確認画面が表示されたら、[OK]をクリックします。
ユーザーの利用を再開するには、もう一度同期する対象のユーザーを割り当ててください。
グループ単位で設定する場合
- [Assignments]を選択します。
- [Groups]を選択します。
- 停止対象のグループの横にある「×」をクリックします。
- 確認画面が表示されたら、[OK]をクリックします。
グループに所属するユーザーの利用を再開するには、もう一度同期する対象のグループを割り当ててください。
トラブルシューティング
Error authenticating: Forbidden. Errors reported by remote server: Invalid JSON: Unexpected characterが表示される場合
原因の可能性として、cybozu.comのIPアドレス制限が考えられます。
cybozu.comに対するアクセスをIPアドレスで制限したい場合には、Oktaでのアクセス制限を検討してください。
OktaのIPアドレスは変更される可能性があり、cybozu.comのIPアドレス許可リストにOktaのIPアドレスを設定することは推奨しません。
このTipsは、2022年8月版cybozu.comで動作を確認しています。