Nawiązywanie połączenia z innymi usługami platformy Azure lub innymi firmami za pośrednictwem składników języka Dapr
Bezpieczne ustanawianie połączeń z usługami platformy Azure i usługami innych firm dla składników języka Dapr przy użyciu tożsamości zarządzanej lub magazynów wpisów tajnych usługi Azure Key Vault.
Przed rozpoczęciem dowiedz się więcej o oferowanej obsłudze składników języka Dapr.
Zalecenia
Jeśli to możliwe, zaleca się użycie składników platformy Azure, które zapewniają obsługę tożsamości zarządzanej dla najbezpieczniejszego połączenia. Użyj magazynu wpisów tajnych usługi Azure Key Vault tylko wtedy, gdy uwierzytelnianie tożsamości zarządzanej nie jest obsługiwane.
Typ usługi | Zalecenie |
---|---|
Składnik platformy Azure z obsługą tożsamości zarządzanej | Korzystanie z przepływu tożsamości zarządzanej (zalecane) |
Składnik platformy Azure bez obsługi tożsamości zarządzanej | Korzystanie z magazynu wpisów tajnych usługi Azure Key Vault |
Składniki spoza platformy Azure | Korzystanie z magazynu wpisów tajnych usługi Azure Key Vault |
Korzystanie z tożsamości zarządzanej (zalecane)
W przypadku usług hostowanych na platformie Azure usługa Dapr może używać tożsamości zarządzanej aplikacji kontenera o określonym zakresie do uwierzytelniania u dostawcy usług zaplecza. W przypadku korzystania z tożsamości zarządzanej nie musisz dołączać informacji tajnych do manifestu składnika. Używanie tożsamości zarządzanej jest zalecane , ponieważ eliminuje przechowywanie poufnych danych wejściowych w składnikach i nie wymaga zarządzania magazynem wpisów tajnych.
Uwaga
Pole azureClientId
metadanych (identyfikator klienta tożsamości zarządzanej) jest wymagane dla każdego składnika uwierzytelniającego się przy użyciu tożsamości zarządzanej przypisanej przez użytkownika.
Używanie odwołania do składnika magazynu wpisów tajnych dapr
Podczas tworzenia składników języka Dapr dla usług lub składników, które nie obsługują uwierzytelniania tożsamości zarządzanej, niektóre pola metadanych wymagają poufnych wartości wejściowych. W przypadku tego podejścia pobierz te wpisy tajne, odwołując się do istniejącego składnika magazynu wpisów tajnych Dapr, który bezpiecznie uzyskuje dostęp do informacji tajnych.
Aby skonfigurować odwołanie:
- Utwórz składnik magazynu wpisów tajnych dapr przy użyciu schematu usługi Azure Container Apps. Typ składnika dla wszystkich obsługiwanych magazynów wpisów tajnych języka Dapr rozpoczyna się od
secretstores.
. - Utwórz dodatkowe składniki (zgodnie z potrzebami), które odwołują się do utworzonego składnika magazynu wpisów tajnych Dapr w celu pobrania poufnych danych wejściowych metadanych.
Tworzenie składnika magazynu wpisów tajnych dapr
Podczas tworzenia składnika magazynu wpisów tajnych w usłudze Azure Container Apps możesz podać poufne informacje w sekcji metadanych w jeden z następujących sposobów:
- W przypadku magazynu wpisów tajnych usługi Azure Key Vault użyj tożsamości zarządzanej, aby nawiązać połączenie.
- W przypadku magazynów wpisów tajnych spoza platformy użyj wpisów tajnych platformy Kubernetes zdefiniowanych bezpośrednio w ramach manifestu składnika.
Magazyny wpisów tajnych usługi Azure Key Vault
Poniższy schemat składników przedstawia najprostszą możliwą konfigurację magazynu wpisów tajnych przy użyciu magazynu wpisów tajnych usługi Azure Key Vault.
publisher-app
i subscriber-app
są skonfigurowane tak, aby mieć tożsamość zarządzaną przypisaną przez użytkownika lub system z odpowiednimi uprawnieniami w wystąpieniu usługi Azure Key Vault.
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
Wpisy tajne kubernetes zarządzane przez platformę
Alternatywą dla wpisów tajnych kubernetes, zmiennych środowiskowych lokalnych i lokalnych magazynów wpisów tajnych dapr, usługa Azure Container Apps zapewnia zarządzane przez platformę podejście do tworzenia i wykorzystywania wpisów tajnych platformy Kubernetes. Takie podejście może służyć do nawiązywania połączenia z usługami spoza platformy Azure lub w scenariuszach tworzenia i testowania w celu szybkiego wdrażania składników za pośrednictwem interfejsu wiersza polecenia bez konfigurowania magazynu wpisów tajnych lub tożsamości zarządzanej.
Ta konfiguracja składnika definiuje wartość wrażliwą jako parametr tajny, do którego można odwoływać się z sekcji metadanych.
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
Odwoływanie się do składników magazynu wpisów tajnych dapr
Po utworzeniu magazynu wpisów tajnych dapr przy użyciu jednego z poprzednich podejść możesz odwołać się do tego magazynu wpisów tajnych z innych składników języka Dapr w tym samym środowisku. W poniższym przykładzie pokazano użycie uwierzytelniania 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