Amazon Simple Storage Service
Developer Guide (API Version 2006-03-01)
Search:
Entire Site
AMIs
Articles & Tutorials
AWS Product Information
Case Studies
Customer Apps
Developer Tools
Documentation
Public Data Sets
Release Notes
Solution Providers
Sample Code & Libraries
Welcome to Amazon S3
Introduction to Amazon S3
Making Requests
Making Requests using AWS SDKs
Making Requests Using AWS Account or IAM User Credentials
Making Requests Using AWS Account or IAM User Credentials - AWS SDK for Java
Making Requests Using AWS Account or IAM User Credentials - AWS SDK for .NET
Making Requests Using AWS Account or IAM User Credentials - AWS SDK for PHP
Making Requests Using AWS Account or IAM User Credentials - AWS SDK for Ruby
Making Requests Using IAM User Temporary Credentials
Making Requests Using IAM User Temporary Credentials - AWS SDK for Java
Making Requests Using IAM User Temporary Credentials - AWS SDK for .NET
Making Requests Using IAM User Temporary Credentials - AWS SDK for PHP
Making Requests Using IAM User Temporary Credentials - AWS SDK for Ruby
Making Requests Using Federated User Temporary Credentials
Making Requests Using Federated User Temporary Credentials - AWS SDK for Java
Making Requests Using Federated User Temporary Credentials - AWS SDK for .NET
Making Requests Using Federated User Temporary Credentials - AWS SDK for PHP
Making Requests Using Federated User Temporary Credentials - AWS SDK for Ruby
Making Requests using the REST API
Authenticating Requests Using the REST API
Signing and Authenticating REST Requests
Virtual Hosting of Buckets
Request Redirection and the REST API
Browser-Based Uploads Using POST
HTML Forms
Upload Examples
POST with Adobe Flash
Working with Amazon S3 Buckets
Bucket Restrictions and Limitations
Bucket Configuration Options
Buckets and Regions
Managing Bucket Website Configuration
Managing Websites with the AWS Management Console
Managing Websites with the AWS SDK for Java
Managing Websites with the AWS SDK for .NET
Managing Websites with the AWS SDK for PHP
Managing Websites with the REST API
Requester Pays Buckets
Configure Requester Pays by Using the Amazon S3 Console
Configure Requester Pays Using REST API
Setting the requestPayment Bucket Configuration
Retrieving requestPayment Configuration
Downloading Objects in Requester Pays Buckets
Buckets and Access Control
Billing and Reporting of Buckets
Working with Amazon S3 Objects
Object Key and Metadata
Object Subresources
Object Versioning
Object Lifecycle Management
Object Archival
Object Expiration
Manage Object Lifecycle Using the AWS Management Console
Manage Object Lifecycle Using the AWS SDK for Java
Manage Object Lifecycle Using the AWS SDK for .NET
Manage Object Lifecycle Using the REST API
Enabling Cross-Origin Resource Sharing
Enabling Cross-Origin Resource Sharing (CORS) Using the AWS Management Console
Enabling Cross-Origin Resource Sharing (CORS) Using the AWS SDK for Java
Enabling Cross-Origin Resource Sharing (CORS) Using the AWS SDK for .NET
Enabling Cross-Origin Resource Sharing (CORS) Using the REST API
Operations on Objects
Multipart Upload Overview
Quick Facts
API Support for Multipart Upload
Multipart Upload API and Permissions
Getting Objects
Get an Object Using the AWS SDK for Java
Get an Object Using the AWS SDK for .NET
Get an Object Using the AWS SDK for PHP
Get an Object Using REST API
Share an Object with Others
Generate Pre-signed Object URL using AWS Explorer for Visual Studio
Generate Pre-signed Object URL using AWS SDK for Java
Generate Pre-signed Object URL using AWS SDK for .NET
Uploading Objects
Uploading Objects in a Single Operation
Upload an Object Using the AWS SDK for Java
Upload an Object Using the AWS SDK for .NET
Upload an Object Using the AWS SDK for PHP
Upload an Object Using the AWS SDK for Ruby
Upload an Object Using the REST API
Uploading Objects Using Multipart Upload API
Using the AWS SDK for Java for Multipart Upload
Using the High-Level Java API for Multipart Upload
Upload a File
Abort Multipart Uploads
Track Multipart Upload Progress
Using the Low-Level Java API for Multipart Upload
Upload a File
List Multipart Uploads
Abort a Multipart Upload
Using the AWS SDK for .NET for Multipart Upload
Using the High-Level .NET API for Multipart Upload
Upload a File
Upload a Directory
Abort Multipart Uploads
Track Multipart Upload Progress
Using the Low-Level .NET API for Multipart Upload
Upload a File
List Multipart Uploads
Track Multipart Upload Progress
Abort a Multipart Upload
Using the AWS SDK for PHP for Multipart Upload
Using the High-Level PHP API for Multipart Upload
Upload a File
Using the Low-Level PHP API for Multipart Upload
Upload a File
List Multipart Uploads
Abort a Multipart Upload
Using the REST API for Multipart Upload
Uploading Objects Using Pre-Signed URLs
Upload an Object Using Pre-Signed URL - AWS SDK for Java
Upload an Object Using Pre-Signed URL - AWS SDK for .NET
Upload an Object Using Pre-Signed URL - AWS SDK for Ruby
Copying Objects
Copying Objects in a Single Operation
Copy an Object Using the AWS SDK for Java
Copy an Object Using the AWS SDK for .NET
Copy an Object Using the AWS SDK for PHP
Copy an Object Using the AWS SDK for Ruby
Copy an Object Using the REST API
Copying Objects Using the Multipart Upload API
Copy an Object Using the AWS SDK for Java Multipart Upload API
Copy an Object Using the AWS SDK for .NET Multipart Upload API
Copy Object Using the REST Multipart Upload API
Listing Object Keys
Listing Keys Hierarchically Using Prefix and Delimiter
Listing Keys Using the AWS SDK for Java
Listing Keys Using the AWS SDK for .NET
Listing Keys Using the AWS SDK for PHP
Listing Keys Using the REST API
Deleting Objects
Deleting One Object Per Request
Deleting an Object Using the AWS SDK for Java
Deleting an Object Using the AWS SDK for .NET
Deleting an Object Using the AWS SDK for PHP
Deleting an Object Using the REST API
Deleting Multiple Objects Per Request
Deleting Multiple Objects Using the AWS SDK for Java
Deleting Multiple Objects Using the AWS SDK for .NET
Deleting Multiple Objects Using the AWS SDK for PHP
Deleting Multiple Objects Using the REST API
Restoring Objects
Restore an Object Using Console
Restore an Object Using the AWS SDK for Java
Restore an Object Using the AWS SDK for .NET
Restore an Object Using REST API
Access Control
Using IAM Policies
An Example: Using IAM policies to control access to your bucket
Using Bucket Policies
Writing Bucket Policies
Setting Bucket Policies on a Bucket
Returning the Bucket Policies on a Bucket
Deleting Bucket Policies on a Bucket
Example Cases for Amazon S3 Bucket Policies
How to Use Resources, Principals, Operations, and Conditions in Bucket Policies
Using ACLs
Access Control List (ACL) Overview
Managing ACLs
Managing ACLs in the AWS Management Console
Managing ACLs Using the AWS SDK for Java
Managing ACLs Using the AWS SDK for .NET
Managing ACLs Using the REST API
When to Use ACLs vs. Bucket Policies
Using ACLs and Bucket Policies Together
Using Query String Authentication
Data Protection
Using Data Encryption
Using Server-Side Encryption
Specifying Server-Side Encryption Using the AWS SDK for Java
Specifying Server-Side Encryption Using the AWS SDK for .NET
Specifying Server-Side Encryption Using the AWS SDK for PHP
Specifying Server-Side Encryption Using the AWS SDK for Ruby
Specifying Server-Side Encryption Using REST API
Specifying Server-Side Encryption Using the AWS Management Console
Using Client-Side Encryption
Specifying Client-Side Encryption Using the AWS SDK for Java
Customizing Your Client-Side Encryption Environment
Using Reduced Redundancy Storage
Setting the Storage Class of an Object You Upload
Changing the Storage Class of an Object in Amazon S3
Return Code For Lost Data
Using Versioning
Enabling a Bucket's Versioning State
MFA Delete
Enabling Versioning
Configuring a Bucket with MFA Delete
Suspending Versioning
Determining the Versioning State
Adding Objects to Versioning-Enabled Buckets
Listing the Objects in a Versioning-Enabled Bucket
Retrieving a Subset of Objects in Buckets
Retrieving All Versions of a Key
Retrieving Additional Object Versions after Exceeding Max-Keys
Retrieving Object Versions
Retrieving the Metadata of an Object Version
Deleting Object Versions
Using MFA Delete
Working With Delete Markers
Removing Delete Markers
Restoring Previous Versions
Versioned Object Permissions and ACLs
Working with Versioning-Suspended Buckets
Adding Objects to Versioning-Suspended Buckets
Retrieving Objects from Versioning-Suspended Buckets
Deleting Objects from Versioning-Suspended Buckets
Hosting a Static Website on Amazon S3
Website Endpoints
Configure a Bucket for Website Hosting
Index Document Support
Custom Error Document Support
Configuring a Redirect
Permissions Required for Website Access
Example Walkthroughs
Example: Setting Up a Static Website
Example: Setting Up a Static Website Using a Custom Domain
Setting Up Notification of Bucket Events
Request Routing
Request Redirection and the REST API
DNS Considerations
Performance Optimization
TCP Window Scaling
TCP Selective Acknowledgement
Using BitTorrent with Amazon S3
How You are Charged for BitTorrent Delivery
Using BitTorrent to Retrieve Objects Stored in Amazon S3
Publishing Content Using Amazon S3 and BitTorrent
Using Amazon DevPay with Amazon S3
Amazon S3 Customer Data Isolation
Amazon DevPay Token Mechanism
Amazon S3 and Amazon DevPay Authentication
Amazon S3 Bucket Limitation
Amazon S3 and Amazon DevPay Process
Additional Information
Handling Errors
The REST Error Response
Error Response
Error Code
Error Message
Further Details
The SOAP Error Response
Amazon S3 Error Best Practices
Server Access Logging
Server Access Logging Configuration API
Delivery of Server Access Logs
Server Access Log Format
Setting Up Server Access Logging
Using the AWS SDKs and Explorers
Using the AWS SDK for Java
Using the AWS SDK for .NET
Using the AWS SDK for PHP
Using the AWS SDK for Ruby
Using the AWS SDK for Python (Boto)
Appendices
Appendix A: The Access Policy Language
Overview
Key Concepts
Architectural Overview
Using the Access Policy Language
Evaluation Logic
How to Write a Policy
Basic Policy Structure
Element Descriptions
Supported Data Types
Special Information for Amazon S3 Policies
Appendix B: Using the SOAP API
Common SOAP API Elements
Authenticating SOAP Requests
Setting Access Policy with SOAP
Amazon S3 Resources
Document History
Glossary
Index
AWS Documentation
»
Amazon Simple Storage Service (S3)
»
Developer Guide
»
Access Control
»
Using Bucket Policies
« Previous
Next »
Did this page help you?
Yes
|
No
|
Tell us about it...
Using Bucket Policies
Topics
Writing Bucket Policies
Setting Bucket Policies on a Bucket
Returning the Bucket Policies on a Bucket
Deleting Bucket Policies on a Bucket
Example Cases for Amazon S3 Bucket Policies
How to Use Resources, Principals, Operations, and Conditions in Bucket Policies
The following sections explain how to set and manage bucket policies on Amazon S3 resources.
Javascript is disabled or is unavailable in your browser.
To use the AWS Documentation, Javascript must be enabled. Please refer to your browser's Help pages for instructions.