다음을 통해 공유


Dapr 구성 요소를 통해 다른 Azure 또는 타사 서비스에 연결

관리 ID 또는 Azure Key Vault 비밀 저장소를 사용하여 Dapr 구성 요소에 대한 Azure 및 타사 서비스에 대한 연결을 안전하게 설정합니다.

시작하기 전에 Dapr 구성 요소에 대한 제공된 지원에 대해 자세히 알아보세요.

권장 사항

가능하면 가장 안전한 연결에 대한 관리 ID 지원을 제공하는 Azure 구성 요소를 사용하는 것이 좋습니다. 관리 ID 인증이 지원되지 않는 경우에만 Azure Key Vault 비밀 저장소를 사용합니다.

서비스 종류 추천
관리 ID가 지원되는 Azure 구성 요소 관리 ID 흐름 사용(권장)
관리 ID 지원이 없는 Azure 구성 요소 Azure Key Vault 비밀 저장소 사용
비 Azure 구성 요소 Azure Key Vault 비밀 저장소 사용

Azure 호스티드 서비스의 경우 Dapr은 범위가 지정된 컨테이너 앱의 관리 ID를 사용하여 백 엔드 서비스 공급자로 인증할 수 있습니다. 관리 ID를 사용하는 경우 구성 요소 매니페스트에 비밀 정보를 포함할 필요가 없습니다. 구성 요소에서 중요한 입력의 스토리지를 제거하고 비밀 저장소를 관리할 필요가 없으므로 관리 ID를 사용하는 것이 좋습니다 .

참고 항목

azureClientId 메타데이터 필드(관리 ID의 클라이언트 ID)는 사용자가 할당한 관리 ID를 사용하여 인증하는 모든 구성 요소에 필요합니다.

Dapr 비밀 저장소 구성 요소 참조 사용

비 Entra ID 사용 서비스 또는 관리 ID 인증을 지원하지 않는 구성 요소에 대한 Dapr 구성 요소를 만들 때 특정 메타데이터 필드에는 중요한 입력 값이 필요합니다. 이 방법의 경우 비밀 정보에 안전하게 액세스하는 기존 Dapr 비밀 저장소 구성 요소를 참조하여 이러한 비밀을 검색합니다.

참조를 설정하려면 다음을 수행합니다.

  1. Azure Container Apps 스키마를 사용하여 Dapr 비밀 저장소 구성 요소를 만듭니다. 지원되는 모든 Dapr 비밀 저장소의 구성 요소 유형은 secretstores.로 시작합니다.
  2. 중요한 메타데이터 입력을 검색하기 위해 만든 Dapr 비밀 저장소 구성 요소를 참조하는 추가 구성 요소를 만듭니다(필요에 따라).

Dapr 비밀 저장소 구성 요소 만들기

Azure Container Apps에서 비밀 저장소 구성 요소를 만들 때 다음 방법 중 하나를 사용하여 메타데이터 섹션에 중요한 정보를 제공할 수 있습니다.

Azure Key Vault 비밀 저장소

다음 구성 요소 스키마는 Azure Key Vault 비밀 저장소를 사용하여 가능한 가장 간단한 비밀 저장소 구성을 보여 줍니다. publisher-app Azure subscriber-app Key Vault 인스턴스에 대한 적절한 권한이 있는 시스템 또는 사용자 할당 관리 ID를 둘 다 갖도록 구성됩니다.

componentType: secretstores.azure.keyvault
version: v1
metadata:
  - name: vaultName
    value: [your_keyvault_name]
  - name: azureEnvironment
    value: "AZUREPUBLICCLOUD"
  - name: azureClientId # Only required for authenticating user-assigned managed identity
    value: [your_managed_identity_client_id]
scopes:
  - publisher-app
  - subscriber-app

플랫폼 관리 Kubernetes 비밀

Kubernetes 비밀, 로컬 환경 변수 및 로컬 파일 Dapr 비밀 저장소 대신 Azure Container Apps는 Kubernetes 비밀을 만들고 활용하기 위한 플랫폼 관리 접근 방식을 제공합니다. 이 방법은 비밀 저장소 또는 관리 ID를 설정하지 않고 CLI를 통해 구성 요소를 신속하게 배포하기 위해 비 Azure 서비스 또는 개발/테스트 시나리오에 연결하는 데 사용할 수 있습니다.

이 구성 요소 구성은 중요한 값을 메타데이터 섹션에서 참조할 수 있는 비밀 매개 변수로 정의합니다.

componentType: secretstores.azure.keyvault
version: v1
metadata:
  - name: vaultName
    value: [your_keyvault_name]
  - name: azureEnvironment
    value: "AZUREPUBLICCLOUD"
  - name: azureTenantId
    value: "[your_tenant_id]"
  - name: azureClientId 
    value: "[your_client_id]"
  - name: azureClientSecret
    secretRef: azClientSecret
secrets:
  - name: azClientSecret
    value: "[your_client_secret]"
scopes:
  - publisher-app
  - subscriber-app

Dapr 비밀 저장소 구성 요소 참조

이전 방법 중 하나를 사용하여 Dapr 비밀 저장소를 만들면 동일한 환경의 다른 Dapr 구성 요소에서 해당 비밀 저장소를 참조할 수 있습니다. 다음 예제에서는 Entra ID 인증을 사용하는 방법을 보여 줍니다.

componentType: pubsub.azure.servicebus.queue
version: v1
secretStoreComponent: "[your_secret_store_name]"
metadata:
  - name: namespaceName
    # Required when using Azure Authentication.
    # Must be a fully-qualified domain name
    value: "[your_servicebus_namespace.servicebus.windows.net]"
  - name: azureTenantId
    value: "[your_tenant_id]"
  - name: azureClientId 
    value: "[your_client_id]"
  - name: azureClientSecret
    secretRef: azClientSecret
scopes:
  - publisher-app
  - subscriber-app

다음 단계

Dapr 구성 요소 복원력을 설정하는 방법을 알아보세요.