aws-sagemaker-update-notebook-config

UpdateNotebookInstance changes notebook configuration including RoleArn (with PassRole), instance type, subnet, and security groups.

derived aws emits CanModifyConfiguration

match (effective permission)

{ "action": "sagemaker:UpdateNotebookInstance", "resource_type": "AWS::SageMaker::NotebookInstance" }

emit

source typeIdentity
target typeNotebook
source<principal>
target<SageMaker NotebookInstance>
permissionssagemaker:UpdateNotebookInstance
conditionsiam_permission

Narrative

{principal.name} can change {notebook.name}'s configuration including execution role (with iam:PassRole), network placement, and lifecycle config (sagemaker:UpdateNotebookInstance).

Raw rule rules/derived/aws/sagemaker.yaml

id: aws-sagemaker-update-notebook-config
emits: CanModifyConfiguration
description: UpdateNotebookInstance changes notebook configuration including RoleArn (with PassRole),
  instance type, subnet, and security groups.
match_effective_permission:
  action: sagemaker:UpdateNotebookInstance
  resource_type: AWS::SageMaker::NotebookInstance
emit:
  source_type: Identity
  target_type: Notebook
  source: <principal>
  target: <SageMaker NotebookInstance>
  permissions:
  - sagemaker:UpdateNotebookInstance
  conditions:
  - iam_permission
  false_positive_note: "Changing RoleArn requires iam:PassRole on the new role (sagemaker.amazonaws.com).\
    \ Without PassRole, the attacker can change instance type/subnet/security-groups but NOT the execution\
    \ identity \u2014 CanModifyConfiguration is still valid for network/placement changes but CanAttachIdentity\
    \ is blocked. Model the role-swap capability only when iam:PassRole is also effective."
  narrative: '{principal.name} can change {notebook.name}''s configuration including execution role (with
    iam:PassRole), network placement, and lifecycle config (sagemaker:UpdateNotebookInstance).'
move · open · esc close