OpenID ConnectでSSOを有効にする
はじめに
ユーザーは、Domoの内蔵認証システム、またはサポートされているプロバイダのシングルサインオン (SSO) ソリューションを使用して、Domoにサインインできます。DomoはこのようなSSOのソリューションとしてSAML(Security Assertion Markup Language)認証とOIDC(OpenID Connect)の2つを提供しています。この記事ではOIDCについて説明します。SAMLを使用した認証の詳細については、「DomoのシングルサインオンとDomoのシングルサインオンのSAMLを使用した設定について」を参照してください。
SSOを有効にするには、「管理者」のデフォルトのセキュリティロールか、「カンパニー設定を管理」が有効になっているカスタムロールが必要です。デフォルトのロールの詳細については「デフォルトのセキュリティロールリファレンス」を参照してください。カスタムロールの詳細については「カスタムロールを管理する」を参照してください。
ビデオ - OpenID Connect
OpenID Connectについて
企業組織では SAML(Security Assertion Markup Language)が主流のSSOプロトコルですが、多くの企業がOIDCに切り替えています。その理由は次のとおりです。
-
モバイルデバイスで、より効果的に機能する。
-
外部ユーザーや非従業員に最適である。
-
OAuth 2に基づいているため、開発者にとってより扱いやすい。
-
比較的設定しやすく、取得価格が低いため、企業規模を問わずSSOを使えるようになる。
-
Azure Active Directory、Auth0、Google G Suite、Okta、OneLoginなどのアイデンティティシステムでサポートされている業界標準である。
OIDCはAzure ADなど、一部のIdPのネイティブ機能となっています。それ以外の場合は、Okta、Google、Pingなどの統合システムが必要です。
Azure Active Directoryなどのサポート対象のアイデンティティプロバイダを利用すると、SSOを簡単に設定できます。
SAMLとOIDC接続は同時に実行できます。その結果、内外のユーザーを区別しやすくなります。Domoのアクセスに使用するSSOソリューションとDomo Embedに使用するSSOソリューションの分離にも役立ちます。たとえば、Domoでの従業員のアクセス管理にはSAMLを使用し、ほかのウェブサイトやアプリケーションへのカード埋め込みにはOIDCを使用できます。
両方のSSO方式を使用していても、引き続きDSO(直接サインオン)を使用できます。現在、SAMLとOIDCの両方に適用する場合も、[管理者]、[セキュリティ]、[シングルサインオン(SSO)] でDSOを設定する必要があります。DSOの詳細については、「DomoのシングルサインオンとDomoのシングルサインオンのSAMLを使用した設定について」を参照してください。
OIDCを設定するにはDomoで「管理者」セキュリティプロファイルを持っている必要があります。IdPへの管理者アクセスも必要です。
IdPでメタデータのインポート(ほぼすべてのIdPに相当)が許容される場合は、この方法でOIDCメタデータをDomoにインポートできます。その結果、設定が自動的に行われるようになるため、設定が簡単になります。それ以外の場合は、認証リクエストエンドポイントURL、クライアントID、クライアントのシークレットなどを入力する必要があります。
内外のユーザーに対応する
大企業は多くの場合、正社員以外にもDomoへのアクセスを必要とする従業員を抱えています。これらのユーザーについてDSOを使用したサインインを許容することもできますが、ユーザー数が多い場合、この方法では手間がかかります。より良いソリューションは、OIDCを使用して、外部ユーザー専用に2つ目のIdPを導入する方法です。この方法では、コンテンツを正社員以外とも共有できます。認証を経ずにDomoに移動したユーザーは、デフォルトでSAML IdPに送られます。
OpenID Connectを構成する
[管理者設定] で [セキュリティ]、[OpenID Connect(SSO)] の順に移動し、必要な情報を入力して、適宜高度なオプションをオンにして、OpenID Connectを設定し、有効にします。
このインターフェースではデフォルトで、メタデータ入力を使用した設定が想定されています。そのため、必要な入力情報は、お使いのIdPで生成したクライアントIDとクライアントのシークレット、既知(well-known)の設定のURLのみです。既知の設定では、IdPのメタデータがすべて取り込まれます。つまり、トークンエンドポイントURLやパブリックキーなど、ほかの情報は一切入力する必要がありません。ほぼすべてのIdPには既知の設定が対応しています。お使いのIdPに対応する既知の設定が不明の場合も、多くの場合はGoogle検索(Azureに対応する既知の設定を検索する場合は「Azure well-known config」などと入力します)で見つかります。
お使いのIdPに対応する既知の設定がない場合(社内で独自のIdPを作成している場合は通常該当する)は、IdPのメタデータを手動入力する必要があります。具体的操作としては、Domoの [OpenID Connect(SSO)] タブで [メタデータ入力] をクリックしてから、所定のフィールドにIdPの情報を入力します。
お使いのIdPのメタデータを使用してOpenID Connectを設定するには
-
[その他]、[管理者設定]、[セキュリティ]、[OpenID Connect(SSO)] の順に選択します。
-
[既知の設定] フィールドに、お使いのIdPに対応する既知の設定のURLを入力します。
既知の設定の詳細については、このセクションのここまでの部分を参照してください。 -
[クライアントID] フィールドにお使いのアプリのクライアントIDを入力します。
-
[クライアントシークレット] フィールドにお使いのアプリのクライアントシークレットを入力します。
これらの認証情報はいずれも、IdPのアプリを作成するとき生成されます。 -
(条件付き)IdPでDomoからのアサーションのエンドポイントのURLが要求された場合は [OpenID ConnectアサーションエンドポイントURL] の横にあるクリップボードのアイコンをクリックしてから、コピーしたURLをIdP設定の適切な場所にペーストします。
-
(オプション)詳細設定を有効にする場合は、該当するチェックボックスをオンにします。
詳細設定については、次のセクションで説明します。 -
「OIDCを有効にする」と表示されたトグルをオンにします。
-
[設定を保存] をクリックします。
手動設定でOpenID Connectを設定するには、
-
[その他]、[管理者設定]、[セキュリティ]、[OpenID Connect(SSO)] の順に選択します。
-
[手動で入力] をクリックします。
-
すべてのフィールドにIdPで確認した情報を入力します。
-
(条件付き)IdPでDomoからのアサーションのエンドポイントのURLが要求された場合は [OpenID ConnectアサーションエンドポイントURL] の横にあるクリップボードのアイコンをクリックしてから、コピーしたURLをIdP設定の適切な場所にペーストします。
-
(オプション)詳細設定を有効にする場合は、該当するチェックボックスをオンにします。
詳細設定については、次のセクションで説明します。 -
「OIDCを有効にする」と表示されたトグルをオンにします。
-
[設定を保存] をクリックします。
詳細設定
詳細設定は、メタデータ入力での設定と手動での設定の両方で使用できます。設定を保存するまで、これらの設定は適用されない点に注意してください。
利用可能な詳細設定は次のとおりです。
設定 |
説明 |
---|---|
招待された方のみDomoにアクセスを許可 |
Domoでは、IdPを介して訪れたユーザーのマッチングのみ行い、新規作成はしません。 |
ログアウト時にユーザーを次のURLに誘導 |
Domoからログアウトしたユーザーを誘導するURLを指定できます。 |
アイデンティティプロバイダからグループをインポート |
アイデンティティプロバイダのグループを取り込めます。 |
混在モードログイン |
この設定を有効にすると、IdPの認証を受けずにDomoにアクセスするユーザーはユーザー名とパスワードの入力を促され、IdPを介したDomoの認証を通じてアクセスするユーザーは認証情報を入力しなくてもアクセスできます。 |
Domoのサインイン画面を表示/アイデンティティプロバイダにスキップ |
ユーザーにDomoのログイン画面を表示するか、ユーザーをIdPにリダイレクトするかを選択できます。 |