DataWarehouse
Redshift/Synapse/BigQuery.
class: Data
Realizing resources
aws aws
| resource | scope | enumerate | required permissions |
|---|---|---|---|
aws:redshift:cluster |
regional | redshift:DescribeClusters |
redshift:DescribeClusters |
gcp gcp
| resource | scope | enumerate | required permissions |
|---|---|---|---|
gcp:bigquery:dataset |
global | bigquery.datasets.list |
bigquery.datasets.get |
As edge source
As edge target
AuthenticatesToCanAdministerCanAttachIdentityCanControlCanCreateCanDeleteCanDeleteDataCanExfiltrateCanModifyCanModifyConfigurationCanModifyPolicyCanNetworkReachCanReachPortCanReadCanReadDataCanReplaceCanTakeOwnershipCanWriteCanWriteDataContainsContainsResourceReferenceControlsCredentialsForHasPermissionPrivateReachabilityExposure sites
aws-accessanalyzer-finding-details-metadataaws-appflow-flow-data-destinationaws-athena-query-result-rowsaws-backup-recovery-point-restored-contentaws-bedrock-runtime-prompt-response-payloadaws-cloudfront-key-value-store-valueaws-cloudtrail-event-data-store-query-resultsaws-cloudtrail-event-request-response-payload
Rules that touch DataWarehouse 14
A principal who can read LF-governed table data (via Athena/Glue/EMR/Redshift Spectrum) and can write query output to an external S3 destination (UNLOAD / Glue job target / EMR write) can exfiltrate the governed data out of the account's LF-controlled boundary.
aws
CanExfiltrateAn effective Lake Formation SELECT grant on a governed table, combined with IAM permission to call an analytics service (Athena, Glue, EMR, Redshift Spectrum, SageMaker), enables reading the underlying S3 data via LF-vended credentials (lakeformation:GetDataAccess called internally by the service).
aws
CanReadDataA principal with secretsmanager:GetSecretValue on the Redshift ManagedAdminPassword secret can retrieve the plaintext admin DB password and connect as superuser, reading all warehouse data.
aws
CanReadDataredshift:AuthorizeDataShare grants a consumer AWS account real-time read access to producer cluster objects, establishing cross-account live data trust.
Pass a privileged IAM role to a Redshift cluster (iam:PassRole + ModifyClusterIamRoles), then submit a COPY/UNLOAD/UDF query that uses that role's AWS permissions. Covers both already-attached and attach-new-then-execute paths.
aws
CanExecuteAsA principal with query execution on a Redshift cluster can run UNLOAD using an attached IAM role that has s3:PutObject, exfiltrating warehouse data to an S3 location.
aws
CanExfiltrateredshift:GetClusterCredentials generates a temporary database username/password, enabling JDBC/ODBC authentication to the cluster as the requested DB user.
A Redshift cluster or Serverless workgroup with PubliclyAccessible=true and a permissive VPC security group is reachable from the public internet on port 5439.
redshift-data:ExecuteStatement lets a principal run SELECT queries against the cluster via the Data API, reading tables accessible to the IAM-mapped DB user.
aws
CanReadDataredshift-serverless:PutResourcePolicy allows a principal to grant another AWS account live access to a Redshift Serverless namespace via resource policy.
Modify code of a compute resource that runs as a privileged identity.
Change the execution identity binding of a compute resource to a chosen privileged identity.
A principal with bigquery.datasets.setIamPolicy can self-grant roles/bigquery.dataOwner and escalate its data-plane privilege.
gcp
CanEscalateTo