コンテンツにスキップ

OIDC


ここでは、Guance ワークスペースで OIDC/OAuth 2.0 プロトコルに基づくシングルサインオン(SSO)を設定する方法について説明します。

Guance は、以下の 2 種類の OIDC 設定方法をサポートしています。

標準 OIDC 設定:OpenID Connect 標準に準拠した IdP に適用します。

非標準 OIDC 設定:OAuth 2.0 ベースだが、インターフェース仕様が標準と異なる IdP に適用します。

事前準備

設定を開始する前に、以下を準備してください。

準備項目 説明
IdP 管理者権限 企業 IdP(Keycloak、Authing、Auth0、自社構築の OIDC サービスなど)でアプリケーションを作成する必要があります。
クライアント認証情報 IdP から取得する Client ID と Client Secret
サービスディスカバリ URL IdP の Issuer URL(例:https://****.example.com
企業メールドメイン SSO ユーザーを識別するためのメールアドレスのドメイン(例:example.com

標準 OIDC 設定

ステップ 1:設定ページへ移動

  1. 管理 > メンバー管理 > SSO 管理 > ユーザー SSO に移動します。
  2. OIDC アクセスタイプを選択します。
  3. IdP を追加 をクリックします。

ステップ 2:接続設定

  1. IdP 名:IdP プラットフォームの名前(❗️この名前は IdP エイリアスとして、SSO ログイン時の IdP 選択画面に表示されます。必要な IdP を素早く特定できるよう、適切な名前を設定してください)。
  2. 備考:ユーザーが任意で追加できる説明情報です。IdP に関する補足事項を記録するために使用します。
  3. IdP URL:IdP の完全な URL であり、サービスディスカバリ URL でもあります。例:https://guance.example.com
  4. クライアント ID:認証サービスによって提供される一意の識別子で、クライアントアプリケーションを識別するために使用します。
  5. クライアントシークレット:クライアント ID と組み合わせて使用し、クライアントアプリケーションを認証するために使用します。
  6. 認可リクエスト Scope:認可リクエストのスコープです。デフォルトでは openidprofileemail が含まれます。必要に応じて addressphone クレームを追加できます。

ステップ 3:マッピング設定

SSO ログインを実現するには、IdP のアカウント情報と Guance アカウント情報のフィールドマッピングを設定する必要があります。主なフィールドは以下の通りです。

  1. ユーザー名:必須。IdP の「ユーザー名」フィールド(例:referred_username)。
  2. メール:必須。IdP の「メール」フィールド(例:email)。
  3. 電話番号:任意。IdP の「電話番号」フィールド(例:phone)。

ステップ 4:ログイン制御

  1. アクセス制限:ログイン時のメールドメインが設定したドメインと一致するか検証します。一致するメールアドレスのみが SSO ログインリンクにアクセスできます。初回ログイン時に Guance メンバーアカウントを動的に作成できるため、事前にワークスペース内でアカウントを作成する必要はありません。
  2. ロール割り当て:初回ログインの SSO アカウントにロールを割り当てます。2 回目以降のログインアカウントには影響しません。
    • ワークスペース内で SAML マッピング が有効な場合、マッピングルールが優先的に適用されます。
  3. セッション保持:SSO ログインセッションの無操作保持時間と最大保持時間を設定します。

セッション保持設定

設定項目 範囲 デフォルト値 説明
無操作ログインセッション保持 180~1440 分 180 分 ユーザーが無操作状態になった後に自動的にログアウトされるまでの時間。
ログインセッション最大保持 0~7 日 7 日 操作の有無にかかわらず、この時間を経過すると強制的にログアウトされます。0 を設定するとタイムアウトしません。

セッション保持時間を変更した場合、既存のログインメンバーには従来の設定が維持され、新規ログインメンバーから新しい設定が適用されます。

ロール割り当てとロールマッピングの関係

  • ワークスペースで OIDC ロールマッピング無効な場合:初回ログインの SSO ユーザー全員に、ここで設定したデフォルトロールが割り当てられます。
  • ワークスペースで OIDC ロールマッピング有効な場合:マッピングルールが優先的に適用され、ルールに一致しなかったユーザーには、ここで設定したデフォルトロールが割り当てられます。

ユーザー側の OIDC 設定に関する注意事項

  • 認可タイプ:authorization_code のみサポートします。戻り値のタイプは code である必要があります。
  • id_token 署名アルゴリズム:現在 HS256 のみサポートしています。
  • codetoken と交換する際の認証方式:
    • デフォルトでサポート:client_secret_basic
    • カスタム方式でサポート:client_secret_postclient_secret_basicnone
  • scope 範囲:
    • デフォルト範囲:openidprofileemailphone
    • カスタム要件:openid は必須です。その他はカスタマイズ可能ですが、戻り値には必ず email を含める必要があります。phone_number はオプションです。

ステップ 5:コールバック URL の取得

IdP の作成が完了したら、編集 ボタンをクリックし、以下の URL を取得して IdP に提供します。

  1. コールバック URL:IdP による認可成功後に Guance へリダイレクトするためのアドレスです。
  2. ログイン開始 URL:Guance SSO ログインのエントリアドレスです。

ステップ 6:IdP でのコールバックアドレス設定

ステップ 5 で取得したコールバック URL を使用して、IdP で以下の設定を行います。

  1. コールバックアドレス(Redirect URI):Guance から提供されたコールバック URL を入力します。
  2. 認可タイプ:authorization_code をサポートしていることを確認します。
  3. 戻り値のタイプ:code をサポートしていることを確認します。

非標準 OIDC 設定

OAuth 2.0 ベースだが、標準の OIDC 仕様に準拠していない IdP に適用されます。以下のようなケースが一般的です。

  • IdP が標準の OIDC ディスカバリエンドポイント(.well-known/openid-configuration)を提供していない。
  • ユーザー情報を取得するためのインターフェースパスや戻り値の形式が標準の OIDC と異なる。
  • インターフェースパラメータの大文字小文字のスタイルが標準と一致しない。

設定手順

  1. 管理 > メンバー管理 > SSO 管理 > OIDC > IdP を作成 に移動します。
  2. 右上のボタンをクリックすると、標準の OIDC 設定ページに切り替わります。
  3. 接続設定:
    • IdP 名:カスタム表示名(64 文字以内)
    • 設定ファイルのアップロード:テンプレートをダウンロードし、認可エンドポイント、トークンエンドポイント、ユーザー情報エンドポイント、フィールドマッピングなどの情報を記入してアップロードします。
    • 備考:ユーザーが任意で追加できる説明情報です。IdP に関する補足事項を記録するために使用します。
  4. ログイン設定:設定は標準 OIDC と同じです(アクセス制限、ロール割り当て、セッション保持)。
  5. 保存して有効化します。

ログイン確認

  1. メールアドレスで Guance SSO ページにログインします:https://auth.guance.com/login/sso
  2. SSO 作成時に設定したメールアドレスを入力し、ログインするワークスペースに対応する IdP を選択します。
  3. 認証が成功すると、ワークスペース選択画面に遷移します。
  4. 該当のアドレスにログインします。
  5. ユーザー名、パスワードなどの情報を入力します。
  6. ログインが成功します。

注意事項

  1. ロールマッピングが有効な場合:ユーザーがいずれのロールマッピングルールにも一致しない場合、またはロールマッピングが無効になっている場合、ログイン時に「アクセス権限がありません」と表示されます。
  2. IdP を削除した場合:ユーザーが SSO でログインする際、削除された IdP に対応するワークスペースは表示されなくなります。
  3. 複数 IdP 設定:1 つのワークスペースで最大 10 個の IdP をサポートします。ユーザーのメールドメインがいずれかの IdP と一致すればログインできます。
  4. アカウントバインディング:SSO 初回ログイン時に、メールアドレスが既存の Guance アカウントと一致する場合、自動的にバインディングされ、履歴データは保持されます。
  5. マッピングフィールドエラー:設定したマッピングフィールドが IdP から実際に返されるフィールドと一致しない場合、ユーザー情報を取得できず、ログインに失敗します。

関連情報

以下の内容も併せてご参照ください。

フィードバック

このページは役に立ちましたか?