How does Amazon Simple Storage Service (S3) work?

AWS S3 (Amazon Simple Storage Service) is a cloud storage service that provides secure, durable, and scalable storage for various applications and use cases. From a security perspective, AWS S3 offers several features and tools to help ensure your data's confidentiality, integrity, and availability.

AWS S3 Buckets are truly global no region or account ID in their ARN included. One key security feature of AWS S3 is that it uses encryption to protect your data both in transit and at rest. When data is transferred to or from S3, it is encrypted using Secure Sockets Layer (SSL) or Transport Layer Security (TLS) to prevent unauthorized access. S3 also offers options for encrypting data at rest, including server-side encryption using keys managed by AWS or client-side encryption using keys you control yourself. S3 provides three different types of Server-side encryption options. 

  • SSE-S3 - pure S3 managed encryption

  • SSE-KMS - standard KMS integration like other AWS services

  • SSE-C - The plaintext encryption key is sent via the API request 

AWS S3 also provides fine-grained access controls to help you manage who has access to your data. You can use Amazon Identity and Access Management (IAM) policies and access control lists (ACLs) to specify which users and services can access your data and what actions they can perform. The bucket owner would pay for storage, manage all the storage classes, and can delete or deny access to any object within the bucket. 

S3 Bucket policies are resource-based. ACLs are defined based on bucket and object resource-based policy. A default ACL for s3 grants the owner of the account complete control and access. ACL provides the option of grants. A grant provides the ability to complete a task based on specific permissions. ACL permission that applies for s3 includes READ/WRITE. For specific S3 Buckets, public access can be blocked or restricted.  

In addition to these security features, AWS S3 offers several tools and best practices to help you secure your data. For example, you can use AWS CloudTrail to track changes to your S3 objects and bucket policies, allowing you to identify and investigate potential security issues. You can also use AWS S3 Inventory to generate reports on the permissions and access patterns of your data, helping you to monitor for any potential security risks. S3 provides the ability to send event notifications per bucket created. You can create events for sources, such as object creation, deletion, restoration, and loss. Events can be transmitted through multiple AWS services, such as SNS Topic, SQS Queue, and AWS Lambda. 

S3 provides versioning enabled on a bucket, and all object versions [including deleted ones] remain available. Only the bucket owner can permanently delete objects. You can also use AWS S3 Transfer Acceleration to improve the speed and reliability of transferring large amounts of data to and from S3, reducing the risk of data loss or corruption.

Overall, AWS S3 is a secure and reliable cloud storage service that provides several features and tools to help protect your data. By taking advantage of these security features and best practices, you can ensure that your data is protected and easily accessible to authorized users.

Previous
Previous

What is Javascript Prototype Pollution?

Next
Next

The difference between DynamoDb, RDS, Redshift and Aurora Database