App Service 관리 ID 사용 점검

지원되는 Azure 리소스에 접근할 때 장기 자격 증명의 저장을 줄이세요.

설명

관리 ID를 사용하면 앱 코드나 설정에 장기 자격 증명을 직접 넣지 않고 지원되는 Azure 리소스에 접근할 수 있습니다. 별도 비밀정보나 키를 사용하는 방식은 설정 관리와 비밀정보 보호 부담을 늘립니다. 다른 리소스에 접근하지 않는 앱에 ID가 무조건 필요한 것은 아닙니다.

잠재적 영향

  • 비밀정보가 코드나 설정에 남아 유출될 수 있습니다.
  • 자격 증명의 교체와 권한 관리 부담이 늘어날 수 있습니다.

해결 방법

대상 서비스가 관리 ID 인증을 지원한다면 identity { type = "SystemAssigned" } 또는 적절한 사용자 할당 ID를 구성하세요. 필요한 권한만 부여하고 앱이 ID로 인증하도록 변경하세요. 동작을 확인한 뒤 기존 비밀정보를 제거하고 더 이상 필요한 곳이 없는 자격 증명은 폐기하세요.

예시

AzureRM 3.x의 기존 azurerm_app_service에서 시스템 할당 ID를 켜는 예시입니다. 현재 Linux·Windows Web App도 identity 블록을 지원합니다.

변경 전

hcl
resource "azurerm_app_service" "example" {
  name                = "example-app-service"
  location            = azurerm_resource_group.example.location
  resource_group_name = azurerm_resource_group.example.name
  app_service_plan_id = azurerm_app_service_plan.example.id
}

변경 후

hcl
resource "azurerm_app_service" "example" {
  name                = "example-app-service"
  location            = azurerm_resource_group.example.location
  resource_group_name = azurerm_resource_group.example.name
  app_service_plan_id = azurerm_app_service_plan.example.id

  identity {
    type = "SystemAssigned"
  }
}

변경 후에는 Azure가 앱의 ID를 관리합니다. 대상 권한과 실제 인증 코드 변경은 별도이며, 사용자 로그인 인증 기능과도 다릅니다.

참조