SSO のトラブルシューティング公開プレビュー
SSO の設定時に発生する可能性のある一般的なエラーの解決方法についてご紹介します。
アカウントで SSO を設定する際は、SSO の設定を保存する前にテストすると、SSO 設定の誤りやユーザーのロックアウトを防ぐことができます。テストウィザードでエラーが検出された場合は、このガイドを使用してエラーを理解し、解決してください。
エラー | 説明 | 解決策 |
---|---|---|
SAML リクエストの有効期限が切れています | SAML リクエストに、無効になったタイムスタンプが含まれていました。通常は、ユーザーが最近認証されたことを確認するために、SAML リクエストに時間制限が設けられています。 | 再度サインインを試みて、ID プロバイダーから新しい SAML アサーションを生成します。 |
SAML レスポンスが無効です | ID プロバイダー (IdP) から受信した SAML レスポンスが想定される形式に従っていないか、正しくない情報が含まれています。 | SAML Tracer (Chrome 用) などのツールを使用して、SAML レスポンスを確認します。 |
カード発行会社 ID が無効です | SAML レスポンスのカード発行会社 ID (エンティティ ID とも呼ばれる) が、 Stripe で設定されているカード発行会社 ID と一致しません。 | ご利用中の ID プロバイダーにログインして、連携設定に移動します。 Stripe アプリのカード発行会社 ID と、Stripe で設定したカード発行会社 ID が一致していることを確認します。 |
ID プロバイダーの URL が無効です | ユーザーを ID プロバイダーのログイン画面にリダイレクトするために Stripe で設定されている ID プロバイダーの URLが正しくないか、到達できません。 | ご利用中の ID プロバイダーにログインして、連携設定に移動します。 Stripe アプリの ID プロバイダーの URL と、Stripe の設定が一致していることを確認します。 |
ID プロバイダーの証明書が無効です | ID プロバイダーによって提供された証明書が無効であるか、信頼できません。 | 正しい ID プロバイダーの証明書を使用していることを確認します。多くの場合、最新の証明書は、ID プロバイダーのダッシュボードのセキュリティー設定にあります。証明書が変更された場合は、新しい証明書をダウンロードして、SSO 設定の既存の証明書を置き換えてください。 |
ユーザーが確認済みのドメインに属していません | 認証を行おうとしているユーザーは、許可されたドメインに属していません。 | ユーザーのメールアドレスに関連付けられたドメインを確認します。ユーザーにアクセス権を付与する必要がある場合は、ID プロバイダーでユーザーのアカウント設定を確認します。ユーザーのメールアドレスが、SSO に使用できるドメインと一致していることを確認します。変更する必要がある場合は、ID プロバイダーでユーザーのアカウントを更新します。 |
ユーザーの役割が見つかりませんでした | SAML レスポンスで、ユーザーの役割が見つかりませんでした。 | ユーザーの役割のアサーションを送信するように ID プロバイダーが設定されていることを確認します。ID プロバイダーでユーザーに関連付けられた役割を見直し、適切に割り当てられていることを確認します。使用可能な役割のリストとその設定方法については、役割に関するドキュメント をご覧ください。 |
iD プロバイダーから役割の割り当てが無効です | SAML レスポンスの役割のアサーションが見つからないか、無効です。 | 必要な役割のアサーションを送信するように ID プロバイダーが設定されていることを確認します。 ID プロバイダーの設定と役割のマッピングを見直します。役割のアサーションが不足している場合は、ID プロバイダーのドキュメントや ID プロバイダーのサポートで、適切な設定方法を確認してください。詳細な手順については、Stripe の 役割アサーションガイドをご覧ください。 |
その他の一般的なエラー
次の例は、発生する可能性のあるその他のエラーメッセージと、考えられる解決策です。
アプリのエラーを設定する
アプリケーションを設定するときに、認証の問題を示すエラーメッセージが表示される場合があります。
{"error":{"message":"Required field","param":"RelayState"}}
これは、サービスプロバイダー主導の認証をサポートしていない ID プロバイダーからの認証を開始していることを示している可能性があります。ID プロバイダーがサービスプロバイダー主導の認証もサポートしている場合、ID プロバイダー主導の認証のみがサポートされます。この問題は、ID プロバイダーが認証リクエストからアサーションで RelayState
パラメーターを正しく渡していない場合にも発生する可能性があります。
Stripe へのサインインエラー
Stripe にサインインすると、次のエラーメッセージが表示される場合があります。
SAML. Error: Invalid signature type
このエラーは、SAML レスポンスが正しいアルゴリズムで署名されていないことを示します。署名アルゴリズムは RSA-SHA256
、ダイジェストアルゴリズムは SHA256
である必要があります。SHA-256
は業界標準のハッシュアルゴリズムであるため、Stripe はセキュリティ上の理由からこれらの標準を適用しています。以前の標準である SHA-1
は安全とは見なされなくなりました。SHA-256
を使用するようにシステムを設定するためのガイダンスについては、ID プロバイダーのドキュメントを参照してください。
UI ログインエラー
設定後に UI を使用して SSO でログインできない場合は、ドメインが検証されていないことを示している可能性があります。ユーザー認証ページで、メールアドレスに使用しているものと同じドメインが検証されていることを確認してください。
ID プロバイダーの設定が異なる複数のアカウントで同じドメインを検証した場合、Stripe はどの ID プロバイダーを使用するべきか判断できません。これを解決するには、検証済みのドメインで次の URL を使用し、SSO でアカウントに直接サインインします。この URL には、認証用のドメインとアカウントが含まれています。URL の末尾にあるアカウントトークンを変更すると、別のアカウントに対して認証できます。
https://dashboard.stripe.com/login/saml_direct/domain/{{YOUR_DOMAIN}}/merchant/{{STRIPE_ACCOUNT_ID}}
SSO で管理されていない別のアカウントがあり、そのアカウントのメールアドレスが検証済みでない場合は、そのメールアドレスを確認してからもう一度お試しください。
役割不足エラー
SSO を設定してからサインインしようとしたときに、役割が必要であることを示すエラーが発生した場合は、ID プロバイダーからの SAML アサーションでユーザーの役割を受け取っていないことを表します。Stripe に送信するアサーションに次の属性が含まれていることを確認してください。
<saml2:AttributeStatement> <saml2:Attribute Name="Stripe-Role-" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic"> <saml2:AttributeValue>role_id </saml2:AttributeValue> </saml2:Attribute> </saml2:AttributeStatement>
アサーションにこの属性がすでに含まれている場合は、有効な role_
を送信していることを確認してください。
CSRF トークンエラー
CSRF トークンエラーが発生した場合は、ID プロバイダーで URL が正しく設定されていることを確認してください。ドキュメントに示されているように、SSO URL と オーディエンス URI またはエンティティ ID に細心の注意を払い、ID プロバイダーの設定で正確に入力されていることを確認してください。
ダッシュボードから締め出される
Stripe ダッシュボードから締め出されているチームメンバーが 1 人だけの場合、たいていは ID プロバイダー内の設定が正しくないことを示しています。通常、問題の原因は、SAML 認証リクエストに、チームメンバーがアクセスする必要のある各 Stripe アカウントの役割が含まれていないことです。チームメンバーは、ID プロバイダーの管理者に問い合わせて、設定が正しいことを確認する必要があります。
すべてのチームメンバーが Stripe ダッシュボードから締め出されている場合は、SSO 設定が正しくないか、ID プロバイダーの問題 (サービス停止など) が原因である可能性があります。その場合は、アカウント代表者が Stripe サポートに連絡する必要があります。本人確認後、アカウントの SSO 設定を Required
から Optional
に変更し、ID プロバイダーの管理者がサインインして設定を修正できるようにします。
SSO の制限事項
Stripe は以下の SSO 機能をサポートしていません。
- SAML でのユーザーの削除: SAML の制限により、IdP でユーザーのアクセス権が取り消されても、Stripe に通知は届きません。現在のセッションの有効期限が切れた後にユーザーが SSO を使用して再度ログインしようとすると、Stripe は自動的にアクセス権を取り消します。すぐにアクセス権を取り消すには、チーム設定でユーザーを削除してください。
- System for Cross-domain Identity Management (SCIM): SCIM は、IdP がユーザー ID のライフサイクルプロセス (アクセスのプロビジョニングとデプロビジョニング、ユーザー詳細の入力など) と Stripe などのサービスプロバイダーとの同期に使用するプロトコルです。
チームメンバーが ID プロバイダーに追加されると、Stripe はそのチームメンバーのジャストインタイム作成を処理します。つまり、チームメンバーが SSO を使用して Stripe ダッシュボードにサインインし、既存の Stripe アカウントを持っていない場合は、そのメンバー用のアカウントが作成されます。チームメンバーのダッシュボードの役割を変更すると、次回のサインイン時に Stripe によってその役割が更新されます。
- モバイルアプリによる認証: Stripe のモバイルアプリによる SSO はサポートされていません。
- SSO セッションの長さを設定する: SSO セッションの長さは 12 時間に設定されており、変更できません。
- ネイティブ IdP 主導のログイン: ID プロバイダー主導のログインを機能させるために必要な、サービスプロバイダーを介した認証をサポートします。SAML プロトコルのセキュリティ上の懸念があるため、ネイティブ IdP 主導のログインはサポートされていません。
たとえば、中間者攻撃は SAML アサーションを傍受し、後でそれをリプレイしてアカウントに不正アクセスする可能性があります。チームメンバーが IdP を使用してサインインしようとすると、Stripe はリクエストをサービスプロバイダー主導のログインとして扱い、チームメンバーを想定どおりに認証します。
SSO でサポートされている機能
Stripe は以下の SSO 機能をサポートしています。
チームメンバーに別の役割を付与する: サインイン時に、ID プロバイダーは AttributeStatement で正しいチームメンバーの役割を送信する必要があります。実際の例については、Okta の 動的なチームメンバーの役割をグループにマッピングするを参照してください。
1 つの SAML アサーションを使用して複数のアカウントにサインインする: アクセスを設定するすべてのアカウント ID が含まれている複数の役割属性を持つアサーションを ID プロバイダーから Stripe に送信します。以下に例を挙げます。
<saml2:AttributeStatement> <saml2:Attribute Name="Stripe-Role-STRIPE-ACCOUNT-ID1" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic"> <saml2:AttributeValue>role_id </saml2:AttributeValue> </saml2:Attribute> <saml2:Attribute Name="Stripe-Role-STRIPE-ACCOUNT-ID2" NameFormat="urn:oasis:names:tc:SAML:2.0:attrname-format:basic"> <saml2:AttributeValue>role_id </saml2:AttributeValue> </saml2:Attribute> </saml2:AttributeStatement>
SSO を無効にする: ユーザー認証ページからアカウントの実行モードをオフに設定することで、SSO を無効にすることができます。そうすることで、SAML を使用した場合にのみチームにアクセス可能なユーザーから、アクセス権が取り消されます。これには、パスワードが設定されていないユーザーも含まれます。
別の IdP に移行する: 別の IdP へ移行するには、ユーザー認証ページから SSO 設定を更新します。SSO 設定を更新する際は、まずアカウントの実行モードをオプションに設定します。
そうすることで、問題が発生した場合でも、メールアドレスとパスワードを使用して Stripe ダッシュボードにサインインできます。テストアカウントをお持ちの場合は、まずテストアカウントの SSO 設定を更新し、新しい設定を検証してから、他のアカウントを更新してください。