Skip to content

Commit ea4bff4

Browse files
Resolve comments
1 parent a5f536b commit ea4bff4

File tree

1 file changed

+33
-7
lines changed

1 file changed

+33
-7
lines changed

articles/azure-app-configuration/reference-kubernetes-provider.md

Lines changed: 33 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ The `spec.auth.workloadIdentity` property has the following child property.
4444

4545
|Name|Description|Required|Type|
4646
|---|---|---|---|
47-
|managedIdentityClientId|The Client ID of user-assigned managed identity|true|string|
47+
|managedIdentityClientId|The Client ID of the user-assigned managed identity associated with the workload identity|true|string|
4848

4949
The `spec.keyValues` has the following child properties. The `spec.keyValues.keyVaults` property is required if any Key Vault references are expected to be downloaded.
5050

@@ -81,7 +81,7 @@ If the `spec.keyValues.keyVaults.auth` property isn't set, the system-assigned m
8181
|---|---|---|---|
8282
|managedIdentityClientId|The client ID of a user-assigned managed identity used for authentication with vaults that don't have individual authentication methods specified|false|string|
8383
|servicePrincipalReference|The name of the Kubernetes Secret that contains the credentials of a service principal used for authentication with vaults that don't have individual authentication methods specified|false|string|
84-
|workloadIdentity|The settings for using workload identity for authentication with vaults that don't have individual authentication methods specified|false|object|
84+
|workloadIdentity|The settings of the workload identity used for authentication with vaults that don't have individual authentication methods specified, it has same child property with `spec.auth.workloadIdentity`|false|object|
8585
|vaults|The authentication methods for individual vaults|false|object array|
8686

8787
The authentication method of each *vault* can be specified with the following properties. One of `managedIdentityClientId`, `servicePrincipalReference` or `workloadIdentity` must be provided.
@@ -91,7 +91,7 @@ The authentication method of each *vault* can be specified with the following pr
9191
|uri|The URI of a vault|true|string|
9292
|managedIdentityClientId|The client ID of a user-assigned managed identity used for authentication with a vault|false|string|
9393
|servicePrincipalReference|The name of the Kubernetes Secret that contains the credentials of a service principal used for authentication with a vault|false|string|
94-
|workloadIdentity|The settings for using workload identity for authentication with a vault|false|object|
94+
|workloadIdentity|The settings of the workload identity used for authentication with a vault, it has same child property with `spec.auth.workloadIdentity`|false|object|
9595

9696
The `spec.keyValues.refresh` property has the following child properties.
9797

@@ -114,7 +114,9 @@ The `spec.keyValues.refresh.monitoring.keyValues` is an array of objects, which
114114
#### Use System-Assigned Managed Identity
115115

116116
1. [Enable the system-assigned managed identity in the virtual machine scale set](/azure/active-directory/managed-identities-azure-resources/qs-configure-portal-windows-vmss#enable-system-assigned-managed-identity-on-an-existing-virtual-machine-scale-set) used by the Azure Kubernetes Service (AKS) cluster.
117+
117118
1. [Grant the system-assigned managed identity **App Configuration Data Reader** role](/azure/azure-app-configuration/howto-integrate-azure-managed-service-identity#grant-access-to-app-configuration) in Azure App Configuration.
119+
118120
1. Deploy the following sample `AzureAppConfigurationProvider` resource to the AKS cluster.
119121

120122
``` yaml
@@ -131,8 +133,11 @@ The `spec.keyValues.refresh.monitoring.keyValues` is an array of objects, which
131133
#### Use User-Assigned Managed Identity at cluster level
132134
133135
1. [Create a user-assigned managed identity](/azure/active-directory/managed-identities-azure-resources/how-manage-user-assigned-managed-identities#create-a-user-assigned-managed-identity) and note down its client ID after creation.
136+
134137
1. [Assign the user-assigned managed identity to the virtual machine scale set](/azure/active-directory/managed-identities-azure-resources/qs-configure-portal-windows-vmss#user-assigned-managed-identity) used by the Azure Kubernetes Service (AKS) cluster.
138+
135139
1. [Grant the user-assigned managed identity **App Configuration Data Reader** role](/azure/active-directory/managed-identities-azure-resources/qs-configure-portal-windows-vmss#user-assigned-managed-identity) in Azure App Configuration.
140+
136141
1. Set the `spec.auth.managedIdentityClientId` property to the client ID of the user-assigned managed identity in the following sample `AzureAppConfigurationProvider` resource and deploy it to the AKS cluster.
137142

138143
``` yaml
@@ -148,11 +153,14 @@ The `spec.keyValues.refresh.monitoring.keyValues` is an array of objects, which
148153
managedIdentityClientId: <your-managed-identity-client-id>
149154
```
150155

151-
#### Use Service Principal at cluster level
156+
#### Use Service Principal
152157

153158
1. [Create a Service Principal](/azure/active-directory/develop/howto-create-service-principal-portal)
159+
154160
1. [Grant the service principal **App Configuration Data Reader** role](/azure/azure-app-configuration/howto-integrate-azure-managed-service-identity#grant-access-to-app-configuration) in Azure App Configuration.
161+
155162
1. Create a Kubernetes Secret in the same namespace as the `AzureAppConfigurationProvider` resource and add *azure_client_id*, *azure_client_secret*, and *azure_tenant_id* of the service principal to the Secret.
163+
156164
1. Set the `spec.auth.servicePrincipalReference` property to the name of the Secret in the following sample `AzureAppConfigurationProvider` resource and deploy it to the Kubernetes cluster.
157165

158166
``` yaml
@@ -168,16 +176,33 @@ The `spec.keyValues.refresh.monitoring.keyValues` is an array of objects, which
168176
servicePrincipalReference: <your-service-principal-secret-name>
169177
```
170178

171-
#### Use workload identity at pod level
179+
#### Use workload identity
180+
181+
1. Explicitly use workload identity while install the Azure App Configuration Kubernetes Provider by helm
182+
183+
``` bash
184+
helm install azureappconfiguration.kubernetesprovider \
185+
oci://mcr.microsoft.com/azure-app-configuration/helmchart/kubernetes-provider \
186+
--version 1.0.0-preview4 \
187+
--namespace azappconfig-system \
188+
--create-namespace \
189+
--set workloadIdentity.enabled=true
190+
```
172191

173192
1. [Enable Workload Identity](/azure/aks/workload-identity-deploy-cluster#update-an-existing-aks-cluster) on the Azure Kubernetes Service (AKS) cluster.
193+
174194
1. [Get the OIDC issuer URL](/azure/aks/workload-identity-deploy-cluster#retrieve-the-oidc-issuer-url) of the AKS cluster.
195+
175196
1. [Create a user-assigned managed identity](/azure/active-directory/managed-identities-azure-resources/how-manage-user-assigned-managed-identities#create-a-user-assigned-managed-identity) and note down its client ID after creation.
176-
1. Create the federated identity credential between the managed identity, OIDC issuer, and subject using the az identity federated-credential create command.
177-
``` bash
197+
198+
1. Create the federated identity credential between the managed identity, OIDC issuer, and subject using the Azure CLI.
199+
200+
``` azurecli
178201
az identity federated-credential create --name ${FEDERATED_IDENTITY_CREDENTIAL_NAME} --identity-name "${USER_ASSIGNED_IDENTITY_NAME}" --resource-group "${RESOURCE_GROUP}" --issuer "${AKS_OIDC_ISSUER}" --subject system:serviceaccount:azappconfig-system:az-appconfig-k8s-provider --audience api://AzureADTokenExchange
179202
```
203+
180204
1. [Grant the user-assigned managed identity **App Configuration Data Reader** role](/azure/active-directory/managed-identities-azure-resources/qs-configure-portal-windows-vmss#user-assigned-managed-identity) in Azure App Configuration.
205+
181206
1. Set the `spec.auth.workloadIdentity.managedIdentityClientId` property to the client ID of the user-assigned managed identity in the following sample `AzureAppConfigurationProvider` resource and deploy it to the AKS cluster.
182207

183208
``` yaml
@@ -197,6 +222,7 @@ The `spec.keyValues.refresh.monitoring.keyValues` is an array of objects, which
197222
#### Use Connection String
198223

199224
1. Create a Kubernetes Secret in the same namespace as the `AzureAppConfigurationProvider` resource and add Azure App Configuration connection string with key *azure_app_configuration_connection_string* in the Secret.
225+
200226
1. Set the `spec.connectionStringReference` property to the name of the Secret in the following sample `AzureAppConfigurationProvider` resource and deploy it to the Kubernetes cluster.
201227

202228
``` yaml

0 commit comments

Comments
 (0)