Go SDK를 사용하여 클라우드 레일을 생성하려고합니다. AWS doc에 따라 AWS에 문제없이 연결할 수있었습니다. 모든 추적 로그 파일이 버킷에 배치 될 수 있도록, S3 버킷 생성 - AWS CloudTrail Go SDK 오류 메시지 전송 용 API 작성 "InsufficientS3BucketPolicyException : 버킷에 대해 잘못된 S3 버킷 정책이 감지되었습니다."
나는 흔적1 단계를 만드는 단계 아래 따랐다.
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"
내가 잘못하고있는 중이 야 어디 사람이 말해 주시겠습니까. 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
감사합니다. 제공된 안내서는 AWS 콘솔을 통해 수행 할 단계를 보여줍니다. 내가 aws-go-sdk를 통해 할 수있는 비슷한 점이 있습니까? 내 말은 Go-SDK를 통해 S3 버킷 정책을 추가/지정하는 것입니다. –
이 정책을 확인하십시오. https://github.com/aws/aws-sdk-go/tree/master/service/iam 다양한 정책을 첨부 할 수있는 예제 파일이 있습니다. examples_test.go 파일. – error2007s
덕분에, 그것은 나를 위해 일했으며 지금 성공적으로 흔적을 만들 수 있습니다. –