1

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ätzt

Referenz: 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

Antwort

0

Ihre Cloud-Trail sollte diese Richtlinie für die S3-Eimer haben . Befolgen Sie diese Anleitung. Es gibt verschiedene Optionen im Schritt.

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" 
       } 
      } 
     } 
    ] 
} 
+0

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 –

+0

. Ü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

+0

Vielen Dank, es hat für mich funktioniert, Trail jetzt erfolgreich zu erstellen. –

Verwandte Themen