IBM Cloud Docs
Code EngineプロジェクトにTLS証明書を提供

Code EngineプロジェクトにTLS証明書を提供

Code Engineアプリケーションと関数は、インターネットに公開することも、IBM Cloud内部で非公開にすることもできます。 どちらの場合も、あなたのアプリケーションや機能は「codeengine.appdomain.cloud 配下のHTTPSエンドポイントとして提供されます。Code Engineは暗号化のためのTLS証明書を提供し、定期的にローテーションします。

証明書について

認証局(CA)は通常、インターネット上で使用されるTLS証明書に署名する。 そうすれば、世界中のクライアント・アプリケーション(ブラウザなど)は、認可された証明書だけを信頼しなければならない。 さらに、インターネット上に存在する何百万ものサイトの証明書に関する知識を必要としない。

認証局は通常、いわゆるルート証明書を数枚しか持っておらず、アルゴリズム(RSAやエラスティック・カーブ)ごとに1枚しか持っていないこともある。 多くの場合、10年、あるいは20年以上有効である。 認証局は、これらのルート証明書の秘密鍵を使用して、自身の中間証明書に署名する。 これらの中間証明書は有効期間が短く、その秘密鍵はユーザーのリーフ証明書に署名するために使用される。

ユーザー・デバイスは、監査され認証されたすべての認証局のルート証明書を含むトラストストアを インストールする。 オペレーティング・システムには通常、インストールされたすべてのプログラムが使用できるトラストストアが含まれている。 Google Chrome Mozilla Firefoxなどのブラウザには、独自のトラストストアが搭載されているものもある。

Code Engine証明書とその認証局

Code Engineは、ワイルドカードホスト名を使用することで、プロジェクトごとに1つの証明書を設定します。したがって、そのプロジェクトにデプロイされるすべてのアプリケーションと関数に適用されます。 証明書の有効期限は90日間で、Code Engineは有効期限の少なくとも10日前に自動的に更新する。

認証局としてのLet's Encrypt

Code Engineは Code Engine証明書に署名する認証局として Let's Encrypt を使用しています。これらの証明書はRSAアルゴリズムを使用しています。 したがって、証明書チェーンのルート証明書は ISRG ルートX1 である。 この証明書を含むトラストストアは、Code Engineへのアクセスに使用できる。 ISRG RootX1を信頼できるオペレーションシステムとブラウザのバージョンのリストについては、 https://letsencrypt.org/docs/certificate-compatibility/#platforms-that-trust-isrg-root-x1

古いバージョンのブラウザやオペレーティングシステムをお使いの場合は、https://letsencrypt.org/certificates/ から ISRG RootX1をダウンロードしてください。 ブラウザまたはオペレーティングシステムのベンダーの指示に従って、該当するトラストストアにインストールしてください。

独自のトラストストアを構築したい場合は、https://letsencrypt.org/certificates/ からダウンロードできる ISRG RootX1を信頼してください。

もっとコントロールしたい?

Let's Encryptは、誰でも独自ドメインの証明書に署名するために使用できる公開認証局です。 したがって、ISRGルートX1を信頼することは、これらのドメインすべてを信頼することを意味する。

自分のアプリケーションだけを信頼する必要がある場合は、カスタム・ドメイン・マッピングを使用する。カスタム・ドメイン・マッピングでは、自分のドメインの証明書の発行と更新のタイミングを完全に制御できる。 クライアント・アプリケーションがドメインのリーフ証明書だけを信頼するように設定できる。 ドメインマッピングのTLSシークレットとクライアントの新しい証明書に通信の問題なく切り替えられるように、証明書の更新プロセスが必要です。 通常、まず新しい証明書を発行する。 次に、それをクライアントのトラストストアに追加する。 Code EngineプロジェクトのTLSシークレットを新しい証明書と鍵に更新したら、クライアントのトラストストアから古い証明書を削除することができます。