カスタマーエッジをセットアップする

このドキュメントでは、カスタマーエッジネットワークをセットアップする方法について説明します。さまざまなエッジネットワーク構成の解説は、このドキュメントの範囲外です。詳細については、「カスタムドメイン」を参照してください。

顧客のエッジドメインは、登録済みのカスタムドメインと一致しなければなりません。mTLSエンドポイントのエイリアスが有効な場合、カスタマーエッジはmTLSエイリアスが使用するサブドメインでも要求を受け付けなければなりません。mTLSサブドメインで受け取ったすべての要求には、クライアントTLS証明書を要求し、証明書の使用が登録されていることを検証する必要があります詳細については、「クライアント証明書を検証する」を参照してください。

TLSハンドシェイクは、要求されたパスをエッジインフラストラクチャが決定できる前に発生します。TLSセッションが確立されると、顧客はパスを検査して、以下のエンドポイントに対する要求のみを転送することができます。

  • /oauth/token

  • /oauth/par

  • /userinfo

インストールがFAPI準拠を目的としている場合には、TLSに関する追加の要件がエッジネットワークに適用されます。詳細については、FAPI1 BaselineFAPI1 AdvancedおよびFAPI2 Baselineの仕様を参照してください。

クライアント証明書を検証する

カスタマーエッジネットワークは、予期されているタイプの証明書に適切な検証を行います。セキュリティ関連のよくある問題や危険を回避するために、可能であれば、十分に検査されている証明書検証ライブラリーを使用してください。クライアント証明書が検証に失敗した場合の動作はインストールによってさまざまであり、その説明はこのドキュメントの範囲外です。

CA署名証明書

証明機関が証明書に署名すると、ルート証明書も含めて、信頼チェーンを確認する必要があります。証明書が登録済みで、取り消されていないことを確認するために、証明書を許可リストや拒否リストに照らし合わせて比較することもあります。証明書を署名するのに、公的証明機関(LetsEncryptなど)を使用してはいけません。クライアントになりすまされる危険があります。

自己署名証明書

自己署名証明書には信頼チェーンによる裏付けがないため、証明書チェーンを確認できません。その場合には、証明書サムプリントを登録済み証明書のデータベースに照らし合わせて確認するか、直接Auth0に転送して確認します。

要求を転送する

証明書が検証されたら、いくつかの特殊ヘッダーを含む要求が、顧客からカスタムドメインのAuth0エッジネットワークの転送先にある同じエンドポイントに転送されます。転送される要求には以下のヘッダーが必要です。

  • カスタムドメインのAPIキーをcname-api-keyヘッダーとして含めます。

  • クライアント証明書をclient-certificateヘッダーとして含めます。注意:HTTPヘッダーはテキストでなければならないため、証明書をPEMエンコードされたURLコンポーネントに変換する必要があります。ヘッダー値の上限は4096バイトです。そのため、チェーンにある最初の証明書をAuth0に転送する必要があります。

  • クライアント証明書のCA検証ステータスをclient-certificate-ca-verifiedヘッダーとして含めます。client-certificate-ca-verifiedヘッダーには、以下の値を含めることができます。

    • SUCCESS:クライアント証明書が有効で、証明機関によって検証済みです。

    • FAILED:提示されたクライアント証明書は有効ですが、証明書の信頼チェーンが証明機関によって検証されていません。つまり、これは自己署名証明書です。任意で、失敗の理由が含まれることもあります。

構成がCA署名証明書のみに対応している場合には、自己署名証明書をAuth0のエッジネットワークに転送する必要はありません。要求を早期に終了させることができます。自己署名証明書での認証がクライアントに構成されている場合には、Auth0はネットワークエッジからclient-certificate-ca-verified:FAILEDヘッダーの送信を期待します。このヘッダーの値によって、Auth0はどのクライアント認証方法が使用され、どのクライアント資格情報に検証の必要があるのかを理解します。

もっと詳しく