반응형
IAM 모듈 기능
AWS 의 iam 을 구성하기 위해 만든 기능입니다
policy oidc role 을 생성 하고 role과 policy를 attach 하고
인스턴스에서 사용이 가능하도록 arn을 제공하는 역할을 합니다.
iam 같은 경우는 role 생성 policy 생성 role 과 policy 의 attach 기능이 전부 따로 동작 해야 할
필요성이 있어서 각각의 기능들을 분리 시켰습니다
IAM 모듈
iam policy 모듈
- iam Policy AWS에서 객체에 대한 액세스 권한을 정의합니다. JSON 형식으로 작성되어 특정 AWS 서비스나 리소스에 대해 어떤 작업을 수행할 수 있는지, 그리고 이러한 작업이 언제 수행될 수 있는지를 지정합니다.
resource "aws_iam_policy" "route" {
name = var.name
policy = file("${var.jsonPath}")
}
- .json 파일을 사용하여 policy를 생성 합니다
iam role 모듈
- role 이란 aws의 기능을 사용하기 위한 권한 부여가능 입니다
resource "aws_iam_role" "role_json" {
name = "${var.name}"
assume_role_policy = file("${var.jsonPath}")
}
- policy.json 파일을 사용하여 role을 생성함과 동시에 policy의 정책을 연결합니다
iam attach 모듈
- role 과 policy를 연결 합니다
resource "aws_iam_role_policy_attachment" "role_policy_attach" {
policy_arn = var.policy_arn
role = "${var.role_name}"
}
- 생성되어 있는 role 과 policy를 연결 합니다
iam oidc role 모듈
- oidc role은 외부 신원 공급자와의 연동이 필요한 경우 사용되는 IAM 역할입니다.
resource "aws_iam_openid_connect_provider" "example" {
url = var.oidc_url
client_id_list = ["${var.client_id}"]
thumbprint_list = [data.tls_certificate.example.certificates[0].sha1_fingerprint]
}
- oidc 롤은 ssl인증서의 지문을 가지고 만드는 role 입니다
- ssl 의 지문을 얻어오기 위한 data resource 입니다
-
data "tls_certificate" "example" { url = var.oidc_url }
thumbprint_list 에서 사용하는 ssl의 지문은 여러 가지 방법으로 구할 수 있습니다
ssl 인증서를 파일로 가지고 있다면 local 에서 openssl 을 사용하여 생성 할 수 있으며
파일로 가지고 있지 않은 경우는
aws에 등록 되어 있는 인증서의 지문을 얻어 오는 방식을 사용 할 수 있습니다
반응형
'클라우드 > AWS-Terraform' 카테고리의 다른 글
ETC 모듈 구현 (0) | 2023.10.23 |
---|---|
network 모듈 구현 (0) | 2023.10.23 |
compute 모듈 구현 (0) | 2023.10.23 |
terraform 설치 (0) | 2023.10.23 |
terraform 배포 전략 (0) | 2023.10.23 |