gcp-vertexai-explicit-notebook-use-execute-command

Principal holds notebooks.instances.use on a Workbench instance (explicit permission normalization).

explicit gcp emits CanExecuteCommand

match (effective permission)

{ "action": "notebooks.instances.use", "resource_type": "google.notebooks.Instance" }

where

The instance must be ACTIVE/RUNNING; a STOPPED instance requires CanStart first.

emit

source typeIdentity
target typeNotebook
source<principal>
target<Workbench notebook instance>
permissionsnotebooks.instances.use
state logicACTIVE when notebooks.instances.use is confirmed on the target instance and the instance is RUNNING. CONDITIONAL(service_state) if the instance is STOPPED (requires CanStart first).

Raw rule rules/explicit/gcp-vertexai.yaml

id: gcp-vertexai-explicit-notebook-use-execute-command
emits: CanExecuteCommand
description: Principal holds notebooks.instances.use on a Workbench instance (explicit permission normalization).
match_effective_permission:
  action: notebooks.instances.use
  resource_type: google.notebooks.Instance
where:
- The instance must be ACTIVE/RUNNING; a STOPPED instance requires CanStart first.
emit:
  source_type: Identity
  target_type: Notebook
  source: <principal>
  target: <Workbench notebook instance>
  permissions:
  - notebooks.instances.use
  state_logic: ACTIVE when notebooks.instances.use is confirmed on the target instance and the instance
    is RUNNING. CONDITIONAL(service_state) if the instance is STOPPED (requires CanStart first).
  note: Opening JupyterLab on the notebook instance enables arbitrary code execution. Feeds can-execute-as
    execute-as-via-command linchpin (CanExecuteCommand + ExecutesAs -> CanExecuteAs).
move · open · esc close