コネクター・エンドポイント・トラフィックの認証
デフォルトでは、すべてのエンドポイント・トラフィックが暗号化されます。 ただし、ソースと宛先の認証を実装するために独自の証明書を提供することもできます。 TLSまたは HTTPS エンドポイントの場合、エンドポイント・リクエスト・フローの中に2つのTLS接続があり、それを設定する必要があるかもしれない。 最初の TLS ハンドシェークは、ソースとコネクター・サービスの間で行われます。 2 番目の TLS ハンドシェークは、コネクター・サービスと宛先サーバーまたはターゲット・サーバーとの間のものです。 これらの接続の一方または両方に証明書を提供することができます。
エンドポイント認証設定を構成しない場合、エンドポイント トラフィックは暗号化されたままですが、コネクタはトランジット サービスとしてのみ機能します。 これは、TCPまたは HTTP プロトコルを使用するエンドポイントにも適用される。 プロトコル TLS または HTTPS を持つエンドポイントでは、Connector を介したトラフィックはデフォルトで単純な認証を使用し、よく知られた組み込み証明書に依存しようとします。
以下の認証オプションを確認する。
- Connector サービスとデスティネーション間の簡単な認証
- 宛先サーバーはコネクタ サービスを使用して自身を認証します。 宛先との簡単な認証を設定するには、エンドポイントの宛先プロトコルが TLS である必要があります。 宛先のサーバー証明書がよく知られた認証局によって署名されていない場合、または自己署名されていない場合は、宛先のサーバー証明書を検証するために、信頼されたCA証明書またはチェーンを設定する必要があります。
- Connectorサービスによる簡単な認証
- コネクタ サーバーはソースに対して自身を認証します。 Connector サービスで単純認証を設定するには、エンドポイントのソースプロトコルを TLS または HTTPS に設定する必要があります。 証明書の構成は、エンドポイントの宛先タイプによって異なります。
- 宛先タイプが「クラウド」のエンドポイントでは、Connector サービスがソースとの認証に使用するサーバ証明書とキーを提供する必要があります。 サーバー証明書がよく知られた署名局によって署名されていない場合は、ソース環境にCAルート証明書もインストールする必要があることに注意してください。
- 宛先タイプが「場所」のエンドポイントの場合、コネクタは独自の証明書を使用するため、コネクタサーバ証明書を構成する必要はありません。DigiCert。 DigiCert証明書は 互換性がある すべての最新のブラウザとプラットフォームで使用できますが、ソースにルートCA証明書がない場合は、ダウンロード 1つからDigiCertソース環境にインストールします。
- Connector サービスとデスティネーション間の相互認証
- 相互認証では、宛先サーバーはコネクタ サービスに対して自身を認証し、コネクタ サービスは宛先に対して自身を認証する必要があります。 Connector サービスと宛先サーバ間の相互認証を設定するには、単純な宛先認証の場合と同じように Connector サービス認証を設定する必要があります。 ただし、Connector サービスが宛先との認証に使用するクライアント証明書とキーも提供する必要があります。
- ソースと Connector サービス間の相互認証
- 相互認証では、コネクタ サービスはソースに対して自身を認証し、ソースはコネクタ サービスに対して自身を認証する必要があります。 ソースと Connector サービス間の相互認証を設定するには、単純なソース認証の場合と同じように Connector サーバ認証を設定する必要があります。 ただし、Connector サービスがソースのクライアント証明書を検証するために使用する CA 証明書を設定する必要もあります。
- ソースとConnectorサービス、およびConnectorとデスティネーションサーバ間の相互認証。
- コネクター・サービスと宛先サーバーの両方に対する要求が認証されます。 トラフィックを許可する前に、2 つの TLS ハンドシェークを検証する必要があります。 このセットアップでは、ソース・プロトコルがTLSまたは HTTPS、デスティネーション・プロトコルがTLSのエンドポイントを作成する。 次に、送信元と宛先の相互認証の両方のケースに必要な証明書を提供する。
エンドポイント認証用に独自の証明書を提供することを選択した場合、お客様は、証明書のローテーションと有効期限の管理を行う必要があります。 証明書の有効期限が切れると、トラフィックが中断される可能性があります。
CLI での認証のセットアップ
source
オプションは、ソースとコネクター・サービスの間の TLS ハンドシェークを参照します。 dest
オプションは、コネクター・サービスと宛先サーバーまたはターゲット・サーバーとの間の TLS ハンドシェークを参照します。 これらの接続の一方または両方に証明書を提供することができます。 指定されていない設定は、デフォルト値に設定されます。
の ibmcloud sat endpoint authn
コマンドは、ソース側ではサーバーとして、宛先側ではクライアントとして機能するコネクタ サービスの証明書を設定するためにのみ使用されます。 また、送信元(クライアント)と送信先(サーバー)の証明書を、それぞれのアプリケーション環境に設定する必要がある場合もある。
以下のシナリオ例を確認してください。
コネクター・サービスと宛先の間の単純認証
-
HTTPS サーバーへの HTTPS エンドポイントを作成する。
ibmcloud sat endpoint create --connector-id ID \ --name myEndpoint \ --dest-hostname example.com \ --dest-port 443 \ --source-protocol HTTPS \ --dest-type location
-
宛先サーバーで単純な TLS を構成します。
この例では、宛先サーバーの証明書を検証するために、トラステッド CA の証明書を提供します。
ibmcloud sat endpoint authn set \ --connector-id ID \ --endpoint myEndpoint \ --dest-tls-mode simple \ --dest-ca-cert-file /path/to/serverCACerts.pem
-
証明書の有効期限が切れる前に、既存の認証証明書を新しい認証証明書に置き換えることによって、証明書をローテーションします。 指定した証明書だけが置き換えられる。
ibmcloud sat endpoint authn rotate \ --connector-id ID \ --endpoint myEndpoint \ --dest-ca-cert-file /path/to/serverCACerts.pem
Connectorサービスによる簡単な認証
location
または cloud
のいずれかのエンドポイント --dest-type
で動作可能なほとんどの構成とは異なり、この構成では --dest-type cloud
を使用しなければならない。
-
HTTP サーバーへの HTTPS エンドポイントを作成する。
ibmcloud sat endpoint create \ --connector-id ID \ --name myEndpoint \ --dest-hostname example.com \ --dest-port 80 \ --dest-protocol TCP \ --source-protocol HTTPS \ --dest-type cloud
-
ソースと Connector サービス間の単純な TLS を設定します。
この例は、Connector サービスがソースと認証するためのサーバ証明書を提供する。
ibmcloud sat endpoint authn set \ --connector-id ID \ --endpoint myEndpoint \ --source-tls-mode simple \ --source-cert-file /path/to/serverCertificate.pem \ --source-key-file /path/to/serverKey.pem
-
証明書の有効期限が切れる前に、既存の認証証明書を新しい認証証明書に置き換えることによって、証明書をローテーションします。 指定した証明書だけが置き換えられる。
ibmcloud sat endpoint authn rotate \ --connector-id ID \ --endpoint myEndpoint \ --source-cert-file /path/to/serverCertificate.pem \ --source-key-file /path/to/serverKey.pem
コネクター・サービスと宛先の間の相互認証
-
HTTPS サーバーへの HTTP エンドポイントを作成する。
ibmcloud sat endpoint create \ --connector-id ID \ --name myEndpoint \ --dest-hostname example.com \ --dest-port 443 \ --dest-protocol TLS \ --source-protocol HTTP \ --dest-type location
-
宛先サーバーとの相互 TLS を構成します。
単純な認証の例と同様に、
--dest-ca-cert-file
は宛先サーバーの証明書を検証する。 相互TLSハンドシェイクを行うには、--dest-cert-file
と--dest-key-file
が使われる。ibmcloud sat endpoint authn set \ --connector-id ID \ --endpoint myEndpoint \ --dest-tls-mode mutual \ --dest-cert-file /path/to/clientCertificate.pem \ --dest-key-file /path/to/clientKey.pem \ --dest-ca-cert-file /path/to/serverCACerts.pem
-
証明書の有効期限が切れる前に、既存の認証証明書を新しい認証証明書に置き換えることによって、証明書をローテーションします。 指定した証明書だけが置き換えられる。
ibmcloud sat endpoint authn rotate \ --connector-id ID \ --endpoint myEndpoint \ --dest-cert-file /path/to/clientCertificate.pem \ --dest-key-file /path/to/clientKey.pem \ --dest-ca-cert-file /path/to/serverCACerts.pem
ソースとコネクター・サービス間の相互認証
location
または cloud
のいずれかのエンドポイント --dest-type
で動作可能なほとんどの構成とは異なり、この構成では --dest-type cloud
を使用しなければならない。
-
HTTP サーバーへの HTTPS エンドポイントを作成する。
ibmcloud sat endpoint create \ --connector-id ID \ --name myEndpoint \ --dest-hostname example.com \ --dest-port 80 \ --dest-protocol TCP \ --source-protocol HTTPS \ --dest-type cloud
-
ソースとコネクター・サービスの間の相互 TLS を構成します。
この例は、Connector サービスがソースと認証するためのサーバ証明書と、ソースのクライアント証明書を検証するための信頼された CA の証明書を提供する。
ibmcloud sat endpoint authn set \ --connector-id ID \ --endpoint myEndpoint \ --source-tls-mode mutual \ --source-cert-file /path/to/serverCertificate.pem \ --source-key-file /path/to/serverKey.pem \ --source-ca-cert-file /path/to/clientCACerts.pem
-
証明書の有効期限が切れる前に、既存の認証証明書を新しい認証証明書に置き換えることによって、証明書をローテーションします。 指定した証明書だけが置き換えられる。
ibmcloud sat endpoint authn rotate \ --connector-id ID \ --endpoint myEndpoint \ --source-cert-file /path/to/serverCertificate.pem \ --source-key-file /path/to/serverKey.pem \ --source-ca-cert-file /path/to/clientCACerts.pem
ソースと宛先の両方での相互認証
-
HTTPS サーバーへの HTTPS エンドポイントを作成する。
ibmcloud sat endpoint create \ --connector-id ID \ --name myEndpoint \ --dest-hostname example.com \ --dest-port 443 \ --source-protocol HTTPS \ --dest-type location
-
ソース・サーバーと宛先サーバーの両方で相互 TLS 認証を構成します。
この例では、ソース・サービスとコネクター・サービスの間、およびコネクター・サービスと宛先サーバーの間の相互認証が有効になります。
ibmcloud sat endpoint authn set \ --connector-id ID \ --endpoint myEndpoint \ --source-tls-mode mutual \ --source-ca-cert-file /path/to/clientCACerts.pem \ --dest-tls-mode mutual \ --dest-cert-file /path/to/clientCertificate.pem \ --dest-key-file /path/to/clientKey.pem \ --dest-ca-cert-file /path/to/serverCACerts.pem
-
証明書の有効期限が切れる前に、既存の認証証明書を新しい認証証明書に置き換えることによって、証明書をローテーションします。 指定した証明書だけが置き換えられる。
ibmcloud sat endpoint authn rotate \ --connector-id ID \ --endpoint myEndpoint \ --source-ca-cert-file /path/to/clientCACerts.pem \ --dest-cert-file /path/to/clientCertificate.pem \ --dest-key-file /path/to/clientKey.pem \ --dest-ca-cert-file /path/to/serverCACerts.pem
認証設定の表示
ibmcloud sat endpoint authn get
を使用すると、エンドポイントの構成済み認証設定を表示できます。 例えば、以下のコマンドを使用すると、エンドポイント myEndpoint
に対して現在設定されている TLS モードと証明書を出力することができる。
ibmcloud sat endpoint authn get --connector-id ID --endpoint myEndpoint
送信元と宛先の相互認証の例 で示したように myEndpoint
が設定されていると仮定すると、このコマンドは以下のような出力を生成する。
OK
Destination TLS Mode: mutual
Destination Certificate: /path/to/clientCertificate.pem
Destination Key: /path/to/clientKey.pem
Destination CA Certificates: /path/to/serverCACerts.pem
Source TLS Mode: mutual
Source Certificate: -
Source Key: -
Source CA Certificates: /path/to/clientCACerts.pem
証明書の除去
ibmcloud sat endpoint authn set
コマンドは、1つ以上の既存の証明書を削除するために使うことができます。 setコマンドは、コマンドのオプションで指定された証明書以外のすべての証明書を削除する。 例えば、次のコマンドは、エンドポイント myEndpoint
に対して現在設定されているすべての証明書を削除します。
ibmcloud sat endpoint authn set --connector-id ID --endpoint myEndpoint
一部の証明書だけを削除し、他の証明書は変更しない場合は、必ず他の証明書の現在の値をオプションとして渡してください。 たとえば、以下のコマンドを使うと、現在設定されている source
証明書を削除し、dest
証明書は変更せずに残すことができます。
ibmcloud sat endpoint authn set \
--connector-id ID \
--endpoint myEndpoint \
--dest-tls-mode mutual \
--dest-cert-file /path/to/current/clientCertificate.pem \
--dest-key-file /path/to/current/clientKey.pem \
--dest-ca-cert-file /path/to/current/serverCACerts.pem