[go] Go 언어를 사용하여 AWS IAM 정책 생성하기

AWS Identity and Access Management(IAM)은 AWS 리소스에 대한 접근을 안전하게 제어하는 기능을 제공합니다. IAM 정책을 사용하면 특정 작업에 대한 권한을 세부적으로 제어할 수 있습니다.

이번에는 Go 언어를 사용하여 AWS IAM 정책을 생성하는 방법을 알아보겠습니다.

AWS SDK 설치

먼저 AWS SDK for Go를 설치해야 합니다. 이를 위해서는 아래와 같이 명령어를 실행합니다.

go get -u github.com/aws/aws-sdk-go

IAM 정책 생성

아래의 예제 코드는 Go 언어를 사용하여 AWS IAM 정책을 생성하는 방법을 보여줍니다.

package main

import (
	"fmt"
	"github.com/aws/aws-sdk-go/aws"
	"github.com/aws/aws-sdk-go/aws/session"
	"github.com/aws/aws-sdk-go/service/iam"
)

func main() {
	sess := session.Must(session.NewSessionWithOptions(session.Options{
		SharedConfigState: session.SharedConfigEnable,
	}))

	svc := iam.New(sess)

	policyInput := &iam.CreatePolicyInput{
		PolicyDocument: aws.String(`{
		    "Version": "2012-10-17",
		    "Statement": [
		        {
		            "Effect": "Allow",
		            "Action": "s3:GetObject",
		            "Resource": "arn:aws:s3:::example-bucket/*"
		        }
		    ]
		}`),
		PolicyName: aws.String("ExamplePolicy"),
	}

	result, err := svc.CreatePolicy(policyInput)
	if err != nil {
		fmt.Println("Error creating policy", err)
		return
	}

	fmt.Println("Policy ARN: ", *result.Policy.Arn)
}

위 예제 코드는 IAM 서비스를 생성하고, CreatePolicyInput을 사용하여 새 IAM 정책을 생성합니다. 생성된 정책의 ARN(Amazon Resource Name)이 출력됩니다.

IAM 정책을 생성하는 방법을 살펴보았습니다. Go 언어를 사용하여 AWS IAM 작업을 더 알아보고 싶다면, AWS SDK for Go의 공식 문서를 참고하시기 바랍니다.

이제 Go 언어를 사용하여 AWS IAM 정책 생성에 대해 알아보았습니다. 추후에 다른 기능들에 대해서도 공부해보시기 바랍니다!