aws-sagemaker-feature-group-read-data
GetRecord / BatchGetRecord reads ML feature data from a SageMaker Feature Store online store.
match (effective permission)
{
"action": "sagemaker:GetRecord",
"resource_type": "AWS::SageMaker::FeatureGroup"
}
where
feature group has an online store enabled
emit
| source type | Identity |
|---|---|
| target type | GenericData |
| source | <principal> |
| target | <SageMaker FeatureGroup> |
| permissions | sagemaker:GetRecord sagemaker:BatchGetRecord |
| conditions | iam_permission resource_policy |
Narrative
{principal.name} can read feature records from {featuregroup.name}'s online store (sagemaker:GetRecord / sagemaker:BatchGetRecord).
Raw rule rules/explicit/aws/sagemaker.yaml
id: aws-sagemaker-feature-group-read-data
emits: CanReadData
description: GetRecord / BatchGetRecord reads ML feature data from a SageMaker Feature Store online store.
match_effective_permission:
action: sagemaker:GetRecord
resource_type: AWS::SageMaker::FeatureGroup
where:
- feature group has an online store enabled
emit:
source_type: Identity
target_type: GenericData
source: <principal>
target: <SageMaker FeatureGroup>
permissions:
- sagemaker:GetRecord
- sagemaker:BatchGetRecord
conditions:
- iam_permission
- resource_policy
false_positive_note: "Online store reads return individual feature records \u2014 structured data, not\
\ bulk. Bulk offline-store access requires S3 read on the offline store prefix, which is an S3 CanReadData\
\ edge, not a SageMaker edge. For offline store S3 access, the standard S3 rules apply. Feature data\
\ may contain PII or sensitive ML training labels \u2014 treat as sensitive data."
narrative: '{principal.name} can read feature records from {featuregroup.name}''s online store (sagemaker:GetRecord
/ sagemaker:BatchGetRecord).'