証明書プロファイル

このトピックでは、さまざまな証明書発行シナリオで使用できる証明書プロファイルについて説明します。これらの証明書プロファイルは、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

次のステップ