storage: s3:GetBucketLocation, s3:ListBucket for buckets, and s3:GetObject, s3:GetObjectVersion for objects; s3:PutObject and s3:DeleteObject for write to S3
glue catalogglue:GetTable and glue:GetTables permissions and Resource list (table, catalog and database patterns)
Create AWS role (another AWS account, require external ID), selecting the policy created above
create integration
notification integration with direction = outbound and SNS topic ARN and IAM role ARN
storage integration using IAM Role ARN
describe integration and note down {STORAGE/SF/GLUE}_AWS_IAM_USER_ARN and {STORAGE/SF/GLUE}_AWS_EXTERNAL_ID
edit the IAM role, modify trust relationship to allow sts:AssumeRole permission to IAM User, and Condition that checks sts:ExternalId