0
我正在爲AWS賬單報告創建一個S3桶。我想在S3 Bucket上設置GrantRead,GrantWrite和GrandReadACP權限,同時通過GoLang API創建它。我需要將哪些值傳遞給這些標記以爲經過身份驗證的AWS用戶設置這三個權限?如何在通過GoLang API創建S3 Bucket時設置權限?
我正在爲AWS賬單報告創建一個S3桶。我想在S3 Bucket上設置GrantRead,GrantWrite和GrandReadACP權限,同時通過GoLang API創建它。我需要將哪些值傳遞給這些標記以爲經過身份驗證的AWS用戶設置這三個權限?如何在通過GoLang API創建S3 Bucket時設置權限?
您可以查看doc爲CreateBucket
方法,需要政策參數你提到
// set your s3 client before and define your bucket as bucketName
params := &s3.CreateBucketInput{
Bucket: aws.String(bucketName),
GrantRead: aws.String("GrantRead"),
GrantReadACP: aws.String("GrantReadACP"),
GrantWrite: aws.String("GrantWrite"),
// GrantFullControl and others available
}
result, err := s3client.CreateBucket(params)
爲the issue points out它可能不會像
// set your s3 client before and define your bucket as bucketName
params := &s3.CreateBucketInput{
Bucket: aws.String(bucketName),
ACL: aws.String("public-read | public-read-write")
}
result, err := s3client.CreateBucket(params)
看到canned ACL doc的工作,所以直接使用ACL的東西可能的值
您是否嘗試過使用您擁有的參數創建存儲桶上面提到?我認爲這些不是這些標籤的實際值,這些僅僅是樣本值。使用這些值時,API會拋出「無效參數格式」異常。 – Baber
沒錯,我指向文檔,並認爲它會起作用(因爲你沒有表明自己你一直在嘗試) - 似乎與其他https://github.com/aws/aws-sdk-go/issues/491並建議直接使用ACL策略 –
謝謝。我已經嘗試了ACL,它工作正常。但我的要求沒有被ACL實現,我需要ACP權限。 我很欣賞你的空閒時間回答問題。 – Baber