You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/azure-app-configuration/reference-kubernetes-provider.md
+60-10Lines changed: 60 additions & 10 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -32,12 +32,19 @@ The `spec.target` property has the following child property.
32
32
|---|---|---|---|
33
33
|configMapName|The name of the ConfigMap to be created|true|string|
34
34
35
-
If the `spec.auth` property isn't set, the system-assigned managed identity is used. It has the following child properties. Only one authentication method should be set.
35
+
The `spec.auth` property isn't required if the connection string of your App Configuration store is provided by setting the `spec.connectionStringReference` property. Otherwise, one of the identities, service principal, workload identity, or managed identity, will be used for authentication. The `spec.auth`has the following child properties. Only one of them should be specified. If none of them are set, the system-assigned managed identity of the virtual machine scale set will be used.
36
36
37
37
|Name|Description|Required|Type|
38
38
|---|---|---|---|
39
-
|managedIdentityClientId|The Client ID of user-assigned managed identity|false|string|
40
39
|servicePrincipalReference|The name of the Kubernetes Secret that contains the credentials of a service principal|false|string|
40
+
|workloadIdentity|The settings for using workload identity|false|object|
41
+
|managedIdentityClientId|The Client ID of user-assigned managed identity of virtual machine scale set|false|string|
42
+
43
+
The `spec.auth.workloadIdentity` property has the following child property.
44
+
45
+
|Name|Description|Required|Type|
46
+
|---|---|---|---|
47
+
|managedIdentityClientId|The Client ID of the user-assigned managed identity associated with the workload identity|true|string|
41
48
42
49
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.
43
50
@@ -72,17 +79,19 @@ If the `spec.keyValues.keyVaults.auth` property isn't set, the system-assigned m
72
79
73
80
|Name|Description|Required|Type|
74
81
|---|---|---|---|
75
-
|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|
76
82
|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|
83
+
|workloadIdentity|The settings of the workload identity used for authentication with vaults that don't have individual authentication methods specified. It has the same child properties as `spec.auth.workloadIdentity`|false|object|
84
+
|managedIdentityClientId|The client ID of a user-assigned managed identity of virtual machine scale set used for authentication with vaults that don't have individual authentication methods specified|false|string|
77
85
|vaults|The authentication methods for individual vaults|false|object array|
78
86
79
-
The authentication method of each *vault* can be specified with the following properties. One of `managedIdentityClientId` and `servicePrincipalReference` must be provided.
87
+
The authentication method of each *vault* can be specified with the following properties. One of `managedIdentityClientId`, `servicePrincipalReference` or `workloadIdentity` must be provided.
80
88
81
89
|Name|Description|Required|Type|
82
90
|---|---|---|---|
83
91
|uri|The URI of a vault|true|string|
84
-
|managedIdentityClientId|The client ID of a user-assigned managed identity used for authentication with a vault|false|string|
85
92
|servicePrincipalReference|The name of the Kubernetes Secret that contains the credentials of a service principal used for authentication with a vault|false|string|
93
+
|workloadIdentity|The settings of the workload identity used for authentication with a vault. It has the same child properties as `spec.auth.workloadIdentity`|false|object|
94
+
|managedIdentityClientId|The client ID of a user-assigned managed identity of virtual machine scale set used for authentication with a vault|false|string|
86
95
87
96
The `spec.keyValues.refresh` property has the following child properties.
88
97
@@ -102,10 +111,12 @@ The `spec.keyValues.refresh.monitoring.keyValues` is an array of objects, which
102
111
103
112
### Authentication
104
113
105
-
#### Use System-Assigned Managed Identity
114
+
#### Use system-assigned managed identity of virtual machine scale set
106
115
107
116
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
+
108
118
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
+
109
120
1. Deploy the following sample `AzureAppConfigurationProvider` resource to the AKS cluster.
110
121
111
122
```yaml
@@ -119,11 +130,14 @@ The `spec.keyValues.refresh.monitoring.keyValues` is an array of objects, which
#### Use user-assigned managed identity of virtual machine scale set
123
134
124
135
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
+
125
137
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
+
126
139
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
+
127
141
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.
128
142
129
143
``` yaml
@@ -139,11 +153,14 @@ The `spec.keyValues.refresh.monitoring.keyValues` is an array of objects, which
1. [Create a Service Principal](/azure/active-directory/develop/howto-create-service-principal-portal)
159
+
145
160
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
+
146
162
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
+
147
164
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.
148
165
149
166
``` yaml
@@ -159,10 +176,43 @@ The `spec.keyValues.refresh.monitoring.keyValues` is an array of objects, which
1. [Enable Workload Identity](/azure/aks/workload-identity-deploy-cluster#update-an-existing-aks-cluster) on the Azure Kubernetes Service (AKS) cluster.
182
+
183
+
1. [Get the OIDC issuer URL](/azure/aks/workload-identity-deploy-cluster#retrieve-the-oidc-issuer-url) of the AKS cluster.
184
+
185
+
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.
186
+
187
+
1. Create the federated identity credential between the managed identity, OIDC issuer, and subject using the Azure CLI.
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.
194
+
195
+
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.
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.
165
-
2. Set the `spec.connectionStringReference` property to the name of the Secret in the following sample `AzureAppConfigurationProvider` resource and deploy it to the Kubernetes cluster.
214
+
215
+
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.
0 commit comments