本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
AWS CodePipeline
基于资源的策略示例
其他服务(如 Amazon S3)还支持基于资源的权限策略。例如,您可以将策略附加到 S3 存储桶以管理对该存储桶的访问权限。尽管它 CodePipeline 不支持基于资源的策略,但它确实将要在管道中使用的工件存储在版本控制的 S3 存储桶中。
例 为要用作  CodePipeline 的构件存储的 S3 存储桶创建策略
您可以使用任何版本控制的 S3 存储桶作为对象存储。 CodePipeline如果您使用创建管道向导创建第一个管道,则系统将会为您创建此 S3 存储桶,以确保上传到构件存储的所有对象都已加密,并且与存储桶的连接是安全的。如果您创建自己的 S3 存储桶,则作为最佳实践,请考虑向存储桶添加以下策略或其元素。在此策略中,S3 存储桶的 ARN 是 codepipeline-us-east-2-1234567890。将此 ARN 替换为您的 S3 存储桶的 ARN:
    - JSON
- 
            
     
        
- 
             
                
                {
    "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
                }
            }
        }
    ]
}