網頁

2024/5/14

Golang 建立AWS IAM User

Go以Google API Client Libraries來建立IAM User。


事前要求

參考「Golang 建立AWS IAM API client」建立IAM API client。


建立User

呼叫iam.Client.CreateUser,傳入iam.CreateUserInput參數建立user。

iam.CreateUserInput欄位如下:

  • 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.CreateUserInput{
        UserName: aws.String("user-1"),
    }
    output, err := client.CreateUser(ctx, input)
    if err != nil {
        panic(err)
    }
    user := output.User
    fmt.Println(*user.UserName) // user-1
    fmt.Println(*user.UserId)   // AIDAW7AFVMU2ZB3N75NGY
    fmt.Println(*user.Arn)      // arn:aws:iam::[ACCOUNT_ID]:user/user-1

}

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)
}

github



測試

執行印出以下

user-1
AIDAW7AFVMU2ZB3N75NGY
arn:aws:iam::[ACCOUNT_ID]:user/user-1


沒有留言:

張貼留言