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