Infragraph를 Azure에 연결하기
Infragraph를 Azure에 연결하기
Azure 연결은 Microsoft Azure 데이터를 리소스 그래프에 연결해 줘요.
출처: 문서
본문
연결 설정
새 Azure 연결을 만들려면 다음 단계를 완료하세요.
- 오른쪽 상단의 Resource graph Overview에서 Create Connection을 클릭하세요.
- 데이터 소스 목록에서 Microsoft Azure를 선택하세요.
- Select Microsoft Azure를 클릭하세요.
- Connection target에서 Azure Tenant ID를 입력하세요. 이 값은 Infragraph가 연결하는 Microsoft Entra 테넌트를 식별해요. Tenant ID를 찾으려면 Azure 포털에서 Microsoft Entra ID로 이동해 Overview 페이지의 Tenant ID 필드를 복사하세요.
- Registry에서 View Terraform module을 클릭해 Azure App Registration, Federated Identity Credential, Role Assignment 요구 사항을 검토하세요.
- 생성된 모듈 블록을 복사해서 HCP Terraform 또는 Terraform Enterprise 연결 VCS 저장소에 추가하세요.
- Azure 자격 증명을 구성하세요. 자세한 내용은 Azure Terraform provider authentication 문서를 참고하세요.
- Azure 환경에서 필요한 리소스를 만들기 위해 Terraform apply 작업을 실행하세요.
application_id출력 값을 복사해서 연결 설정 페이지의 Application (client) ID 필드에 붙여넣으세요.- 연결이 계속 동작하도록 변경 사항을 알 수 있게, 모듈 저장소 링크를 클릭해서 모듈 GitHub 저장소를 구독하는 것을 권장해요.
- Provide connection details 버튼을 클릭하세요.
- Provide connection details 페이지에서 다음 동기화 범위(Sync scope) 중 하나를 선택하세요.Management Group: Infragraph가 조직의 모든 계정을 동기화해요. Azure Management Groups를 사용하는 조직에 가장 적합해요. Management Group ID를 입력하세요. Infragraph는 이 관리 그룹 아래의 모든 구독을 동기화해요. 이 옵션은 관리 그룹 범위에서
Management Group Reader와Reader역할이 필요해요.Specific Subscriptions: Infragraph가 지정된 계정의 데이터만 동기화해요. 세밀한 제어에 가장 적합해요. Infragraph가 동기화할 Subscription ID를 입력하세요. ID를 쉼표나 줄바꿈으로 구분해 수동으로 입력하거나 Upload CSV를 클릭해 최대 100개 계정을 일괄 가져올 수 있어요. - Create connection 버튼을 클릭하세요.
Infragraph는 읽기 전용 권한만 필요해요. Terraform 모듈은 적절한 범위 수준에서 Azure Reader 역할을 할당해요. Key Vault 시크릿과 같은 일부 리소스 유형은 메타데이터를 검색하려면 Key Vault Reader와 같은 추가 읽기 역할이 필요할 수 있어요. 자세한 내용은 Troubleshooting을 참고하세요.
Azure 데이터 동기화
커넥터의 현재 동기화 상태를 확인하려면 다음 단계를 완료하세요.
- HCP 조직의 왼쪽 탐색 패널에서 Connections를 클릭하세요.
- 연결 동기화 상태를 확인하세요.
Infragraph는 다음 상태 중 하나를 보고해요.
- Awaiting initial sync는 연결이 만들어졌지만 Infragraph가 첫 데이터 동기화를 시작하지 않았음을 의미해요.
- Successful은 최신 동기화에 오류가 없고 Infragraph가 데이터를 동기화했음을 의미해요.
- Partial failure는 최신 동기화에서 오류가 하나 이상 발생했음을 의미해요.
새 동기화를 수동으로 시작하려면 Actions 열의 … 메뉴에서 Sync connection을 선택하세요.
Azure 데이터 보기
리소스 그래프에 연결된 Azure 데이터를 찾으려면 다음 작업 중 하나를 완료하세요.
- Inventory 페이지로 이동하세요. 개별 리소스 유형을 클릭해 그래프 탐색기에서 확인하세요.
- Azure 리소스가 포함된 저장된 쿼리로 리소스를 쿼리하세요.
- 쿼리 편집기에서 Azure 리소스를 사용해 쿼리를 처음부터 빌드하세요.
Key Vault 시크릿 메타데이터 검색 문제 해결
다음 안내는 Azure 데이터를 연결하고 보는 문제를 해결하는 데 도움이 될 수 있어요.
Key Vault 시크릿 메타데이터 검색 문제
동기화 중에 Azure 커넥터는 활성화 상태, 만료 날짜, 콘텐츠 유형, 태그 같은 Key Vault 시크릿 메타데이터 속성을 검색하지만 시크릿 값은 가져오지 않아요.
Infragraph 커넥터가 레거시 Access Policies 모델을 사용하는 Azure Key Vault를 발견하면 Sync 상태가 Partially successful로 표시돼요. 이는 Access Policies가 볼트별로 구성되어 Infragraph 커넥터의 RBAC 역할 할당을 존중하지 않기 때문이에요.
이 문제를 해결하려면 다음 옵션 중 하나를 권장해요.
Azure RBAC로 마이그레이션
Key Vault가 Access Policies 대신 Azure RBAC를 사용하도록 마이그레이션하려면 다음 단계를 완료하세요.
- Azure 포털에서 Key Vault로 이동하세요.
- Access configuration으로 이동하세요.
- 권한 모델을 Azure role-based access control로 변경하세요.
- Save를 클릭하세요.
자세한 지침은 Azure Key Vault RBAC migration guide를 참고하세요.
각 볼트에 Access Policy 추가
RBAC로 마이그레이션할 수 없다면, Access Policies를 사용하는 각 Key Vault의 커넥터 서비스 주체에 대해 Secret Permissions 아래 List 권한을 부여하는 Access Policy를 수동으로 추가하세요.
Azure 포털로 수동 구성하거나 다음 Azure CLI 명령 또는 Terraform 구성을 사용해 자동화할 수 있어요.
Secret Permissions 아래 List 권한만 부여하면 돼요. 최소 권한 원칙을 지켜서 서비스 주체에 추가 권한을 부여하지 않는 것을 권장해요. Infragraph 커넥터는 시크릿 값을 읽을 권한이 필요 없어요.
서비스 주체에 list 권한을 부여하려면 az keyvault set-policy 명령을 사용하세요. 예를 들어:
$ az keyvault set-policy \
--name <vault-name> \
--object-id <service-principal-object-id> \
--secret-permissions list
다음 Terraform 구성은 azurerm_key_vault_access_policy 리소스를 사용해 서비스 주체에 List 권한을 부여해요:
resource "azurerm_key_vault_access_policy" "infragraph" {
key_vault_id = azurerm_key_vault.example.id
tenant_id = data.azurerm_subscription.primary.tenant_id
object_id = azuread_service_principal.example.object_id
secret_permissions = ["List"]
}
더 알아보기 (Learn more)
- AWS 연결 — AWS 데이터를 리소스 그래프에 연결하는 방법을 알아봐요.
- GitHub 연결 — GitHub 데이터를 리소스 그래프에 연결하는 방법을 알아봐요.
- 데이터 소스 연결하기 — 연결 관리와 동기화 동작을 살펴봐요.