Coupa SAMLに関するよくある質問
Coupa SSO接続に関するよくある質問をご覧ください。
CoupaでSAMLを設定する方法
設定を開始するにはよくある質問を読み、セットアップのステップ1を完了してください。 ステップ2に記載されているCoupaの実装連絡先要件を入力します。 CoupaエンジニアがIdP接続の設定について支援するため、設定は完全なセルフサービスではありません。 Coupa内の管理者は、SAMLを無効にしたり、ログインURL、ログアウトURL、タイムアウトURLを変更したりすることができます。
CoupaはどのSAMLプロトコルをサポートしていますか?
SAML V2.0
SAML V2.0の仕様はどこで確認できますか?
SAML response xmlを検証するにはどうすればよいですか?
http://docs.oasis-open.org/security/saml/v2.0/saml-schema-protocol-2.0.xsdに対してxmlを確認してください
$ xmllint -- noout -- schema saml-schema-protocol-2.0.xsd saml_response.xmlSAMLレスポンスを追跡して表示するにはどうすればよいですか?
Firefoxアドオンsaml - tracerは、HTTPSフローを追跡し、SAML応答をデコードおよび解析します。 https://addons.mozilla.org/en-US/firefox/addon/saml-tracer/
ログインURLとは何ですか?
Setup > Security Control の下のログインURLは、単にHTTP 302リダイレクトです。
IdP-Initiated SSOの場合は、IdPログイン画面のログインURLを入力します。 CoupaアプリケーションはユーザーをIdPホストのログインページにリダイレクトし、ユーザーを認証します。 ユーザーにはCoupaサインインページは表示されません。
SP - Initiated SSOの場合、IdPのEntityIDを知っていれば、URLを構築できます。 sP Initiationを開始するためにリダイレクトします。
テスト/ステージング用
https://sso-stg1.coupahost.com/sp/startSSO.ping?PartnerIdpId = <stage_IdP_entityid>& TARGET = https ://{your-test_site}.coupahost.com/sessions/saml_post
製造用
https://sso-prd1.coupahost.com/sp/startSSO.ping?PartnerIdpId = <prod_IdP_entityid>& TARGET = https ://{your_site}.coupahost.com/sessions/saml_post
CoupaにログアウトURLが必要な理由は何ですか?
ユーザーがCoupaアプリケーションからログアウトすると、Coupaはユーザーセッションをクリアし、セットアップ->セキュリティコントロールで設定されたログアウトURLにユーザーをリダイレクトします。 SLOの実装ではなくリダイレクトです。 ユーザーがIdPからサインアウトする必要はありません。 Coupaアプリケーションの使用完了後、ログアウトURLをユーザーの内部サイトまたはランディングページに設定することができます。
タイムアウトURLとはどんなもので、タイムアウトはSAMLの実装でどのように機能しますか?
Coupaアプリケーションには、システム->セキュリティ制御で設定されたセッション有効期限タイムアウトがあります。 セッションタイムアウト後、CoupaはタイムアウトURL (ログインURLと同じ)にリダイレクトされ、URLに基づいてIdP-initiatedまたはSP-initiatedのSSOが開始されます。 ほとんどの場合、タイムアウトURLはログインURLと同じです。 ユーザーには、Coupaセッションの有効期限とユーザーに設定されたIdPタイムアウトに基づいてログインページが表示されます。
Coupaはどの情報を使用してIdPユーザーを識別しますか?
Coupaは、SAMLレスポンスのNameID値を使用して対応するCoupaユーザーを検索します。 SAMLログインを行うには、ユーザー作成時に「シングルサインオンID」を指定する必要があります。 シングルサインオンIDは、Coupa APIを使用し、ユーザーインターフェイスまたはユーザー連携でユーザーを編集して設定できます。
SAMLをバイパスしてCoupaにアクセスする方法はありますか?
Coupaは、SSO認証プロセスをバイパスする目的でこのサポートインタフェースを提供しています。 URLは https ://{your-site}.coupahost.com/sessions/support_login 通常のユーザーがCoupaで作成されたときにCoupaパスワードが設定されていない可能性があるため、管理者のみを対象としています。 この場合、SSO以外のものでログインすることができなくなります。 必要に応じて、Coupaパスワードを設定したユーザーを作成し、このサポートインタフェイス経由でログインさせることができます。 これは、IdPではないものの、Coupa にアクセスする必要があるユーザーにとって役立ちます。
CoupaにRelayStateが必要になるのはどのような場合ですか?
RelayStateはIdP-initiated SSOでは必須ですが、SP-initiated SSOには必要ありません。 RelayStateは、サービスプロバイダーが顧客のCoupaインスタンスを識別するために必要となります。 RelayStateは、SAMLResponseに沿ってQueryStringまたは別のPOST変数として渡すことができます。
これにより、ACS URLの後に /sp/ACS.saml2?RelayState=https ://<coupa-instance-domain-name>/sessions/saml_postというサフィックスが生成されます。
1つの簡単な方法は、RelayStateをQueryStringとして、ステージまたは本番メタデータxmlで見つけたAssertionConsumerService URLに追加することです。
IdP-initiated SSOとSP-initiated SSOのワークフローについて教えてください。
http://documentation.pingidentity.com/display/PF/IdP-Initiated+SSO--POST
http://documentation.pingidentity.com/display/PF/SP-Initiated+SSO--POST-POST
ステージと本番環境のCoupaインスタンスのSAMLはどのように設定する必要がありますか?
CoupaステージのアサーションエンドポイントURL ( AssertionConsumerService )は https://sso-stg1.coupahost.com/sp/ACS.saml2 、Coupaプロダクションの場合は https://sso-prd1.coupahost.com/sp/ACS.saml2です。 SAMLをステージと本番環境の両方で機能させるには、ステージ用と本番環境用の2つの接続が必要となります。 ステージがなく、本番IdPのみがある場合でも、CoupaステージとCoupa本番環境インスタンスに2つの異なる接続を作成できます。 RelayStateはステージと本番環境の接続で異なります。
SAMLを使用してユーザープロビジョニングを行うことはできますか?
現在のCoupa SAML設定は認証のみを目的としており、Coupa内のユーザープロビジョニングは目的としていません。 承認はCoupaユーザーの役割を介して行われます。 SAMLの役割はユーザーを認証することです。
CoupaはどのIdPシステムと連携されていますか?
SAML 2.0を実装するすべてのIdPシステムです。 ADFS 2.0、PingFederate、Novell Access Manager、Oracle Access Manager、Tivoli Access Manager、Shibbolethなどのオープンソースプロジェクト、カスタムビルドソリューションなどが含まれます。 現時点でCoupaはIdPサンプルコードを提供しておらず、オンラインおよびオープンソースプロジェクトから入手できます。
「無効なInResponseTo属性( Hg 3 Av.............. FG ) -未承諾の応答にはInResponseToを含めることはできません。」というエラーが表示されています。
このエラーが発生する原因として3つの可能性が考えられます。
- IdP側からのSAMLレスポンスが同じAuthnTokenを使用しており、SAMLを再利用する場合。
- 同じSAMLレスポンスを持つ2つのPOSTがあるなど、同じログインページからのSAML POSTが重複している場合。
- ACS URLのRelayStateを使用し、CoupaでSP-Initiationを使用してIdP側でPingFを構成している場合。
1と2は、Firefoxでsaml_tracerプラグインを使用して、または任意のHTTPトラッキングツールを使用して検出できます。 3は、PingFederateを使用するIdP側で有効です。CoupaでSP-Init設定のRelayStateを設定しないでください。