Skip to main content

S3

Status: experimental

The S3 plugin automatically discovers and catalogs Amazon S3 buckets across your AWS accounts. It captures comprehensive bucket metadata including security configurations, lifecycle policies, encryption settings, and AWS resource tags.

Prerequisites

AWS Permissions

The plugin requires the following IAM permissions:

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"s3:ListAllMyBuckets",
"s3:GetBucketLocation",
"s3:GetBucketVersioning",
"s3:GetBucketEncryption",
"s3:GetPublicAccessBlock",
"s3:GetBucketNotification",
"s3:GetBucketLifecycleConfiguration",
"s3:GetBucketReplication",
"s3:GetBucketWebsite",
"s3:GetBucketLogging",
"s3:GetBucketAccelerateConfiguration",
"s3:GetBucketRequestPayment",
"s3:GetBucketTagging"
],
"Resource": "*"
}
]
}

Minimal Permissions

For basic bucket discovery without detailed configuration:

{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": ["s3:ListAllMyBuckets", "s3:GetBucketLocation"],
"Resource": "*"
}
]
}

Example Configuration


credentials:
region: "us-east-1"
id: "<aws-secret-id>"
secret: "<aws-secret-key>"
tags:
- "s3"

Configuration

The following configuration options are available:

PropertyTypeRequiredDescription
awsAWSConfigfalse
credentialsAWSCredentialsfalseAWS credentials configuration
external_links[]ExternalLinkfalse
filterFilterfalseFilter patterns for AWS resources
global_documentation[]stringfalse
global_documentation_positionstringfalse
include_tags[]stringfalseList of AWS tags to include as metadata
mergeMergeConfigfalse
metadataMetadataConfigfalse
tagsTagsConfigfalse
tags_to_metadataboolfalseConvert AWS tags to Marmot metadata

Available Metadata

The following metadata fields are available:

FieldTypeDescription
accelerate_configstringTransfer acceleration configuration
bucket_arnstringThe ARN of the S3 bucket
creation_datestringWhen the bucket was created
encryptionstringBucket encryption configuration
lifecycle_configstringBucket lifecycle configuration
logging_configstringBucket access logging configuration
notification_configstringBucket notification configuration
public_access_blockstringPublic access block configuration
regionstringThe AWS region where the bucket is located
replication_configstringBucket replication configuration
request_payment_configstringRequest payment configuration
tagsmap[string]stringAWS resource tags
versioningstringBucket versioning status
website_configstringStatic website hosting configuration