# S3：关键S3存储桶保护

## 禁止更改在生产账号/日志归档账号中的Amazon S3存储桶的安全配置

SCP可以添加给生产账号和日志归档账号，提升关键账号的安全性。

Resource更换成你需要限制不允许更改配置的存储桶ARN，condition填写允许进行操作的角色的ARN，比如你的安全管理员角色。

```

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "GRCTAUDITBUCKETENCRYPTIONCHANGESPROHIBITED",
            "Effect": "Deny",
            "Action": [
                "s3:PutEncryptionConfiguration"
            ],
            "Resource": ["arn:aws:s3:::*"],
            "Condition": {
                "ArnNotLike": {
                    "aws:PrincipalARN":"arn:aws:iam::*:role/*SEC*"
                }
            }
        }
    ]
}

```

## 禁止更改在生产账号/日志归档账号中的Amazon S3存储桶的日志配置

SCP可以添加给生产账号和日志归档账号，提升关键账号的安全性。

Resource更换成你需要限制不允许更改配置的存储桶ARN，condition填写允许进行操作的角色的ARN，比如你的安全管理员角色。

```json

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "GRCTAUDITBUCKETLOGGINGCONFIGURATIONCHANGESPROHIBITED",
            "Effect": "Deny",
            "Action": [
                "s3:PutBucketLogging"
            ],
            "Resource": ["arn:aws:s3:::*"],
            "Condition": {
                "ArnNotLike": {
                    "aws:PrincipalARN":"arn:aws:iam::*:role/*SEC*"
                }
            }
        }
    ]
}

```

## 禁止更改在生产账号/日志归档账号中的Amazon S3存储桶的存储桶策略

SCP可以添加给生产账号和日志归档账号，提升关键账号的安全性。

Resource更换成你需要限制不允许更改配置的存储桶ARN，condition填写允许进行操作的角色的ARN，比如你的安全管理员角色。

```json

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "GRCTAUDITBUCKETPOLICYCHANGESPROHIBITED",
            "Effect": "Deny",
            "Action": [
                "s3:PutBucketPolicy",
                "s3:DeleteBucketPolicy"
            ],
            "Resource": ["arn:aws:s3:::*"],
            "Condition": {
                "ArnNotLike": {
                    "aws:PrincipalARN":"arn:aws:iam::*:role/*SEC*"
                }
            }
        }
    ]
}

```

## 禁止更改在生产账号/日志归档账号中的Amazon S3存储桶的生命周期设置

由于日志归档需要至少保留6个月，为了避免管理策略失效，可以增加SCP进行控制。

SCP可以添加给生产账号和日志归档账号，提升关键账号的安全性。

Resource更换成你需要限制不允许更改配置的存储桶ARN，condition填写允许进行操作的角色的ARN，比如你的安全管理员角色。

```json

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "GRCTAUDITBUCKETLIFECYCLECONFIGURATIONCHANGESPROHIBITED",
            "Effect": "Deny",
            "Action": [
                "s3:PutLifecycleConfiguration"
            ],
            "Resource": ["arn:aws:s3:::*"],
            "Condition": {
                "ArnNotLike": {
                    "aws:PrincipalARN":"arn:aws:iam::*:role/*SEC*"
                }
            }
        }
    ]
}

```
