シングルサインオン

Version 24.3.9106


シングルサインオン


CData Arc は、OpenID 規格によるシングルサインオン(SSO)をサポートします。Azure AD などのOpenID を実装したID プロバイダーを、Arc のSSO プラットフォームとして使用できます。

概要

SSO を有効にするには、アプリケーションの設定ページのSSO タブで一連の設定を構成する必要があります。個々の設定については、以下のSSO の設定で説明します。SSO プロバイダーから設定をインポートすることもできます。

SSO 設定が構成されると、Arc で作成されたユーザーにはフェデレーションId が必要になります。フェデレーションId の値は、Arc のユーザー名をID プロバイダーのエンティティに結び付けます。Arc ユーザーがアプリケーションにログインすると、適切なID の資格情報を入力するためにSSO プラットフォームにリダイレクトされます。

SSO が設定され、Arc ユーザーがID プロバイダーと関連付けるためのフェデレーションId 値を取得したら、SSO ユーザー管理のためのさらなる設定はSSO プラットフォーム自体で実行する必要があります。

Note:現在Arc は個人ユーザーのみサポートしており、ユーザーグループはサポートしていません。SSO プラットフォームがユーザーグループへのアクセスを提供する場合、グループ内の個々のユーザーを設定ページのArc ユーザータブにユーザーとして追加する必要があります。各ユーザーは、ID プロバイダーでフェデレーションId を参照する必要があります(後述)。

SSO の設定

このセクションでは、SSO の各設定と、それらがArc で何を意味しているかについての詳細を説明します。これらの設定の詳細は、ID プロバイダーによって異なる場合があります。Azure ADのガイドが参考として提供されています。

  • オーディエンスURI SSO ログイントークンの意図された受信者。これは、SSO プラットフォームによって生成されたトークンが、Arc での使用を目的としていることを保証します。この値を、SSO プラットフォームでArc を信頼できるアプリケーションとして識別するURI に設定します(例えば、SSO プラットフォームがArc 用に生成した Application Id など)。複数のURI に対応するには、カンマ区切りリストを指定します。
  • Key Claim フェデレーションId として扱うID プロバイダーからの値。言い換えると、ユーザーをID プロバイダーからArc のユーザー名にマッピングする際にフェデレーションID として使用するクレームを指定します。詳しくは、フェデレーションId とKey Claim を参照してください。
  • OAuth クライアントId ID プロバイダーで作成されるOAuth アプリケーションに関連付けられたクライアントId。
  • OAuth クライアントシークレット ID プロバイダーで作成されるOAuth アプリケーションに関連付けられたクライアントシークレット。
  • 発行者証明書 ID プロバイダーがJWT トークンで署名するために使用する証明書の公開部分。これは、要求を受けたID プロバイダーによって生成されたトークンのみが受け入れられることを保証するのに役立ちます。
  • 認可URL ユーザーがID プロバイダーを経由して認可を実行する必要があるURL。SSO ユーザーがArc にログインしようとすると、アプリケーションはユーザーをこのURL にリダイレクトし、そこでSSO プラットフォームの資格情報を入力します。
  • デフォルトスコープ ID プロバイダーに要求するスコープ(アクセス許可のセット)のスペース区切りのリスト。通常、スコープには、ID 検証を要求するために少なくともprofile openid を含める必要があります。
  • トークン発行者識別子 ID プロバイダーがJWT トークンを生成するために使用する識別子。Arc は、トークンがこの識別子を含むことを確認するために検証します。これは、要求を受けたID プロバイダーによって生成されたトークンのみが受け入れられることを保証するのに役立ちます。
  • トークン署名アルゴリズム 署名されたJWT トークンからどの署名アルゴリズムを受け入れるか。署名のないトークンは認められません。
  • トークンURL ID プロバイダーから安全な認証トークンを取得することができるURL。ユーザーが認可URL を経由して認証したら、ID プロバイダーはこのURL にリダイレクトし、ユーザーによって入力された資格情報からトークンを生成します。
  • ログオフURL アプリケーションからログアウトした後のArc ユーザーのリダイレクト先を指定。
  • コールバックURL コールバックURL は(Arc ではなく)ID プロバイダーで設定され、ユーザーがID プロバイダーに対して認証を実行した後に返される場所を示します。詳しくは、コールバックURL を参照してください。

フェデレーションId とKey Claim

Arc ユーザーがID プロバイダーを経由してログインすると、Arc はそのローカルユーザーのフェデレーションId とプロバイダーからのアイデンティティクレームを比較します。Key Claim は、Arc がこの比較に使用するID プロバイダーからの値を指定します。

CData では、Key Claim をoid のようなID プロバイダー内のすべてのユーザーに固有の値に設定することをお勧めします。この場合、フェデレーションId の値は、Arc にアクセスする必要があるID プロバイダーでユーザーに割り当てられたoid 値を見つけることによって取得できます。

設定のインポート

OpenID Discovery URL がある場合は、設定をインポートボタンをクリックしてSSO プロバイダーから設定をインポートすることができます。これにより、発行者証明書トークンURL などの設定の値が提供されます。この機能を使用すると、発行者証明書が定期的に自動更新され、SSO プロバイダーがこれらの証明書をローテーションするときにアプリケーションがユーザーをロックアウトしないようにします。

Azure AD の設定

このセクションでは、Azure AD をID プロバイダーとして利用する場合に、上記の各設定で想定される値について説明します。

  • オーディエンスURI 必要なURI は1つだけで、Azure AD がArc に割り当てるアプリケーションId(クライアントId)です。
  • Key Claim 認証の実行時にフェデレーションId が照合されるフィールド名に設定します。ほとんどの場合、正しい名前はオブジェクトId を表すoid です。まれな状況でのみ、oid 以外の値に設定すべきです。
  • OAuth クライアントId この値は、プラットフォームでOAuth アプリケーションを作成後にAzure AD によって割り当てられます。
  • OAuth クライアントシークレット この値は、プラットフォームでOAuth アプリケーションを作成後にAzure AD によって割り当てられます。
  • 発行者証明書 Azure AD が使用する可能性のある公開証明書は、こちらで確認できます。
  • 認可URL このURL は、Azure のエンドポイントリストにある OAuth 2.0 承認エンドポイント(v2) です。
  • デフォルトスコープ profile および openid のみが必須です。その他のスコープは必要に応じて追加可能です。
  • トークン発行者識別子 この値は、以下で説明するAzure AD メタデータドキュメントを使用して確認します。
  • トークン署名アルゴリズム デフォルト値 RS256 を使用します。
  • トークンURL この値は、以下で説明するAzure AD メタデータドキュメントを使用して確認します。
  • ログオフURL ログオフ後にユーザーが移動するURL に設定します。
  • コールバックURL ID プロバイダーで認証後にユーザーが移動するURL に設定します。

メタデータドキュメント

Azure AD ポータルにはメタデータドキュメントがあり、SSO を設定する際に使用する重要な値がリストされています。このドキュメントは、ポータル内のエンドポイント -> OpenID メタデータドキュメント にあります。

ドキュメントを閲覧して上記のフィールドを参照し、Azure AD の設定にセットアップに適切な値が含まれていることを確認してください。

コールバックURL

Azure AD では、ユーザーが認証されたら、ログイントークンがArc にリダイレクトされるようにコールバックURL を設定する必要があります。Arc のコールバックURL は次の構造になります。

[base_arc_url]/src/ssoCallback.rst

例えば、Arc がポート8001 で mydomain.com にホストされている場合は、以下のリダイレクトURI を使用します: https://mydomain.com:8001/src/ssoCallback.rst

Note:この値は大文字と小文字を区別します。