フェデレーション認証に複数のIDプロバイダーを使用する¶
ユーザーが複数のIDプロバイダー(IdPs)で認証できるようにSnowflakeを構成できます。
複数の IdPs を使用するフェデレート環境の実装は、次の手順で構成されます。
識別子優先ログインフローを有効にする (このトピック内)。
IdP ごとに1つずつ、 複数の SAML セキュリティ統合を作成する。
IdPs とユーザーを関連付ける (このトピック内)。
注釈
複数の IdPs を使用する環境を実装するときは、次の点に注意してください。
各 IdP には、対応する SAML セキュリティ統合が必要です。非推奨の SAML_IDENTITY_PROVIDER パラメーターを使用する既存の単一 IdP 環境がある場合は、 SYSTEM$MIGRATE_SAML_IDP_REGISTRATION 関数を使用して SAML セキュリティ統合に移行する必要があります。
現在、複数のIDプロバイダーの使用をサポートしているのは、Snowflakeドライバーのサブセットのみです。これらのドライバーには、 JDBC、 ODBC、Pythonが含まれます。
識別子優先ログインを有効にする¶
アカウントのフェデレーション環境で複数の IdPs が使用されている場合、Snowflakeはユーザーに認証オプションを提示する 前に どの IdPs がユーザーに関連付けられているかを判別できる必要があります。このフローでは、Snowflakeはユーザーにメールアドレスまたはユーザー名のみの入力を要求し、ユーザーを特定した後に認証方法を表示します。認証オプションとして表示されるのは、ユーザーに関連付けられた IdPs だけです。
複数の IdPs を使用する場合は、識別子優先ログインフローを有効にする必要があります。識別子優先ログインを有効にするには、 ENABLE_IDENTIFIER_FIRST_LOGIN パラメーターを TRUE
に設定します。
識別子優先のログインフローの詳細については、 識別子優先ログイン を参照ください。
ユーザーを IdPs と関連付ける¶
複数の IdPs がある環境では、ユーザーと IdP を関連付ける方法を選択できます。IdP に関連付けられたセキュリティ統合の使用、認証ポリシーの使用、または2つの方法を組み合わせて使用することもできます。
- セキュリティ統合:
各 IdP に関連する SAML2 セキュリティ統合の
ALLOWED_USER_DOMAINS
とALLOWED_EMAIL_PATTERNS
プロパティを使用します。この構成では、 IdP が認証オプションとして表示されるのは、EMAIL
がセキュリティ統合のメールアドレスドメインまたはパターンに一致する場合のみです。- 認証ポリシー:
認証ポリシー の
SECURITY_INTEGRATIONS
プロパティを使用して、ユーザーが使用できるセキュリティ統合を指定します。この構成では、認証ポリシーはアカウント全体または個々のユーザーに割り当てられます。ユーザーは、認証ポリシーで指定されているセキュリティ統合に関連付けられた IdPs でのみ認証できます。ユーザーが使用を許可されているIDプロバイダーのみを表示する場合は、複数の認証ポリシーを作成し、適切なポリシーをユーザーに割り当てます。
認証ポリシーを使って複数の IdPs を実装する例については、 アカウントで複数のIDプロバイダーからの認証を許可する をご参照ください。
- 組み合わせ:
セキュリティ統合と認証ポリシーの方法を組み合わせて、複数の IdPs がある環境でのユーザーの認証方法をさらに細かく調整できます。
両方の方法を使用する場合、Snowflakeはまず、ユーザーのログインを管理する認証ポリシーに関連付けられているセキュリティ統合を評価します。Snowflakeがセキュリティ統合を識別すると、ユーザの
EMAIL
はALLOWED_USER_DOMAINS
およびALLOWED_EMAIL_PATTERNS
プロパティに基づいて、いずれかの統合に一致します。Snowflakeは、ユーザーのEMAIL
に一致するセキュリティ統合の IdP オプションのみを表示します。