gcp-certmanager-can-sign-as-explicit

explicit gcp emits CanSignAs

match (effective permission)

{ "action": "privateca.certificates.create", "resource_type": "google.privateca.CaPool" }

where

principal ALSO has EFFECTIVE privateca.caPools.use on the same pool (both required)

emit

source typeIdentity
source<principal>
target<CA pool node (SigningKey)>
permissionsprivateca.certificates.create privateca.caPools.use

Narrative

{principal.name} can issue certificates signed by CA pool {capool.name} (privateca.certificates.create + privateca.caPools.use).

Raw rule rules/explicit/gcp-certmanager.yaml

id: gcp-certmanager-can-sign-as-explicit
emits: CanSignAs
applies_to:
- gcp
match_effective_permission:
  action: privateca.certificates.create
  resource_type: google.privateca.CaPool
where:
- principal ALSO has EFFECTIVE privateca.caPools.use on the same pool (both required)
emit:
  source_type: Identity
  source: <principal>
  target: <CA pool node (SigningKey)>
  api_source: "policy evaluation (Policy Analyzer) \u2014 NOT certificates.create itself"
  permissions:
  - privateca.certificates.create
  - privateca.caPools.use
  evidence_field: "issuancePolicy (allowed subject/SAN constraints) \u2014 gates forgery"
  narrative: '{principal.name} can issue certificates signed by CA pool {capool.name} (privateca.certificates.create
    + privateca.caPools.use).'
move · open · esc close