よくある質問¶
設定前の準備¶
会社でSAMLとOIDCのどちらを使うべきか迷っています。どう選べばよいですか?
まず、ご利用のアイデンティティプロバイダー(IdP)の種類を確認してください。
-
Azure AD、Okta、OneAuth、Keycloakなどの標準的なエンタープライズID管理製品の場合、通常は両方ともサポートされています。設定がより簡単なSAMLを優先的に選択することをお勧めします(メタデータXMLをアップロードするだけです)。
-
自社システムや開発者プラットフォーム(Authing、Auth0など)の場合は、OIDCのみをサポートしている可能性があります。その場合はOIDCを選択してください。
-
不明な場合は、IT管理者に問い合わせてIdPがサポートするプロトコルの種類を確認してください。
IdP側でアプリケーションを作成するために、SPのEntity IDとコールバックURLを事前に求められていますが、Guanceでは先にIdPのメタデータをアップロードする必要があります。どうすればよいですか?
一時的なアドレスを使用して先に設定を行います。
- Entity ID:
https://auth.guance.com/saml/metadata.xml - アサーションURL(ACS URL):
https://auth.guance.com/saml/assertion
IdPに上記の一時アドレスを入力し、メタデータXMLをダウンロードしてからGuanceでIdPを作成します。作成が成功したら、実際のEntity IDとアサーションURLを取得し、IdP側で置き換えてください。
設定中¶
IdPメタデータをアップロードしたところ、Guanceで「解析に失敗しました」または「フォーマットエラー」と表示されます。
以下の点を確認してください。
-
ダウンロードしたファイルがSAMLメタデータXMLであることを確認してください。証明書ファイルや他の形式ではありません。
-
XMLファイルが完全であるか確認してください。IdPからダウンロードしたファイルがブラウザで途中で切れている場合があります。「名前を付けて保存」でダウンロードすることをお勧めします。
-
IdP側でEntity IDとACS URLが正しく設定されていることを確認してください。空の設定のメタデータは重要なフィールドが欠落している可能性があります。
-
自己署名証明書を使用している場合は、証明書が期限切れでないことを確認してください。
OIDC設定で、「IdP URL」には何を入力すればよいですか?
IdPのIssuer URL(サービスディスカバリURL)を入力します。一般的な形式は以下の通りです。
- Keycloak:
https://keycloak.example.com/realms/<realm-name> - Authing:
https://<app-id>.authing.cn/oidc - Auth0:
https://<tenant>.auth0.com/ - 自社構築OIDC:
https://auth.example.com
入力後、Guanceは自動的に .well-known/openid-configuration エンドポイントを検出します。「設定を取得できません」と表示される場合は、URLが間違っているか、IdPでディスカバリサービスが有効になっていない可能性があります。その場合は、非標準OIDC設定に切り替えて手動でエンドポイントを入力する必要があります。
OIDCのマッピング設定で、「ユーザー名」フィールドには何を入力すればよいですか?
これはIdPが返すユーザー情報のフィールド名に依存します。一般的な対応関係は以下の通りです。
| IdPの種類 | ユーザー名フィールド | メールフィールド | 電話番号フィールド |
|---|---|---|---|
| Keycloak | preferred_username |
email |
phone_number |
| Authing | name または username |
email |
phone |
| Auth0 | name |
email |
phone_number |
| 自社システム | 実際の返却値に応じて入力 | email |
実際の返却値に応じて入力 |
不明な場合は、IdPでユーザー情報をテスト取得し、返却されるJSONのフィールド名を確認してください。
ロールマッピングを設定する際、「属性フィールド」と「属性値」はどのように入力すればよいですか?
これはIdPがユーザー認証時に返す属性に依存します。例えば、
シナリオ:部署ごとにロールを割り当てる
- IdPが返すユーザー属性:
{"department": "技術部", "role": "admin"} - Guanceの設定:
- 属性フィールド:
department - 属性値:
技術部 - 割り当てるロール: 標準メンバー
- 属性フィールド:
シナリオ:ユーザーグループごとにロールを割り当てる
- IdPが返すユーザー属性:
{"groups": ["admin", "developer"]} - Guanceの設定:
- 属性フィールド:
groups - 属性値:
admin(複数の値はカンマ区切りで指定可能。例:admin,developer) - 割り当てるロール: 管理者
- 属性フィールド:
属性フィールド名はIdPが返すものと完全に一致している必要があります(大文字小文字を区別します)。
ログインに関する問題¶
IdPのログインページには正常にリダイレクトされますが、ログイン後にGuanceに戻ると「ユーザー情報を取得できません」(OIDC)と表示されます。
以下の点を確認してください。
-
マッピングフィールドの誤り: 「メール」マッピングフィールドがIdPが実際に返すフィールド名と一致しているか確認してください(よくある間違いは
mailと入力しているが、IdPはemailを返す場合)。 -
Scopeの欠落: 認証リクエストのScopeに
emailが含まれており、IdPがメール情報の返却に同意していることを確認してください。 -
ユーザー情報エンドポイントの誤り: 非標準OIDCの場合、設定ファイル内の
userinfo_endpointが正しいか確認してください。 -
トークン解析の失敗: IdPが使用する署名アルゴリズムが
HS256であることを確認してください。Guanceは現在RS256をサポートしていません。
SAMLログインは成功しましたが、ユーザーのロールが正しくありません。
ロールマッピング設定を確認してください。
-
ロールマッピング機能が有効になっていることを確認してください(スイッチの状態)。
-
IdPでユーザーの属性が正しく返されているか確認してください(ブラウザの開発者ツールでSAMLアサーションを確認するか、SAMLデバッグツールを使用してください)。
-
「属性フィールド」と「属性値」がアサーション内のものと完全に一致しているか確認してください。
-
ユーザーが複数のルールに一致する場合、期待通りに最も高い権限のロールが割り当てられているか確認してください。
SSOログイン後、ユーザーは複数のワークスペースを表示できますが、切り替え時に「権限がありません」と表示されます。
これは以下の理由によるものです。
- ユーザーがIdP Aを介してワークスペース1にログインしました。
- ワークスペース2も同じIdP Aを設定していますが、ロールマッピングルールが異なります。
- ユーザーがワークスペース2に切り替えると、Guanceがロールマッピングを再検証し、ユーザーがワークスペース2のルールに一致しないことが判明します。
この場合、同じIdPのロールマッピングルールをすべてのワークスペースで統一するか、クロススペースユーザー向けに共通のマッピングルール(統一されたユーザーグループ識別子など)を設定する必要があります。
ユーザー管理¶
従業員が退職した場合、SSOによるGuanceへのログインを完全に禁止するにはどうすればよいですか?
2つの場所で同時に削除する必要があります。
- IdP側: 該当従業員のアカウントを削除または無効化し、企業認証を通過できないようにします。
- Guance側: 管理 > メンバー管理 > SSO管理 に進み、SSOメンバー数をクリックし、該当ユーザーを見つけて削除します。
Guance側のみ削除した場合、従業員はSSOでログインできてしまいます(アカウントが自動的に再作成されます)。IdP側のみ削除した場合、従業員はGuanceのログイン状態がセッションの期限が切れるまで保持される可能性があります。
SSOユーザーがGuanceに表示されるユーザー名を変更するにはどうすればよいですか?
SSOユーザーのユーザー名はIdPが返すマッピングフィールドによって決まるため、Guance側で直接変更することはできません。変更するには、以下の手順を実行します。
- IdPでユーザーの対応する属性(
preferred_usernameやnameなど)を変更します。 - ユーザーがGuanceに再ログインすると、自動的に更新が反映されます。
Guanceに異なる名前を表示したい場合は、IdP管理者に連絡して属性マッピングを調整するか、Guanceでロールマッピングを有効にする際に、表示名に影響を与えないフィールド(ユーザーグループなど)を権限制御に使用することを検討してください。
一部の従業員はSSOでログインさせ、別の従業員は通常のアカウントとパスワードでログインさせることはできますか?
可能です。Guanceはハイブリッドログインモードをサポートしています。
- SSO管理でIdPとドメイン制限を設定します。
- SSOドメインに一致しないユーザーは、Guanceのアカウントとパスワードまたは電話番号と確認コードでログインできます。
- SSOドメインに一致するユーザーはIdPのログインページに誘導されます。
同じメールアドレスで両方の方法を同時に使用することはできないことに注意してください。メールアドレスがすでにSSOにバインドされている場合、そのメールアドレスでGuanceのローカルアカウントを登録することはできません。
複数IdPとクロススペース¶
会社が別の会社を買収し、2つの異なるAzure ADがあります。これらを同じGuanceワークスペースに設定できますか?
可能です。Guanceの単一ワークスペースは最大10個のIdPをサポートしています。設定方法は以下の通りです。
- 2つのAzure ADをそれぞれ独立したIdPとして追加します。
- それぞれのメールドメイン(例:
@company-a.comと@company-b.com)を設定します。 - それぞれのIdPにロールマッピングルールを設定します(ルールは異なっていても構いません)。
ユーザーがログインする際、Guanceはメールドメインに基づいて対応するIdPを自動的に選択します。
「一度のログインで複数のワークスペースにアクセスできる」真のシングルサインオンを実現できますか?
可能ですが、以下の条件を満たす必要があります。
- 複数のワークスペースが同じIdP(または信頼された複数のIdP)を設定していること。
- IdPでのユーザーのセッションが有効(期限切れでない)であること。
- ユーザーが各ワークスペースで有効なロールを持っていること(ロールマッピングまたはデフォルトロール割り当てによる)。
条件を満たせば、ユーザーはいずれかのワークスペースにログインし、セッションの有効期間内に上部のワークスペース切り替え機能を使用して他のワークスペースに直接移動でき、パスワードを再入力する必要はありません。
セキュリティとコンプライアンス¶
SSOユーザーのログイン動作を監査するにはどうすればよいですか?
Guanceは以下の監査機能を提供します。
- SSOメンバーリスト: 各IdPを介してログインしたメンバーの一覧と最終ログイン日時を確認できます。
- 操作監査: 管理 > 監査イベント でユーザーの操作記録(ログイン、ログアウト、重要な操作を含む)を確認できます。
- 通知メカニズム: SSO設定が変更された場合、OwnerとAdministratorにメール通知が送信されます。