N8N Tools - S3 Enhanced icon

N8N Tools - S3 Enhanced

Enhanced S3 operations with presigned URLs, multipart upload, and advanced features

Overview

The node "N8N Tools - S3 Enhanced" provides a comprehensive set of operations to interact with S3-compatible object storage services. It supports advanced features such as generating presigned URLs for secure temporary access, multipart uploads for large files, and detailed bucket and object management capabilities.

For the Get Bucket ACL operation specifically, the node retrieves the Access Control List (ACL) of a specified S3 bucket. This ACL contains information about the bucket owner and the permissions granted to various users or groups on that bucket.

Common scenarios where this node is beneficial:

  • Auditing bucket permissions to ensure proper access control.
  • Integrating bucket permission checks into automated workflows.
  • Managing and monitoring security settings of S3 buckets programmatically.

Practical example:

You want to verify who has access to your S3 bucket named "my-bucket-name" before sharing it with a third party. Using this node's Get Bucket ACL operation, you can fetch the current ACL details and review the owners and grants to confirm the access rights.


Properties

Name Meaning
Bucket Name The name of the S3 bucket whose ACL you want to retrieve.

Output

The output JSON object for the Get Bucket ACL operation includes:

  • bucket: The name of the bucket queried.
  • owner: An object representing the owner of the bucket, typically containing identifiers like ID and display name.
  • grants: An array of grant objects describing the permissions assigned to different grantees (users, groups, etc.) on the bucket.

Example output structure:

{
  "bucket": "my-bucket-name",
  "owner": {
    "ID": "owner-id",
    "DisplayName": "owner-display-name"
  },
  "grants": [
    {
      "Grantee": {
        "Type": "CanonicalUser",
        "ID": "user-id",
        "DisplayName": "user-display-name"
      },
      "Permission": "FULL_CONTROL"
    },
    {
      "Grantee": {
        "Type": "Group",
        "URI": "http://acs.amazonaws.com/groups/global/AllUsers"
      },
      "Permission": "READ"
    }
  ]
}

This output allows you to understand who owns the bucket and what access rights are granted to which entities.


Dependencies

  • Requires an API key credential with access to an S3-compatible service.
  • Uses AWS SDK clients internally to communicate with the S3 API.
  • The node expects valid credentials configured in n8n for the S3-compatible service.
  • Network connectivity to the S3 endpoint is required.

Troubleshooting

  • Common issues:

    • Invalid or missing credentials will cause authentication failures.
    • Incorrect bucket names may result in errors indicating the bucket does not exist.
    • Insufficient permissions on the provided credentials can lead to access denied errors.
  • Common error messages and resolutions:

    • "Access denied. Check your credentials and permissions."
      Ensure the API key has permission to perform GetBucketAcl on the target bucket.
    • "Cannot connect to endpoint. Check your endpoint URL and network connection."
      Verify the endpoint URL and network accessibility.
    • "S3 operation failed: <error message>"
      Review the specific error message for clues; often related to invalid parameters or permissions.

Links and References

Discussion