

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# Amazon CodePipeline 基于资源的策略示例
<a name="security_iam_resource-based-policy-examples"></a>

**Topics**

其他服务（如 Amazon S3）还支持基于资源的权限策略。例如，您可以将策略附加到 S3 存储桶以管理对该存储桶的访问权限。尽管它 CodePipeline 不支持基于资源的策略，但它确实将要在管道中使用的工件存储在版本控制的 S3 存储桶中。

**Example 为 S3 存储桶创建策略以用作项目存储 CodePipeline**  
您可以使用任何版本控制的 S3 存储桶作为对象存储。 CodePipeline如果您使用**创建管道**向导创建第一个管道，则系统将会为您创建此 S3 存储桶，以确保上传到构件存储的所有对象都已加密，并且与存储桶的连接是安全的。如果您创建自己的 S3 存储桶，则作为最佳实践，请考虑向存储桶添加以下策略或其元素。在此策略中，S3 存储桶的 ARN 是 `codepipeline-us-east-2-1234567890`。将此 ARN 替换为您的 S3 存储桶的 ARN：    
****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Id": "SSEAndSSLPolicy",
    "Statement": [
        {
            "Sid": "DenyUnEncryptedObjectUploads",
            "Effect": "Deny",
            "Principal": "*",
            "Action": "s3:PutObject",
            "Resource": "arn:aws:s3:::{{amzn-s3-demo-bucket}}/*",
            "Condition": {
                "StringNotEquals": {
                    "s3:x-amz-server-side-encryption": "aws:kms"
                }
            }
        },
        {
            "Sid": "DenyInsecureConnections",
            "Effect": "Deny",
            "Principal": "*",
            "Action": "s3:*",
            "Resource": "arn:aws:s3:::{{amzn-s3-demo-bucket}}/*",
            "Condition": {
                "Bool": {
                    "aws:SecureTransport": false
                }
            }
        }
    ]
}
```