Teleport MWI Terraform 공급자
Teleport MWI Terraform 공급자는 Teleport 머신 및 워크로드 아이덴티티 (MWI)를 사용하여 수명이 짧은 자격 증명을 생성하며, 이를 다른 Terraform 공급자에게 리소스에 접근할 수 있도록 권한을 부여하는 데 사용할 수 있습니다.
Teleport MWI Terraform 공급자는 Teleport 머신 및 워크로드 아이덴티티 (MWI)를 사용하여 수명이 짧은 자격 증명을 생성하며, 이를 다른 Terraform 공급자에게 리소스에 접근할 수 있도록 권한을 부여하는 데 사용할 수 있습니다.
Teleport 자체의 구성을 관리하려면 대신 Teleport Terraform 공급자를 사용하세요.
사용 예시#
이 예시에서는 Teleport MWI Terraform 공급자를 사용하여 Kubernetes 공급자에게 Teleport를 통해 Kubernetes 클러스터에 접근할 수 있도록 권한을 부여합니다.
우리의 Kubernetes 클러스터는 my-cluster라는 이름으로 Teleport에 등록되어 있으며, Terraform 공급자가 Teleport에 인증할 수 있도록 Bot과 참여 토큰을 설정했습니다.
terraform {
required_providers {
teleportmwi = {
source = "terraform.releases.teleport.dev/gravitational/teleportmwi"
version = "~> (=teleport.major_version=).0"
}
kubernetes = {
source = "hashicorp/kubernetes"
}
}
}
provider "teleportmwi" {
join_method = "gitlab"
join_token = "my-join-token"
proxy_server = "example.teleport.sh:443"
}
ephemeral "teleportmwi_kubernetes" "my_cluster" {
selector = {
name = "my-cluster"
}
}
// https://registry.terraform.io/providers/hashicorp/kubernetes/latest/docs
provider "kubernetes" {
host = ephemeral.teleportmwi_kubernetes.my_cluster.output.host
tls_server_name = ephemeral.teleportmwi_kubernetes.my_cluster.output.tls_server_name
client_certificate = ephemeral.teleportmwi_kubernetes.my_cluster.output.client_certificate
client_key = ephemeral.teleportmwi_kubernetes.my_cluster.output.client_key
cluster_ca_certificate = ephemeral.teleportmwi_kubernetes.my_cluster.output.cluster_ca_certificate
}
resource "kubernetes_namespace" "ns" {
metadata {
name = "example-namespace"
}
}
임시 리소스 대 데이터 소스#
MWI Terraform 공급자는 Terraform 생태계의 두 가지 다른 종류의 엔티티를 사용하여 기능을 노출합니다: 임시 리소스와 데이터 소스.
임시 리소스는 Terraform 1.10 이상에서 지원되며 MWI Terraform 공급자를 사용하는 기본 방법이어야 합니다. 데이터 소스에 비해 다음과 같은 이점이 있습니다:
- MWI Terraform 공급자가 생성한 수명이 짧은 자격 증명이 Terraform 상태에 지속되지 않습니다.
- 새로운 수명이 짧은 자격 증명이 적용 단계에서 생성되므로, 계획 실행에는 읽기 전용 권한을 부여하고 적용 실행에는 읽기-쓰기 권한을 부여할 수 있습니다.
임시 리소스를 지원하지 않는 Terraform 버전을 사용하는 경우, 대신 데이터 소스 변형을 사용할 수 있습니다. 데이터 소스를 사용할 때 다음 사항에 주의하세요:
- MWI Terraform 공급자가 생성한 수명이 짧은 시크릿이 Terraform 상태에 지속됩니다. 시크릿은 계획 단계에서 생성되고 적용 단계에서 재사용됩니다. 따라서 Terraform 상태 파일을 암호화하는 것을 강력히 권장합니다.
- 계획 단계에서 생성된 자격 증명이 적용 단계에서도 유효하도록
credential_ttl을 구성해야 합니다.
스키마#
필수#
join_method(String) Teleport 클러스터에 인증하는 데 사용할 참여 방법.join_token(String) Teleport 클러스터에 인증하는 데 사용할 참여 토큰의 이름.proxy_server(String) Teleport Proxy 서비스의 주소. 스키마는 제외하지만 포트는 포함해야 합니다.
선택#
insecure(Boolean) 활성화하면 Proxy의 인증서가 검증되지 않습니다. 프로덕션 환경에서는 권장하지 않습니다.
