Ich versuche, mit Go SDK einen Cloudtrail zu erstellen. Erfolgreich in der Lage, AWS ohne irgendein Problem zu verbinden, indem Sie AWS doc folgen.AWS CloudTrail API für Go-SDK erstellen Fehlermeldung ausgeben "InsufficientS3BucketPolicyException: Falsche S3-Bucket-Richtlinie für Bucket erkannt:"
I unten Schritten folgen, um einen Weg zu schaffen
Schritt 1 - Erstellt S3 Eimer, so dass alle Trail-Log-Dateien in diesem Eimer platziert werden können.
CreateS3Bucket: Code
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
}
Erfolg Antwort:
{\n Location: \"/s3-bucket-123\"\n}"
Schritt 2 - Erstellen CloudTrail
CreateCloudTrail:-Code
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
}
Antwort
"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"
Kann mir jemand sagen, wo ich falsch tue. was S3 Politik tun i angeben müssen, während Trail Erstellen
Jede Hilfe/Anregung ist wirklich
geschätztReferenz: 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
Vielen Dank für die Beantwortung. Der von Ihnen bereitgestellte Leitfaden zeigt die Schritte, die in der AWS-Konsole ausgeführt werden müssen. Gibt es etwas Ähnliches, das ich durch aws-go-sdk machen kann? Ich meine das Hinzufügen/Spezifizieren von S3-Bucket-Richtlinien über das Go-SDK –
. Überprüfen Sie, ob https://github.com/aws/aws-sdk-go/tree/master/service/iam eine Beispieldatei enthält, in der Sie verschiedene Richtlinien überprüfen können examples_test.go-Datei. – error2007s
Vielen Dank, es hat für mich funktioniert, Trail jetzt erfolgreich zu erstellen. –