AWS IAM 실습 1

Chori·2024년 11월 28일
0
post-thumbnail

처음 시작하는 Infrastructure as Code: AWS & 테라폼을 수강하며 정리한 내용입니다.


IAM User

  • AWS IAM 리소스는 리전에 종속적인 서비스가 아님
  • AWS IAM은 글로벌 리소스로 리전마다 구성되는 것이 아니라 전체에서 단 하나만 있음
  • 리전을 어디로 지정하고 만들든 같은 리소스를 의미함
  • 다음과 같이 provider.tf 파일 작성
provider "aws" {
  region = "ap-northeast-2"
}
  • terraform init 수행
  • user_gildong_hong.tf는 다음과 같이 작성
resource "aws_iam_user" "gildong_hong" {
  name = "gildong.hong"
}

[Tip]

  • terraform plan을 할 때 -parallelism=n 옵션을 지정하여 이미 생성된 리소스에 대해 동시에 검사하는 속도를 조절할 수 있음, n은 양의 정수
  • -parallelism의 기본값은 10인데 이것보다 큰 숫자를 지정하면 terrform plan을 할 때 더 빨라짐
  • terrform plan -parallelism=30 명령어 실행

  • terraform apply에도 -parallelism=30 옵션을 지정하여 수행

  • 콘솔에서 새로운 사용자가 생성된 것을 확인

  • 생성한 IAM User의 패스워드가 설정되어 있지 않아서 새로운 사용자로 콘솔에 접속할 수는 없음
  • 비밀번호와 MFA는 직접 콘솔이나 AWS CLI를 통해서 설정해야 함

IAM Group

  • devops_group.tf 파일에서 그룹 리소스 작성
resource "aws_iam_group" "devops_group" {
  name = "devops"
}
  • terraform plan -parallelism=30을 수행

  • terrform apply -parallelism=30 명령어 실행

  • 콘솔에서 새로운 그룹이 생성된 것을 확인


User를 Group에 등록

  • devops_group.tf 파일에 aws_iam_group_membership 리소스 추가
resource "aws_iam_group" "devops_group" {
  name = "devops"
}

resource "aws_iam_group_membership" "devops" {
  name = aws_iam_group.devops_group.name

  users = [
    aws_iam_user.gildong_hong.name
 ]

  group = aws_iam_group.devops_group.name
}
  • terraform plan -parallelism=30 명령어 실행

  • terraform apply -parallelism=30을 수행

  • 콘솔에서 Group에 User가 할당된 것을 확인

profile
전부인 것처럼, 전부가 아닌 것처럼

0개의 댓글