[Azure] Terraform 연동을 위한 서비스 주체(Service Principal) 구성

2024. 10. 8. 14:16·클라우드(Azure, AWS)

서비스 주체(Service Principal)

  • Azure 리소스에 대한 인증 정보 제공 및 권한 부여
  • Azure CLI를 통해 생성 가능

응용프로그램 또는 인프라 또는 Azure 인프라 제품들을 사용하기 위한 앱에 대한 ID를 만드는 과정이 서비스 주체(Service Principal) 입니다.
이는 응용프로그램 APP에서 Azure 인프라를 수정 하기 위해서 등록하고 사용 기간 설정등 자동화를 위해서 필요한 제품이며 이 권한은 AAD에서도 매우 중요한 기능입니다. 그래서 권한이 없는 사용자들은 함부로 이 서비스 주체를 만들수 없도록 세팅하는것은 매우 중요합니다.


서비스 주체(Service Principal) 생성

Azure Cloud Shell 실행

 

Terraform용 Service Principal 생성 (terrformuser)

  • az ad sp create-for-rbac --name <계정명> --role Contributor --scopes /subscriptions/< subscription_id_or_subscription_name>
  • appId, password, tenant 값은 별도로 기록, 검색이 불가능한 값으로 분실 시 재생성 필요.

 

Microsoft Entra ID 에서 생성 된 계정 확인 가능

  • "Microsoft Entra ID" -> "앱 등록" -> "모든 애플리케이션" 선택



 

VSCode 연동 및 Resource Group 생성 테스트

아래와 같이 main.tf 파일 생성 

  • 자격 증명을 위해 subscription_id, tenant_id, client_id, client_secret 총 4개의 값이 필요
  • 간단한 테스트 용도가 아닌경우 해당 값은 환경 변수 등록 또는 암호화 하여 처리하는게 좋음 (ID, 패스워드 보호)
terraform {
  required_providers {
    azurerm = {
      source = "hashicorp/azurerm"
      version = "4.4.0"
    }
  }
}

provider "azurerm" {
  # Configuration options
  features {}

  subscription_id   = "<구독 ID>"
  tenant_id         = "<디렉터리(테넌트) ID>"
  client_id         = "<개체 ID>"
  client_secret     = "<password>"

}

resource "azurerm_resource_group" "rg" {
  location = "koreacentral"
  name     = "Azure-test-rg"
}

 

저장이 완료 되었으면 아래 명령으로 생성 진행

  • terraform init

 

  • terraform plan

 

  • terraform apply -> "yes" 입력

Azure Portal 에서 생성 확인 

저작자표시 비영리 변경금지 (새창열림)
'클라우드(Azure, AWS)' 카테고리의 다른 글
  • [Azure] 별도의 인증 파일을 사용하여 서비스 주체와 Terraform 연동
  • [Azure] OS 디스크 (Blob 스토리지, 관리 디스크)
  • [Azure] vscode에서 terraform 연동
  • [Azure] vscode와 azure 연동
기억보다는 기록을...
기억보다는 기록을...
내가 보려고 정리하는 글..
  • 기억보다는 기록을...
    메모장
    기억보다는 기록을...
    • 분류 전체보기
      • 클라우드(Azure, AWS)
      • 모니터링(Zabbix,Grafana)
      • 가상화(VMWare, Hyper-V)
      • Docker
      • Ansible
      • Linux
      • Windows
      • 이것저것
      • SQL
      • -------------------------
      • 재테크
  • 전체
    오늘
    어제
  • hELLO· Designed By정상우.v4.10.2
기억보다는 기록을...
[Azure] Terraform 연동을 위한 서비스 주체(Service Principal) 구성
상단으로

티스토리툴바