カスタム制約を使用して CA Service リソースを管理する
このページでは、組織のポリシー サービスのカスタム制約を使用して、次の Google Cloud リソースに対する特定のオペレーションを制限する方法について説明します。
privateca.googleapis.com/CaPoolprivateca.googleapis.com/CertificateAuthorityprivateca.googleapis.com/CertificateTemplate
組織のポリシーの詳細については、カスタムの組織のポリシーをご覧ください。
組織のポリシーと制約について
Google Cloud 組織のポリシー サービスを使用すると、組織のリソースをプログラマティックに一元管理できます。組織のポリシー管理者は組織のポリシーを定義できます。組織のポリシーは、Google Cloud リソース階層内のGoogle Cloud リソースやそれらのリソースの子孫に適用される、制約と呼ばれる一連の制限です。組織のポリシーは、組織レベル、フォルダレベル、またはプロジェクト レベルで適用できます。
組織のポリシーを利用することで、あらかじめ用意されたマネージド制約をさまざまな Google Cloud サービスに適用できます。ただし、組織のポリシーで制限されている特定の項目をより細かくカスタマイズして制御したい場合は、カスタム制約を作成して、それを組織のポリシーで使うこともできます。
ポリシーの継承
デフォルトでは、組織のポリシーは、そのポリシーを適用したリソースの子孫に継承されます。たとえば、フォルダにポリシーを適用した場合、 Google Cloud はそのフォルダ内のすべてのプロジェクトにそのポリシーを適用します。この動作の詳細と変更方法については、階層評価ルールをご覧ください。
始める前に
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Install the Google Cloud CLI.
-
外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。
-
gcloud CLI を初期化するには、次のコマンドを実行します。
gcloud init -
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
-
Install the Google Cloud CLI.
-
外部 ID プロバイダ(IdP)を使用している場合は、まず連携 ID を使用して gcloud CLI にログインする必要があります。
-
gcloud CLI を初期化するには、次のコマンドを実行します。
gcloud init - 組織 ID を確認します。
- Google Cloud コンソールで [組織のポリシー] ページに移動します。
- プロジェクト選択ツールで、組織のポリシーを設定するプロジェクトを選択します。
- [ カスタム制約] をクリックします。
- [表示名] ボックスに、人が読める形式で制約の名前を入力します。この名前はエラー メッセージで使用されるほか、識別やデバッグにも使用できます。エラー メッセージで公開される可能性があるため、表示名に個人情報(PII)や機密データを使用しないでください。このフィールドには、最大 200 文字まで入力できます。
-
[制約 ID] ボックスに、新しいカスタム制約の名前を入力します。カスタム制約の名前に使用できるのは、英字(大文字と小文字)と数字のみです(例:
custom.disableGkeAutoUpgrade)。このフィールドには、接頭辞(custom.)を除き、最大 70 文字まで入力できます(例:organizations/123456789/customConstraints/custom)。エラー メッセージで公開される可能性があるため、制約 ID に個人情報(PII)や機密データを含めないでください。 - [説明] ボックスに、人が読める形式で制約の説明を入力します。この説明は、ポリシー違反の際にエラー メッセージとして使用されます。ポリシー違反が発生した理由と、ポリシー違反を解決する方法に関する詳細を含めてください。エラー メッセージで公開される可能性があるため、説明に個人情報(PII)や機密データを含めないでください。 このフィールドには、最大 2,000 文字まで入力できます。
-
[リソースの種類] ボックスで、制限するオブジェクトとフィールドを含む Google Cloud REST リソースの名前を選択します(例:
container.googleapis.com/NodePool)。ほとんどの種類のリソースは、最大 20 個のカスタム制約をサポートしています。これより多くのカスタム制約を作成しようとすると、オペレーションは失敗します。 - [適用方法] で、REST の CREATE メソッドに制約を適用するか、CREATE メソッドと UPDATE メソッドの両方に制約を適用するかを選択します。制約に違反するリソースに対する UPDATE メソッドに制約を適用した場合、そのリソースへの変更は、違反を解決するものでない限り、組織のポリシーによってブロックされます。
- 条件を定義するには、[ 条件を編集] をクリックします。
-
[条件を追加] パネルで、サポートされているサービス リソースを参照する CEL 条件を作成します(例:
resource.management.autoUpgrade == false)。このフィールドには、最大 1,000 文字まで入力できます。CEL の使用方法の詳細については、Common Expression Language をご覧ください。 カスタム制約で使用できるサービス リソースの詳細については、カスタム制約のサポート サービスをご覧ください。 - [保存] をクリックします。
- [アクション] で、条件が満たされた場合に評価対象のメソッドを許可するか拒否するかを選択します。
- [制約を作成] をクリックします。
- カスタム制約を作成するには、次の形式で YAML ファイルを作成します。
-
ORGANIZATION_ID: 組織 ID(例:123456789)。 -
CONSTRAINT_NAME: 新しいカスタム制約の名前。カスタム制約の名前に使用できるのは、英字(大文字と小文字)と数字のみです(例:custom.enforceCaPoolEncodingFormat)。このフィールドには、最大 70 文字まで入力できます。 -
RESOURCE_NAME: 制限するオブジェクトとフィールドを含む Google Cloudリソースの完全修飾名。例:privateca.googleapis.com/CaPool。 -
CONDITION: サポート対象のサービス リソースの表現に対して記述する CEL 条件。このフィールドには、最大 1,000 文字まで入力できます。例:"resource.publishingOptions.encodingFormat == 'DER'"。 -
ACTION:conditionが満たされた場合に実行するアクション。 有効な値はALLOWとDENYです。 -
DISPLAY_NAME: 制約の名前。わかりやすい名前を入力してください。このフィールドには、最大 200 文字まで入力できます。 -
DESCRIPTION: ポリシー違反の際にエラー メッセージとして表示される制約の説明。わかりやすい説明を入力してください。このフィールドには、最大 2,000 文字まで入力できます。 -
新しいカスタム制約の YAML ファイルを作成したら、組織内で組織のポリシーとして使用できるように設定する必要があります。カスタム制約を設定するには、
gcloud org-policies set-custom-constraintコマンドを使用します。 -
カスタム制約が存在することを確認するには、
gcloud org-policies list-custom-constraintsコマンドを使用します。 - Google Cloud コンソールで [組織のポリシー] ページに移動します。
- プロジェクト選択ツールで、組織のポリシーを設定するプロジェクトを選択します。
- [組織のポリシー] ページのリストで制約を選択して、その制約の [ポリシーの詳細] ページを表示します。
- このリソースの組織のポリシーを構成するには、[ポリシーを管理] をクリックします。
- [ポリシーの編集] ページで、[Override parent's policy] を選択します。
- [ルールを追加] をクリックします。
- [適用] セクションで、この組織のポリシーを適用するかどうかを選択します。
- 省略可: タグで組織のポリシーに条件を設定するには、[条件を追加] をクリックします。組織のポリシーに条件付きルールを追加する場合は、少なくとも 1 つは無条件のルールを追加する必要があります。そうしないとポリシーを保存できないのでご注意ください。詳細については、タグを使用した組織のポリシーの設定をご覧ください。
- [変更内容をテスト] をクリックして、組織のポリシーの効果をシミュレートします。詳細については、Policy Simulator で組織のポリシーの変更をテストするをご覧ください。
- ドライラン モードで組織のポリシーを適用するには、[ドライラン ポリシーを設定] をクリックします。詳細については、ドライラン モードで組織のポリシーを作成するをご覧ください。
- ドライラン モードで組織のポリシーが想定どおりに動作することを確認したら、[ポリシーを設定] をクリックして有効なポリシーを設定します。
- ブール値のルールを含む組織のポリシーを作成するには、制約を参照するポリシーの YAML ファイルを作成します。
-
PROJECT_ID: 制約を適用するプロジェクト。 -
CONSTRAINT_NAME: カスタム制約に定義した名前。例:custom.enforceCaPoolEncodingFormat。 -
ドライラン モードで組織のポリシーを適用するには、
dryRunSpecフラグを指定して次のコマンドを実行します。 -
ドライラン モードで組織のポリシーが想定どおりに動作することを確認したら、
org-policies set-policyコマンドとspecフラグを使用して有効なポリシーを設定します。 - 組織の ID
- プロジェクト ID
-
組織に対する組織ポリシー管理者 (
roles/orgpolicy.policyAdmin) -
プロジェクトに対する CA Service 管理者 (
roles/privateca.admin) -
プロジェクトに対する Service Usage 管理者 (
roles/serviceusage.serviceUsageAdmin) 次のファイルに
constraint-cas-capool-lifetime.yamlという名前を付けて保存します。name: organizations/ORGANIZATION_ID/customConstraints/custom.enforceCasMaxLifetime30d resourceTypes: - privateca.googleapis.com/CaPool methodTypes: - CREATE - UPDATE condition: "!has(resource.issuancePolicy.maximumLifetime) || duration(resource.issuancePolicy.maximumLifetime) > duration('2592000s')" actionType: DENY displayName: Enforce Max Certificate Lifetime (30 Days) description: Only allows CaPools where the issuancePolicy.maximumLifetime field is set to 30 days (2592000 seconds) or less.ORGANIZATION_IDは、実際の組織 ID に置き換えます。次の制約を適用します。
gcloud org-policies set-custom-constraint ~/constraint-cas-capool-lifetime.yaml制約が存在することを確認します。
gcloud org-policies list-custom-constraints --organization=ORGANIZATION_IDORGANIZATION_IDは、実際の組織 ID に置き換えます。次のファイルに
policy-cas-capool-lifetime.yamlという名前を付けて保存します。name: projects/PROJECT_ID/policies/custom.enforceCasMaxLifetime30d spec: rules: - enforce: truePROJECT_IDは、実際のプロジェクト ID に置き換えます。次のポリシーを適用します。
gcloud org-policies set-policy ~/policy-cas-capool-lifetime.yamlポリシーが存在することを確認します。
gcloud org-policies list --project=PROJECT_IDPROJECT_IDは、実際のプロジェクト ID に置き換えます。PROJECT_ID: 実際の Google Cloud プロジェクト IDLOCATION: CA プールのリージョン(例:us-west1)POOL_NAME: テスト CA プールの名前(例:my-test-pool)最大有効期間が 30 日を超える CA プールを作成します。
maximumLifetimeが 30 日を超える(たとえば、31 日、つまり 2,678,400 秒)capool_violating.yamlという名前の YAML ファイルを作成します。maximumLifetimeフィールドは秒単位で設定します。# capool_violating.yaml maximumLifetime: 2678400sポリシーに違反する CA プールを作成するには、次のコマンドを実行します。
# This creation should be blocked by the policy gcloud privateca pools create POOL_NAME-violating \ --location LOCATION \ --project PROJECT_ID \ --issuance-policy capool_violating.yamlコマンドは
FAILED_PRECONDITIONエラーで失敗し、customConstraints/custom.enforceCasMaxLifetime30d制約の違反が示されます。準拠した最大有効期間で CA プールを作成します。
maximumLifetimeが 30 日(2,592,000 秒)のcapool_compliant.yamlという名前の YAML ファイルを作成します。maximumLifetimeフィールドは秒単位で設定します。# capool_compliant.yaml maximumLifetime: 2592000sCA プールを作成するには、次のコマンドを実行します。
gcloud privateca pools create POOL_NAME \ --location "LOCATION" \ --project "PROJECT_ID" \ --issuance-policy capool_compliant.yamlコマンドが正常に完了します。
CA プールを準拠していない最大有効期間に更新してみます。
次のコマンドを実行して、
capool_violating.yamlの設定を適用します。# This update is blocked by the policy gcloud privateca pools update POOL_NAME \ --location "LOCATION" \ --project "PROJECT_ID" \ --issuance-policy capool_violating.yamlこのコマンドは
FAILED_PRECONDITIONエラーで失敗し、customConstraints/custom.enforceCasMaxLifetime30d制約の違反を示します。CA プールを別の準拠した最大有効期間に更新する
maximumLifetimeが 15 日(1,296,000 秒)のcapool_compliant_update.yamlという名前の YAML ファイルを作成します。maximumLifetimeフィールドは秒単位で設定します。# capool_compliant_update.yaml maximumLifetime: 1296000sCA プールを更新するには、次のコマンドを実行します。
gcloud privateca pools update POOL_NAME \ --location "LOCATION" \ --project "PROJECT_ID" \ --issuance-policy capool_compliant_update.yamlコマンドが正常に完了します。
テストリソースをクリーンアップします。
テスト中に作成した CA プールを削除します。
gcloud privateca pools delete POOL_NAME \ --location "LOCATION" \ --project "PROJECT_ID" \- 組織のポリシー サービスについて詳細を学習する。
- 組織のポリシーの作成と管理の方法について学習する。
- マネージドの組織のポリシーの制約全一覧を参照する。
必要なロール
カスタムの組織のポリシーを管理するために必要な権限を取得するには、組織のリソースに対する組織のポリシー管理者(roles/orgpolicy.policyAdmin)の IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
カスタム制約を設定する
カスタム制約は、組織のポリシーを適用しているサービスでサポートされるリソース、メソッド、条件、アクションを使用して YAML ファイルで定義されます。カスタム制約の条件は、Common Expression Language(CEL)を使用して定義されます。CEL を使用してカスタム制約で条件を作成する方法については、カスタム制約の作成と管理の CEL セクションをご覧ください。
コンソール
カスタム制約を作成する手順は次のとおりです。
すべての Google Cloud サービスで両方のメソッドがサポートされているわけではありません。各サービスでサポートされているメソッドを確認するには、サポートされているサービスをご覧ください。
拒否アクションは、条件が true と評価された場合に、リソースを作成または更新するオペレーションがブロックされることを意味します。
許可アクションは、条件が true と評価された場合にのみ、リソースを作成または更新するオペレーションが許可されることを意味します。条件に明記されているケースを除き、他のケースはすべてブロックされます。
各フィールドに値を入力すると、このカスタム制約に対応する YAML 構成が右側に表示されます。
gcloud
name: organizations/ORGANIZATION_ID/customConstraints/CONSTRAINT_NAME resourceTypes: - RESOURCE_NAME methodTypes: - CREATE
- UPDATE condition: "CONDITION" actionType: ACTION displayName: DISPLAY_NAME description: DESCRIPTION
次のように置き換えます。
条件を記述できるリソースの詳細については、サポートされているリソースをご覧ください。
許可アクションは、条件が true と評価された場合に、リソースを作成または更新するオペレーションが許可されることを意味します。つまり、条件に明記されているケース以外はすべてブロックされます。
拒否アクションは、条件が true と評価された場合に、リソースを作成または更新するオペレーションがブロックされることを意味します。
gcloud org-policies set-custom-constraint CONSTRAINT_PATH
CONSTRAINT_PATH は、カスタム制約ファイルのフルパスに置き換えます。例: /home/user/customconstraint.yaml。
この操作が完了すると、カスタム制約が Google Cloud の組織ポリシーのリストに表示され、組織のポリシーとして使用できるようになります。
gcloud org-policies list-custom-constraints --organization=ORGANIZATION_ID
ORGANIZATION_ID は組織リソースの ID に置き換えます。
詳細については、組織のポリシーの表示をご覧ください。
カスタムの組織のポリシーを適用する
制約を適用するには、それを参照する組織のポリシーを作成し、その組織のポリシーを Google Cloud リソースに適用します。コンソール
gcloud
name: projects/PROJECT_ID/policies/CONSTRAINT_NAME spec: rules: - enforce: true dryRunSpec: rules: - enforce: true
次のように置き換えます。
gcloud org-policies set-policy POLICY_PATH \ --update-mask=dryRunSpec
POLICY_PATH は、組織のポリシーの YAML ファイルのフルパスに置き換えます。ポリシーが有効になるまでに最大 15 分かかります。
gcloud org-policies set-policy POLICY_PATH \ --update-mask=spec
POLICY_PATH は、組織のポリシーの YAML ファイルのフルパスに置き換えます。ポリシーが有効になるまでに最大 15 分かかります。
カスタム組織のポリシーをテストする
次の例では、特定のプロジェクト内のすべての認証局プール(CaPool)リソースが、最大証明書有効期間が 30 日以内の証明書を発行することを必須にするカスタムの制約とポリシーを作成します。
始める前に、次のことを理解しておく必要があります。
必要なロール
このガイドでカスタム制約の管理、API の有効化、CA Service リソースの管理に必要な権限を取得するには、次の IAM ロールを付与するよう管理者に依頼してください。
ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
組織のポリシー サービス API を有効にする
gcloud org-policies コマンドには orgpolicy.googleapis.com API が必要です。プロジェクトで次の API を有効にします。
gcloud services enable orgpolicy.googleapis.com --project=PROJECT_ID
PROJECT_ID は、実際のプロジェクト ID に置き換えます。
制約を作成する
ポリシーを作成する
ポリシーを適用したら、 Google Cloud がポリシーの適用を開始するまで 15 分ほど待ちます。詳細については、組織のポリシーの作成と管理をご覧ください。
ポリシーのテスト
カスタム制約をテストするには、gcloud CLI を使用して CA Service プールを作成して更新します。
テストリソースの変数を定義します。
一般的なユースケースのカスタム組織ポリシーの例
次の表では一般的なカスタム制約の構文例をまとめています。
| 説明 | 制約の構文 |
|---|---|
| すべての CA に特定の鍵アルゴリズムを適用する |
新しい認証局が許可されている鍵アルゴリズムのいずれかを使用するようにします。 name: organizations/ORGANIZATION_ID/customConstraints/custom.casAllowedKeyAlgos resourceTypes: - privateca.googleapis.com/CertificateAuthority methodTypes: - CREATE - UPDATE condition: "resource.keySpec.algorithm in ['EC_P256_SHA256', 'RSA_PSS_3072_SHA256']" actionType: ALLOW displayName: Restrict CA Key Algorithms description: Only allows specific key algorithms for new CAs. |
| CA のサブジェクトに特定の組織名を要求する |
すべての新しい CA のサブジェクトに標準化された name: organizations/ORGANIZATION_ID/customConstraints/custom.casRequireSubjectOrg resourceTypes: - privateca.googleapis.com/CertificateAuthority methodTypes: - CREATE - UPDATE condition: "resource.config.subjectConfig.subject.organization == 'Example Company Inc.'" actionType: ALLOW displayName: Enforce CA Subject Organization description: Requires new CAs to have the specified organization name. |
| CaPool の最大証明書有効期間を適用する |
最大有効期間が 30 日以内の証明書を発行するように CaPool が構成されていることを確認します。 name: organizations/ORGANIZATION_ID/customConstraints/custom.enforceCasMaxLifetime30d resourceTypes: - privateca.googleapis.com/CaPool methodTypes: - CREATE - UPDATE condition: "!has(resource.issuancePolicy.maximumLifetime) || duration(resource.issuancePolicy.maximumLifetime) > duration('2592000s')" actionType: DENY displayName: Enforce Max Certificate Lifetime (30 Days) description: Only allows CaPools where the issuancePolicy.maximumLifetime field is set to 30 days (2592000 seconds) or less. |
Certificate Authority Service でサポートされているリソース
次の表に、カスタム制約で参照できる Certificate Authority Service リソースを示します。| リソース | フィールド |
|---|---|
| privateca.googleapis.com/CaPool |
resource.issuancePolicy.allowedIssuanceModes.allowConfigBasedIssuance
|
resource.issuancePolicy.allowedIssuanceModes.allowCsrBasedIssuance
| |
resource.issuancePolicy.allowedKeyTypes.ellipticCurve.signatureAlgorithm
| |
resource.issuancePolicy.allowedKeyTypes.rsa.maxModulusSize
| |
resource.issuancePolicy.allowedKeyTypes.rsa.minModulusSize
| |
resource.issuancePolicy.backdateDuration
| |
resource.issuancePolicy.baselineValues.additionalExtensions.critical
| |
resource.issuancePolicy.baselineValues.additionalExtensions.objectId.objectIdPath
| |
resource.issuancePolicy.baselineValues.additionalExtensions.value
| |
resource.issuancePolicy.baselineValues.aiaOcspServers
| |
resource.issuancePolicy.baselineValues.caOptions.isCa
| |
resource.issuancePolicy.baselineValues.caOptions.maxIssuerPathLength
| |
resource.issuancePolicy.baselineValues.keyUsage.baseKeyUsage.certSign
| |
resource.issuancePolicy.baselineValues.keyUsage.baseKeyUsage.contentCommitment
| |
resource.issuancePolicy.baselineValues.keyUsage.baseKeyUsage.crlSign
| |
resource.issuancePolicy.baselineValues.keyUsage.baseKeyUsage.dataEncipherment
| |
resource.issuancePolicy.baselineValues.keyUsage.baseKeyUsage.decipherOnly
| |
resource.issuancePolicy.baselineValues.keyUsage.baseKeyUsage.digitalSignature
| |
resource.issuancePolicy.baselineValues.keyUsage.baseKeyUsage.encipherOnly
| |
resource.issuancePolicy.baselineValues.keyUsage.baseKeyUsage.keyAgreement
| |
resource.issuancePolicy.baselineValues.keyUsage.baseKeyUsage.keyEncipherment
| |
resource.issuancePolicy.baselineValues.keyUsage.extendedKeyUsage.clientAuth
| |
resource.issuancePolicy.baselineValues.keyUsage.extendedKeyUsage.codeSigning
| |
resource.issuancePolicy.baselineValues.keyUsage.extendedKeyUsage.emailProtection
| |
resource.issuancePolicy.baselineValues.keyUsage.extendedKeyUsage.ocspSigning
| |
resource.issuancePolicy.baselineValues.keyUsage.extendedKeyUsage.serverAuth
| |
resource.issuancePolicy.baselineValues.keyUsage.extendedKeyUsage.timeStamping
| |
resource.issuancePolicy.baselineValues.keyUsage.unknownExtendedKeyUsages.objectIdPath
| |
resource.issuancePolicy.baselineValues.nameConstraints.critical
| |
resource.issuancePolicy.baselineValues.nameConstraints.excludedDnsNames
| |
resource.issuancePolicy.baselineValues.nameConstraints.excludedEmailAddresses
| |
resource.issuancePolicy.baselineValues.nameConstraints.excludedIpRanges
| |
resource.issuancePolicy.baselineValues.nameConstraints.excludedUris
| |
resource.issuancePolicy.baselineValues.nameConstraints.permittedDnsNames
| |
resource.issuancePolicy.baselineValues.nameConstraints.permittedEmailAddresses
| |
resource.issuancePolicy.baselineValues.nameConstraints.permittedIpRanges
| |
resource.issuancePolicy.baselineValues.nameConstraints.permittedUris
| |
resource.issuancePolicy.baselineValues.policyIds.objectIdPath
| |
resource.issuancePolicy.identityConstraints.allowSubjectAltNamesPassthrough
| |
resource.issuancePolicy.identityConstraints.allowSubjectPassthrough
| |
resource.issuancePolicy.identityConstraints.celExpression
| |
resource.issuancePolicy.maximumLifetime
| |
resource.issuancePolicy.passthroughExtensions.additionalExtensions.objectIdPath
| |
resource.issuancePolicy.passthroughExtensions.knownExtensions
| |
resource.name
| |
resource.publishingOptions.encodingFormat
| |
resource.publishingOptions.publishCaCert
| |
resource.publishingOptions.publishCrl
| |
resource.tier
| |
| privateca.googleapis.com/CertificateAuthority |
resource.config.subjectConfig.subject.commonName
|
resource.config.subjectConfig.subject.countryCode
| |
resource.config.subjectConfig.subject.locality
| |
resource.config.subjectConfig.subject.organization
| |
resource.config.subjectConfig.subject.organizationalUnit
| |
resource.config.subjectConfig.subject.postalCode
| |
resource.config.subjectConfig.subject.province
| |
resource.config.subjectConfig.subject.streetAddress
| |
resource.config.subjectConfig.subjectAltName.customSans.critical
| |
resource.config.subjectConfig.subjectAltName.customSans.objectId.objectIdPath
| |
resource.config.subjectConfig.subjectAltName.customSans.value
| |
resource.config.subjectConfig.subjectAltName.dnsNames
| |
resource.config.subjectConfig.subjectAltName.emailAddresses
| |
resource.config.subjectConfig.subjectAltName.ipAddresses
| |
resource.config.subjectConfig.subjectAltName.uris
| |
resource.config.subjectKeyId.keyId
| |
resource.config.x509Config.additionalExtensions.critical
| |
resource.config.x509Config.additionalExtensions.objectId.objectIdPath
| |
resource.config.x509Config.additionalExtensions.value
| |
resource.config.x509Config.aiaOcspServers
| |
resource.config.x509Config.caOptions.isCa
| |
resource.config.x509Config.caOptions.maxIssuerPathLength
| |
resource.config.x509Config.keyUsage.baseKeyUsage.certSign
| |
resource.config.x509Config.keyUsage.baseKeyUsage.contentCommitment
| |
resource.config.x509Config.keyUsage.baseKeyUsage.crlSign
| |
resource.config.x509Config.keyUsage.baseKeyUsage.dataEncipherment
| |
resource.config.x509Config.keyUsage.baseKeyUsage.decipherOnly
| |
resource.config.x509Config.keyUsage.baseKeyUsage.digitalSignature
| |
resource.config.x509Config.keyUsage.baseKeyUsage.encipherOnly
| |
resource.config.x509Config.keyUsage.baseKeyUsage.keyAgreement
| |
resource.config.x509Config.keyUsage.baseKeyUsage.keyEncipherment
| |
resource.config.x509Config.keyUsage.extendedKeyUsage.clientAuth
| |
resource.config.x509Config.keyUsage.extendedKeyUsage.codeSigning
| |
resource.config.x509Config.keyUsage.extendedKeyUsage.emailProtection
| |
resource.config.x509Config.keyUsage.extendedKeyUsage.ocspSigning
| |
resource.config.x509Config.keyUsage.extendedKeyUsage.serverAuth
| |
resource.config.x509Config.keyUsage.extendedKeyUsage.timeStamping
| |
resource.config.x509Config.keyUsage.unknownExtendedKeyUsages.objectIdPath
| |
resource.config.x509Config.nameConstraints.critical
| |
resource.config.x509Config.nameConstraints.excludedDnsNames
| |
resource.config.x509Config.nameConstraints.excludedEmailAddresses
| |
resource.config.x509Config.nameConstraints.excludedIpRanges
| |
resource.config.x509Config.nameConstraints.excludedUris
| |
resource.config.x509Config.nameConstraints.permittedDnsNames
| |
resource.config.x509Config.nameConstraints.permittedEmailAddresses
| |
resource.config.x509Config.nameConstraints.permittedIpRanges
| |
resource.config.x509Config.nameConstraints.permittedUris
| |
resource.config.x509Config.policyIds.objectIdPath
| |
resource.gcsBucket
| |
resource.keySpec.algorithm
| |
resource.keySpec.cloudKmsKeyVersion
| |
resource.lifetime
| |
resource.name
| |
resource.subordinateConfig.certificateAuthority
| |
resource.subordinateConfig.pemIssuerChain.pemCertificates
| |
resource.type
| |
resource.userDefinedAccessUrls.aiaIssuingCertificateUrls
| |
resource.userDefinedAccessUrls.crlAccessUrls
| |
| privateca.googleapis.com/CertificateTemplate |
resource.description
|
resource.identityConstraints.allowSubjectAltNamesPassthrough
| |
resource.identityConstraints.allowSubjectPassthrough
| |
resource.identityConstraints.celExpression
| |
resource.maximumLifetime
| |
resource.name
| |
resource.passthroughExtensions.additionalExtensions.objectIdPath
| |
resource.passthroughExtensions.knownExtensions
| |
resource.predefinedValues.additionalExtensions.critical
| |
resource.predefinedValues.additionalExtensions.objectId.objectIdPath
| |
resource.predefinedValues.additionalExtensions.value
| |
resource.predefinedValues.aiaOcspServers
| |
resource.predefinedValues.caOptions.isCa
| |
resource.predefinedValues.caOptions.maxIssuerPathLength
| |
resource.predefinedValues.keyUsage.baseKeyUsage.certSign
| |
resource.predefinedValues.keyUsage.baseKeyUsage.contentCommitment
| |
resource.predefinedValues.keyUsage.baseKeyUsage.crlSign
| |
resource.predefinedValues.keyUsage.baseKeyUsage.dataEncipherment
| |
resource.predefinedValues.keyUsage.baseKeyUsage.decipherOnly
| |
resource.predefinedValues.keyUsage.baseKeyUsage.digitalSignature
| |
resource.predefinedValues.keyUsage.baseKeyUsage.encipherOnly
| |
resource.predefinedValues.keyUsage.baseKeyUsage.keyAgreement
| |
resource.predefinedValues.keyUsage.baseKeyUsage.keyEncipherment
| |
resource.predefinedValues.keyUsage.extendedKeyUsage.clientAuth
| |
resource.predefinedValues.keyUsage.extendedKeyUsage.codeSigning
| |
resource.predefinedValues.keyUsage.extendedKeyUsage.emailProtection
| |
resource.predefinedValues.keyUsage.extendedKeyUsage.ocspSigning
| |
resource.predefinedValues.keyUsage.extendedKeyUsage.serverAuth
| |
resource.predefinedValues.keyUsage.extendedKeyUsage.timeStamping
| |
resource.predefinedValues.keyUsage.unknownExtendedKeyUsages.objectIdPath
| |
resource.predefinedValues.nameConstraints.critical
| |
resource.predefinedValues.nameConstraints.excludedDnsNames
| |
resource.predefinedValues.nameConstraints.excludedEmailAddresses
| |
resource.predefinedValues.nameConstraints.excludedIpRanges
| |
resource.predefinedValues.nameConstraints.excludedUris
| |
resource.predefinedValues.nameConstraints.permittedDnsNames
| |
resource.predefinedValues.nameConstraints.permittedEmailAddresses
| |
resource.predefinedValues.nameConstraints.permittedIpRanges
| |
resource.predefinedValues.nameConstraints.permittedUris
| |
resource.predefinedValues.policyIds.objectIdPath
|