1. 程式人生 > >Help Ensure Your S3 Resources Are Secure

Help Ensure Your S3 Resources Are Secure

Restricting access to your S3 resources

You can use S3 bucket and IAM policies to write custom, JSON-based permissions that determine which users can access which specific buckets and objects. For examples, see User Policy Examples and Bucket Policy Examples. You can also use the AWS Policy Generator

and IAM Policy Simulator for help creating and testing your user and bucket policies.

You can use the S3 console to set ACLs on your buckets and objects. Consider the following best practices when using ACLs to secure your resources:

  • Be stringent about who you allow read and write access to your buckets. You should carefully consider your use case before granting Read
    access to the Everyone group, because this allows anyone to access the bucket or object.
  • You should never allow Write access to the Everyone group, because this allows anyone to add objects to your bucket (which you will be billed for), and it allows anyone to delete objects in the bucket that you might want to keep.
  • The same is true for the Any authenticated AWS user group, which includes anyone with an active AWS account, not just IAM users in your account. To control access for IAM users on your account, use an IAM policy instead. For more information on how IAM policies are evaluated by Amazon S3, see How Amazon S3 Authorizes a Request.
  • If your use case requires more granular control, you can create your own ACL with a custom set of permissions.

In addition to policies or ACLs, you can enable MFA Delete, which requires a user to authenticate using a multi-factor authentication device (MFA) before they're able to delete a bucket or object. For more information, see How do I configure an Amazon S3 bucket so I can undelete files that have been deleted?

Monitoring your S3 resources

It's a best practice to enable a logging solution for your S3 resources to help you track what actions were performed against your S3 buckets. Here are some options to consider:

  • CloudTrail logs. For more information on how to configure CloudTrail, see Getting Started with CloudTrail.
    Note: By default, CloudTrail only tracks bucket-level actions. To track object-level actions (such as GetObject), enable S3 Data Events for each logged bucket.

In addition to providing raw logs, CloudTrail can be used in conjunction with services like CloudWatch and AWS Lambda to trigger specific processes when certain S3 actions are performed (for example, trigger an SNS notification to email your security administrator any time an object is deleted). For more information, see Log S3 Data Event.

Note: This Trusted Advisor check does not monitor for bucket policies that override bucket ACLs.

Using encryption to protect your data

If your use case requires encryption during transmission, S3 supports the HTTPS protocol, which encrypts data in transit to and from S3. All AWS tools and SDKs use HTTPS by default.

Note: If you use third-party tools to interact with S3, contact the developers to confirm if their tools also support the HTTPS protocol.

If your use case requires encryption for data at rest, S3 offers server-side encryption (SSE). You can specify the S3 SSE parameters when you write objects to the bucket; S3 offers SSE-S3, SSE-KMS, or SSE-C.

相關推薦

Help Ensure Your S3 Resources Are Secure

Restricting access to your S3 resources You can use S3 bucket and IAM policies to write custom, JSON-based permissions that determin

Get Help with Your AWS Account and Resources

To get help with AWS, try one of the following resources: Check the documentation for the service you're using. AWS docu

Ubuntu OSError: `pydot` failed to call GraphViz.Please install GraphViz (https://www.graphviz.org/) and ensure that its executables are in the $PATH.

安裝pydot,pip install pydot 出現OSError: pydot failed to call GraphViz.Please install GraphViz (https://www.graphviz.org/) and ensure that its executables are

How to make your iOS apps more secure with SSL pinning

swift 和 obj-c 完成 ssl 的寫法如下: We can start by instantiating an NSURLSession object with the default session configuration. Swift self.urlSession = NSURLSes

5 Ways To Ensure Your Chatbot Offers Better Customer Service

Chatbots are now mature enough, and there are plenty of good examples out there, to show any business how they can help improve their customer experience.

How ML Can Help With Your BI Insights

Companies in all industries must stay up to date with the latest tech to survive in this digital world. This is especially true in the case of machine lear

IAM Policies and Bucket Policies and ACLs! Oh, My! (Controlling Access to S3 Resources)

In previous posts we’ve explained how to write S3 policies for the console and how to use policy variables to grant access to user-specific S3 fol

Your Childhood Memories Are Probably Fake

I’m standing under the porch of our old redbrick house on the outskirts of London, a rickety fence to the left propping up unwieldy roses, and in front of

Let’s Stop Pretending Our Automated Systems Are Secure

This story is for Medium members.Continue with FacebookContinue with GoogleMedium curates expert stories from leading publishers exclusively for members (w

Roadmapping the AI race to help ensure safe development of AGI

Roadmapping the AI race to help ensure safe development of AGIThis article accompanies a visual roadmap which you can view and download here.Why are roadma

references to other resources are not supported by build-time PNG generation.

使用vectorDrawables資源時,容易遺漏“vectorDrawables.useSupportLibrary = true” android { compileSdkVersion 25 defaultConfig { application

在Android M及更高版本中使用 Settings.System 丟擲異常"You cannot keep your settings in the secure settings. "

最近專案需要從Android L遷移到Android M。在升級的過程中,遇到了如下的問題。  在專案中,有一些公共的資料是存放在存放在 系統資料庫SettingsProvider的System表中  在Android L中的使用方法是:  當需要寫資料時呼叫: Sett

Enforce the Use of MFA When Users From Other Accounts Access Your S3 Bucket

{ "Version": "2012-10-17", "Id": "Policy201612130001aa", "Statement": [ { "Sid": "Stmt201612130001ab",

Transfer Amazon S3 Resources

#New AWS account IAM user policy set up on destination AWS account. { "Version": "2012-10-17", "Statement": [ { "Eff

spark叢集在執行任務出現nitial job has not accepted any resources; check your cluster UI to ensure that worker

1 spark叢集在執行任務時出現了:     2 原因:這是因為預設分配的記憶體過大(1024M) 3 解決方法:      在conf/spark-env.sh下新增export  SPARK_WORKER_MEMORY=512和export  SPARK

hdu1712 ACboy needs your help

matrix program different sam term ext string.h tom panel Problem Description ACboy has N courses this term, and he plans to spend at

Where are your from!!!!!!!!!!!! !Baby! {封裝}

是我 format 派生 不同的 private pre 復用 日期 int 在說Java 三個特性之前,我們先了解一下什麽是面向對象,以及為什麽Java是面向對象的語言。 面向對象是區別於面向過程的一種編程的思想。我們可以通過這個例子冰箱裝大象的例子來了解一下面向對象與面

解決 There are no resources that can be added or removed from the server

nbsp source hat remove 沒有 部署項目 eclipse 中項 cli 網上下載了一個項目,在eclipse中部署時,加載項目到tomcat中項目名稱無法顯示,報出There are no resources that can be added or r

HDUOJ P1702 ACboy needs your help again!

pac class accept eve each present ever 完全 panel Time Limit: 1000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total

XYNU-ACM-ACboy needs your help again!

miss ber multiple pri use integer print present depend 題目描述 ACboy was kidnapped!! he miss his mother very much and is very scare now.Yo