Certificate Authority Service のコンセプト
このページでは、Certificate Authority Service(CA Service)の主なコンセプトについて説明します。
関連情報
CA Service は、次のリソースで構成されています。
認証局プール
認証局プール(CA プール)は、CA Service のプライマリ リソースです。CA プールは、認証局と証明書のコンテナです。CA プールには、Identity and Access Management の条件、発行ポリシー、その他の構成が設定されています。証明書の発行も 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 証明書や CRL などのアーティファクトを、デプロイされた CA と同じロケーションにある Cloud Storage バケットに公開します。Cloud KMS 鍵と同様に、Cloud Storage バケットは Google 管理のリソースまたは顧客管理のリソースのいずれかになります。
CA 階層
認証局の階層は、サポートされている機能と請求 SKU を示しています。CA Service では、作成された CA プールごとに次の 2 つの運用サービス階層が提供されます。
- DevOps: 上位の証明書発行料金またはスループットで証明書を発行します。これは、大容量のシナリオで役立ちます。DevOps CA によって発行された証明書は CA データベースで追跡されないため、取り消すことはできません。DevOps CA は、Google が所有し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 バインディングをきめ細かく制御する。
- アイデンティティの振り返りを使用して、ワークロード証明書のプロビジョニングを簡素化する。