Nimble’s IAM principal
Every Job runs under a single IAM user:Principal in the bucket policy.
Required permissions
| Prefix | Permission |
|---|---|
s3://YOUR_BUCKET (whole bucket) | s3:ListBucket |
s3://YOUR_BUCKET/input/* | s3:GetObject |
s3://YOUR_BUCKET/output/* | s3:GetObject, s3:PutObject, s3:AbortMultipartUpload, s3:ListMultipartUploadParts |
s3:AbortMultipartUpload and s3:ListMultipartUploadParts are required because large output files are written in parts. If an upload fails mid-way, Nimble aborts the incomplete multipart upload so partial bytes do not accumulate in the bucket.
s3:DeleteObject is not requested. Nimble never deletes files in the bucket - including the connection-test probe described below.Bucket policy template
ReplaceYOUR_BUCKET with the bucket name. Adjust the input/ and output/ prefixes to match the paths used in the Job form.
Applying the policy
Test Connection - what it does
| Mode | Operation | Verifies |
|---|---|---|
| Read (input path) | head_bucket + list one object under the prefix | s3:ListBucket + s3:GetObject |
| Write (output path) | head_bucket + put_object of an empty .nimble-connection-test file at the prefix | s3:ListBucket + s3:PutObject |
The write test leaves an empty
.nimble-connection-test file under the output prefix. The file is not deleted - the policy does not grant s3:DeleteObject, so cleanup is not possible. The key is deterministic, so repeated tests overwrite the same object. At most one residue file per output prefix. Remove it manually at any time.Interpreting the result
| Chip | Meaning | Fix |
|---|---|---|
| ✓ Connection OK | Permissions correct. The prefix has files. | Ready to use. |
| ✓ Connection OK - prefix is empty | Permissions correct. The prefix has no files yet. | Upload the first input file. |
| ✗ Access denied | The bucket policy is missing a required permission. | Re-apply the template above. |
| ✗ Bucket does not exist | The bucket name in the path is wrong. | Verify the bucket name. |
| ✗ Connection failed | Network, throttling, or unexpected S3 error. | Retry. Contact support if it persists. |
Related
All connections
Browse every Job storage connector.
Databricks
Connect a Job via Delta Sharing instead.