gpt4 book ai didi

amazon-web-services - AWS CloudTrail Create API for Go SDK 抛出错误消息 "InsufficientS3BucketPolicyException: Incorrect S3 bucket policy is detected for bucket: "

转载 作者:IT王子 更新时间:2023-10-29 02:23:02 25 4
gpt4 key购买 nike

我正在尝试使用 Go SDK 创建一个 cloudtrail。按照 AWS 文档成功连接 AWS,没有任何问题。

我按照以下步骤创建跟踪

第 1 步 - 创建 S3 存储桶,以便所有跟踪日志文件都可以放在这个存储桶中。

CreateS3Bucket:代码

func CreateS3Bucket(bucketName string) error {
bucketName := "s3-bucket-123"
svc := s3.New(session.New(&aws.Config{Region: aws.String("us-east-1")}))

params := &s3.CreateBucketInput{
Bucket: aws.String(bucketName), // Required
}
resp, err1 := svc.CreateBucket(params)

if err1 != nil {
// Print the error, cast err to awserr.Error to get the Code and
// Message from an error.
log.Errorf("S3 Bucket Creation Fails: %s", err1.Error())
errs := errors.New("500")
return errs
}

// Pretty-print the response data.
log.Infof("Bucket Successfully created: %s", resp)
return nil
}

成功响应:

{\n  Location: \"/s3-bucket-123\"\n}" 

第 2 步 - 创建 CloudTrail

CreateCloudTrail:代码

func (ref *AwsCloudTrail) CreateCloudTrail(bucketName, trailName string) error {
svc := cloudtrail.New(session.New(&aws.Config{Region: aws.String("us-east-1")}))

//bucketName is "s3-bucket-123" and trailName is cloudtrail123

params := &cloudtrail.CreateTrailInput{
Name: aws.String(trailName), // Required
S3BucketName: aws.String(bucketName), // Required
}

resp, errs := svc.CreateTrail(params)

if errs != nil {
// Print the error, cast err to awserr.Error to get the Code and
// Message from an error.
log.Errorf("Error while creating trail %v",errs.Error())
err := errors.New("500")
return err
}

// Pretty-print the response data.
log.Infof("create trail response: %s",resp)

return nil
}

响应

"Error while creating trail InsufficientS3BucketPolicyException: Incorrect S3 bucket policy is detected for bucket: s3-bucket-123\n\tstatus code: 400, request id: 203d63d6-51ea-11e6-bb2c-b5d25b86e418" 

谁能告诉我哪里做错了。创建 Trail 时我需要指定什么 S3 策略

非常感谢任何帮助/建议

引用: https://docs.aws.amazon.com/sdk-for-go/api/service/cloudtrail/#CloudTrail.CreateTrail

https://docs.aws.amazon.com/sdk-for-go/api/service/s3/#S3.CreateBucket

最佳答案

您的 Cloud Trail 应具有适用于 S3 存储桶的此策略。按照本指南进行操作,该步骤中有不同的选项。

http://docs.aws.amazon.com/awscloudtrail/latest/userguide/create-s3-bucket-policy-for-cloudtrail.html

{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "AWSCloudTrailAclCheck20150319",
"Effect": "Allow",
"Principal": {
"Service": "cloudtrail.amazonaws.com"
},
"Action": "s3:GetBucketAcl",
"Resource": "arn:aws:s3:::myBucketName"
},
{
"Sid": "AWSCloudTrailWrite20150319",
"Effect": "Allow",
"Principal": {
"Service": "cloudtrail.amazonaws.com"
},
"Action": "s3:PutObject",
"Resource": "arn:aws:s3:::myBucketName/[optional prefix]/AWSLogs/myAccountID/*",
"Condition": {
"StringEquals": {
"s3:x-amz-acl": "bucket-owner-full-control"
}
}
}
]
}

关于amazon-web-services - AWS CloudTrail Create API for Go SDK 抛出错误消息 "InsufficientS3BucketPolicyException: Incorrect S3 bucket policy is detected for bucket: ",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38557503/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com