Certificate Authority Service のコンセプト
このページでは、Certificate Authority Service(CA Service)の主なコンセプトについて説明します。
リソース
CA Service は次のリソースで構成されています。
認証局プール
認証局プール(CA プール)は、CA Service のプライマリ リソースです。CA プールは、認証局と証明書のコンテナです。Identity and Access Management の条件、発行ポリシー、その他の構成は CA プールに設定されます。証明書の発行も CA プールを介して行われ、CA プール内の CA 全体の証明書リクエストの負荷が分散されます。
認証局
認証局(CA)リソースは、証明書の署名に使用される個々の認証局を表します。CA Service では、ルート CA と下位 CA の両方を作成できます。ルート CA には自己署名証明書があり、証明書チェーンの最上位にあります。下位 CA の場合、CA 証明書の署名者は CA Service または外部 CA で作成した別の CA のいずれかです。後者の場合、CA Service は外部 CA が署名する必要がある証明書署名リクエスト(CSR)を生成します。Google Cloud CLI または Google Cloud コンソールを使用して、署名済み PEM エンコード証明書チェーンをアップロードし、新しい CA を有効にできます。
証明書
証明書は、認証局によって発行された署名済み X.509 証明書です。
証明書失効リスト
証明書失効リスト(CRL)には、取り消された、信頼されていない証明書のシリアル番号が含まれます。CRL は CA の下にネストされたクラウド リソースとして存在しますが、PEM または DER エンコードで一般公開されている HTTP ベースの URL を使用して Cloud Storage バケットに公開することもできます。
証明書テンプレート
証明書テンプレートは、個別の証明書発行シナリオを定義する最上位のリソースです。証明書テンプレートを使用して発行された証明書は、証明書テンプレートから事前構成された X.509 拡張機能(鍵用途やパス長の制限など)を継承します。証明書テンプレートを使用すると、証明書リクエストで保持する拡張機能と無視する拡張機能を定義できます。証明書テンプレートを使用して ID 制約を定義し、証明書 ID を制限できます。証明書テンプレートは、1 つ以上の CA プールを追加できます。
CA 署名鍵
CA Service は、Cloud Key Management Service を使用して CA 署名鍵を生成、保存、使用するように自動的に構成されます。CA Service では、Cloud KMS 鍵バージョンを使用して証明書と CRL に署名します。独自の Cloud KMS 鍵を作成してから、この鍵を使用する CA を作成できます。また、CA に使用する Cloud KMS 鍵のアルゴリズムを指定すると、CA Service がこの鍵を自動的に作成して構成します。Cloud KMS 鍵は、ソフトウェア式またはハードウェア式のいずれかです。CA Service がユーザーに代わってキーを作成するときは、常にハードウェア格納型キーが作成されます。
Cloud Storage バケット
CA Service で作成された CA は、デプロイされた CA と同じロケーションの Cloud Storage バケットに CA 証明書や CRL などのアーティファクトを公開します。Cloud KMS 鍵と同様に、Cloud Storage バケットは Google 管理リソースまたは顧客管理リソースのいずれかです。
CA ティア
認証局の階層は、サポートされている機能と請求 SKU を示しています。CA Service は、作成された CA プールごとに次の 2 つの運用サービスティアを提供します。
- DevOps: 上位の証明書発行料金またはスループットで証明書を発行します。これは、大容量のシナリオで役立ちます。DevOps CA によって発行された証明書は CA データベースで追跡されず、取り消すことはできません。DevOps CA は、 Google が所有し管理する 暗号鍵のみをサポートします。顧客管理の Cloud KMS 鍵はサポートしません。
- Enterprise: 証明書発行スループットは低くなりますが、証明書の追跡や証明書の取り消しなどの CA オペレーションがサポートされます。これにより、この階層の CA は長期間有効な証明書の発行に適しています。エンタープライズ CA は、顧客管理の Cloud KMS 署名鍵と、 Google が所有し Google が管理する 暗号鍵の両方をサポートします。
ポリシー制御
ポリシー制御を使用すると、CA プールが発行できる証明書の種類を制御できます。ポリシー制御には、次の 2 種類があります。
- 発行ポリシーなどの大まかなポリシー制御。証明書の発行ポリシーは、その CA プール内の CA が発行できる証明書のタイプを定義します。 たとえば、ユーザーは、CA プールがクライアント TLS に正しい拡張鍵使用フィールドが設定された証明書のみを発行できるよう制限し、また CA 証明書を発行できないよう制限することができます。
- 特定のユーザーが CA プールに対して実行でき、オペレーションが定められた、テンプレートを使用して表現された詳細なポリシー制御。証明書テンプレートは、IAM Conditions と組み合わせて使用することで、同じ CA プール内のユーザーごとに異なるポリシー制御を作成できます。
CA Service でポリシー制御を適用する方法は次のとおりです。
- CA プール全体から証明書を発行するためのベースラインを追加する。
- 一般的な発行シナリオで再利用可能なパラメータ化されたテンプレートを使用する。
- 条件を使用して IAM バインディングをきめ細かく制御する。
- アイデンティティの振り返りを使用して、ワークロード証明書のプロビジョニングを簡素化する。