証明書テンプレートと発行ポリシーの概要

このページでは、証明書テンプレート、発行ポリシー、証明書名の制約を使用して Certificate Authority Service にポリシー制御を実装する方法の概要を説明します。

ポリシー制御を使用すると、認証局(CA)プールが発行できる証明書の種類を制御できます。ポリシー制御には、大まかなものときめ細かいものの 2 種類があります。大まかなポリシーには、CA プール固有の制約が適用されます。きめ細かいポリシーによって、特定のユーザーが CA プールに対して実行できるオペレーションが決まります。

証明書テンプレート

証明書発行のシナリオが明確に定義されている場合は、証明書テンプレートを使用できます。証明書テンプレートを使用すると、異なる CA プールから発行された証明書間での整合性を有効にできます。証明書テンプレートを使用して、異なるユーザーが発行できる証明書の種類を制限することもできます。

証明書テンプレートについては、証明書テンプレートの作成をご覧ください。

証明書発行ポリシー

CA Manager は、証明書発行ポリシーを CA プールに接続して、CA プール内の CA が発行できる証明書の種類の制限を定義できます。発行ポリシーでは、証明書 ID、証明書の有効期間、鍵のタイプ、証明書のリクエスト モード、X.509 拡張機能の制限を定義できます。発行ポリシーには、すべての受信証明書リクエストに適用される一連の X.509 拡張機能を含めることもできます。

発行ポリシーを使用すると、CA プール全体に特定の制限を適用できます。たとえば、発行ポリシーを使用して次の条件を適用できます。

  • 発行されたすべての証明書のサブジェクトに O=My organization が含まれています。
  • すべての DNS 名の末尾が .my-org-domain.com です。
  • CA プールが発行できるのは、サーバーの TLS 証明書のみです。

次のいずれかまたは両方に該当する場合は、証明書の発行ポリシーの使用をおすすめします。

  1. CA プールは、明確に定義された単一のプロファイルに従って証明書を発行することを意図しています。
  2. X.509 拡張機能の共通のベースラインと、すべての証明書発行プロファイルに適用される追加の制限を定義できます。

発行ポリシーの詳細については、CA プールへの証明書発行ポリシーの追加をご覧ください。

CA 証明書名の制約

CAS は、RFC 5280 の名前制約セクションで定義されている CA 証明書の名前制約を適用します。 CA から発行された証明書で許可または除外される名前を制御できます。

たとえば、名前制約を持つ CA を作成して、次の条件を適用できます。

  • DNS 名として使用できるのは、my-org-domain.com とそのサブドメインのみです。
  • untrusted-domain.com とそのサブドメインは DNS 名として禁止されています。

名前の制約は CA 証明書用です。これらは CA の作成時にのみ指定でき、後で更新することはできません。

ポリシーの競合

さまざまなポリシー管理メカニズムを組み合わせて使用すると、さまざまなレベルのポリシーが競合する可能性があります。このセクションでは、ポリシー制御の適用方法について説明し、ポリシーの競合を回避するためのガイダンスを示します。

ポリシーの適用

証明書をリクエストする場合、ポリシー管理はさまざまなレイヤで評価されます。

リクエスト属性の IAM 条件付きバインディングが最初に評価され、呼び出し元が証明書の作成または証明書テンプレートの使用に必要な権限を持っていることを確認します。

証明書の作成中に、CA プールと証明書テンプレート発行ポリシーが正規化された証明書リクエストに対して検証されます。CA プールの証明書発行ポリシーと証明書テンプレートの X.509 拡張機能が証明書に追加され、同じポリシーに基づいて特定の値がドロップされます。

証明書に署名する前に、CA 証明書の名前の制約が証明書と照合されて、サブジェクトが準拠していることを確認します。

発行ポリシーの競合

以下は、証明書テンプレートの発行ポリシーと CA プールの発行ポリシーが競合するエラーの非包括的なリストです。

  • 証明書テンプレートに、CA プールで禁止されている事前定義済みの値が含まれています。
  • 証明書テンプレートに、CA プールのベースライン値とは異なる X.509 値が含まれています。

上記のいずれの場合も、API は無効な引数エラーを返します。

CEL の競合

CEL を使用すると、多様な式を実装できます。CA プールの発行ポリシーと証明書テンプレートの CEL 式が競合するなどの場合です。これらの競合により、CA プールからの証明書の発行は許可されません。たとえば、証明書の共通名が .example.com で終わることを適用する CEL 式が CA プールにあり、証明書の共通名が .example.net で終わることを適用する CEL 式が証明書テンプレートにあるとします。この 2 つの CEL 式では、同じフィールドに異なる制限が設定されているため、すべての証明書発行リクエストは失敗します。

証明書発行ポリシーと証明書テンプレートの両方を使用している場合は、CEL 式が競合しないようにすることをおすすめします。

次のステップ