Go以Google API Client Libraries來建立IAM User的Access Key(存取金鑰)。
事前要求
參考「Golang 建立AWS IAM User」建立IAM User。
建立Access Key
呼叫iam.Client.CreateAccessKey
,傳入iam.CreateAccessKeyInput
參數建立user的access key。
iam.CreateAccessKeyInput
欄位如下:
UserName
- 填入User的名稱。
main.go
package main
import (
"context"
"fmt"
"github.com/aws/aws-sdk-go-v2/aws"
"github.com/aws/aws-sdk-go-v2/config"
"github.com/aws/aws-sdk-go-v2/service/iam"
)
func main() {
ctx := context.TODO()
client := NewIamClient(ctx)
input := &iam.CreateAccessKeyInput{
UserName: aws.String("user-1"),
}
output, err := client.CreateAccessKey(ctx, input)
if err != nil {
panic(err)
}
accessKey := output.AccessKey
fmt.Println(*accessKey.AccessKeyId) // AKIAW7AFVMU2SPAZS64A
fmt.Println(*accessKey.SecretAccessKey) // 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
}
func NewIamClient(ctx context.Context) *iam.Client {
cfg, err := config.LoadDefaultConfig(
ctx,
config.WithRegion("ap-northeast-1"),
)
if err != nil {
panic(err)
}
return iam.NewFromConfig(cfg)
}
測試
執行印出以下:
AKIAW7AFVMU2SPAZS64A
jGT5ospeQEf9BXAWwcThSv6OQuR8b0ZP/NfaxK1R
在AWS console的IAM功能該User下的[Security credentials]頁籤下,在[Access Keys]下可看到建立的access key。
沒有留言:
張貼留言