証明書プロファイル

このトピックでは、さまざまな証明書の発行シナリオで使用できる証明書プロファイルについて説明します。これらの証明書プロファイルは、Google Cloud CLI または Google Cloud コンソールを使用して証明書または認証局(CA)を作成するときに参照できます。

このドキュメントで指定された gcloud 参照と --use-preset-profile フラグを使用して、ニーズに合った証明書プロファイルを利用します。

制約なし

制約なしの証明書プロファイルには、制約や上限はありません。

ルート制約なし

アクセス可能なユーザー: root_unconstrained

次の証明書プロファイルでは、鍵の使用延長やパス長の制約はありません。

この CA は、下位 CA を含むすべてのタイプの証明書を発行できます。これらの値は、自己署名のルート CA に適していますが、制約のない下位 CA にも使用できます。

keyUsage:
  baseKeyUsage:
    certSign: true
    crlSign: true
caOptions:
  isCa: true

パスの長さゼロの制約なしの下位

アクセス可能なユーザー: subordinate_unconstrained_pathlen_0

次の証明書プロファイルを使用して、Extended Key Usage(EKU)の制約はないものの、下位 CA の発行を許可しないパス長の制限を持つ CA を構成できます。これらの値は、エンド エンティティ証明書を発行する CA に適しています。

keyUsage:
  baseKeyUsage:
    certSign: true
    crlSign: true
caOptions:
  isCa: true
  maxIssuerPathLength: 0

相互 TLS

相互 Transport Layer Security(mTLS)証明書は、サーバー TLS、クライアント TLS、または相互 TLS 認証に使用できます。

下位 mTLS

アクセス可能なユーザー: subordinate_mtls_pathlen_0

次の証明書プロファイルを使用して、サーバー TLS、クライアント TLS、または相互 TLS 認証に使用できるエンドユーザー証明書を発行できる CA を構成できます。この証明書プロファイルには、さらに下位 CA を許可しないパス長の制限があります。これらの値は下位 CA に適していますが、エンド エンティティ証明書を直接発行する自己署名 CA に使用することもできます。

keyUsage:
  baseKeyUsage:
    certSign: true
    crlSign: true
  extendedKeyUsage:
    serverAuth: true
    clientAuth: true
caOptions:
  isCa: true
  maxIssuerPathLength: 0

エンド エンティティ mTLS

アクセス可能なユーザー: leaf_mtls

次の証明書プロファイルを使用して、クライアント TLS、サーバー TLS、または mTLS と互換性のあるエンド エンティティ証明書を構成できます。たとえば、SPIFFE 証明書などです。

keyUsage:
  baseKeyUsage:
    digitalSignature: true
    keyEncipherment: true
  extendedKeyUsage:
    serverAuth: true
    clientAuth: true
caOptions:
  isCa: false

クライアント TLS

クライアント TLS 証明書はクライアントの認証に使用されます。

下位クライアント TLS

アクセス可能なユーザー: subordinate_client_tls_pathlen_0

次の証明書プロファイルを使用して、クライアント TLS で使用可能なエンド エンティティ証明書を発行できる CA を構成できます。この証明書プロファイルには、さらに下位 CA を許可しないパス長の制限があります。これらの値は下位 CA に適していますが、エンド エンティティ証明書を直接発行する自己署名 CA に使用することもできます。

keyUsage:
  baseKeyUsage:
    certSign: true
    crlSign: true
  extendedKeyUsage:
    clientAuth: true
caOptions:
  isCa: true
  maxIssuerPathLength: 0

エンド エンティティ クライアント TLS

アクセス可能なユーザー: leaf_client_tls

次の証明書プロファイルを使用して、クライアント TLS と互換性のあるエンドユーザー証明書を構成できます。たとえば、クライアント が TLS ファイアウォールに対して自身を認証する場合などです。

keyUsage:
  baseKeyUsage:
    digitalSignature: true
    keyEncipherment: true
  extendedKeyUsage:
    clientAuth: true
caOptions:
  isCa: false

サーバー TLS

サーバー TLS 証明書はサーバーの認証に使用されます。

下位サーバー TLS

アクセス可能なユーザー: subordinate_server_tls_pathlen_0

次の証明書プロファイルを使用して、サーバー TLS で使用可能なエンド エンティティ証明書を発行できる CA を構成できます。この証明書プロファイルには、さらに下位 CA を許可しないパス長の制限があります。これらの値は下位 CA に適していますが、エンド エンティティ証明書を直接発行する自己署名 CA に使用することもできます。

keyUsage:
  baseKeyUsage:
    certSign: true
    crlSign: true
  extendedKeyUsage:
    serverAuth: true
caOptions:
  isCa: true
  maxIssuerPathLength: 0

エンド エンティティ サーバー TLS

アクセス可能なユーザー: leaf_server_tls

次の証明書プロファイルを使用して、サーバー TLS と互換性のあるエンド エンティティ証明書を構成できます。

keyUsage:
  baseKeyUsage:
    digitalSignature: true
    keyEncipherment: true
  extendedKeyUsage:
    serverAuth: true
caOptions:
  isCa: false

コード署名

デジタル署名はコード認証にも使用されます。

下位コード署名

アクセス可能なユーザー: subordinate_code_signing_pathlen_0

次の証明書プロファイルを使用して、コード署名で使用可能なエンド エンティティ証明書を発行できる CA を構成できます。この証明書プロファイルには、さらに下位 CA を許可しないパス長の制限があります。これらの値は下位 CA に適していますが、エンド エンティティ証明書を直接発行する自己署名 CA でも機能します。

keyUsage:
  baseKeyUsage:
    certSign: true
    crlSign: true
  extendedKeyUsage:
    codeSigning: true
caOptions:
  isCa: true
  maxIssuerPathLength: 0

エンド エンティティ コード署名

アクセス可能なユーザー: leaf_code_signing

次の証明書プロファイルを使用して、コード署名と互換性のあるエンド エンティティ証明書を構成できます。

keyUsage:
  baseKeyUsage:
    digitalSignature: true
    contentCommitment: true
  extendedKeyUsage:
    codeSigning: true
caOptions:
  isCa: false

S/MIME

S/MIME は、メール セキュリティ強化に役立つメール署名プロトコルです。

下位 S/MIME

アクセス可能なユーザー: subordinate_smime_pathlen_0

次の証明書プロファイルを使用して、S/MIME で使用可能なエンド エンティティ証明書を発行できる CA を構成できます。この証明書プロファイルには、さらに下位 CA を許可しないパス長の制限があります。これらの値は下位 CA に適していますが、エンド エンティティ証明書を直接発行する自己署名 CA に使用することもできます。

keyUsage:
  baseKeyUsage:
    certSign: true
    crlSign: true
  extendedKeyUsage:
    emailProtection: true
caOptions:
  isCa: true
  maxIssuerPathLength: 0

エンド エンティティ S/MIME

アクセス可能なユーザー: leaf_smime

次の証明書プロファイルを使用して、S/MIME と互換性のあるエンド エンティティー証明書を構成できます。S/MIME はエンドツーエンドのメールの完全性や暗号化によく使用されます。

keyUsage:
  baseKeyUsage:
    digitalSignature: true
    contentCommitment: true
  extendedKeyUsage:
    emailProtection: true
caOptions:
  isCa: false

次のステップ