Skip to content

Commit 0bd0061

Browse files
Merge pull request #251249 from RichardChen820/appconfig/junbchen/revertWorkloadIdentity4
Revert the workload identity support
2 parents 2561452 + d90a0d3 commit 0bd0061

File tree

1 file changed

+9
-60
lines changed

1 file changed

+9
-60
lines changed

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

Lines changed: 9 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -40,19 +40,12 @@ If the `spec.target.configMapData` property is not set, the generated ConfigMap
4040
|type|The setting that indicates how the retrieved data is constructed in the generated ConfigMap. The allowed values include `default`, `json`, `yaml` and `properties`|optional|string|
4141
|key|The key name of the retrieved data when the `type` is set to `json`, `yaml` or `properties`. Set it to the file name if the ConfigMap is set up to be consumed as a mounted file|conditional|string|
4242

43-
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.
43+
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.
4444

4545
|Name|Description|Required|Type|
4646
|---|---|---|---|
47+
|managedIdentityClientId|The Client ID of user-assigned managed identity|false|string|
4748
|servicePrincipalReference|The name of the Kubernetes Secret that contains the credentials of a service principal|false|string|
48-
|workloadIdentity|The settings for using workload identity|false|object|
49-
|managedIdentityClientId|The Client ID of user-assigned managed identity of virtual machine scale set|false|string|
50-
51-
The `spec.auth.workloadIdentity` property has the following child property.
52-
53-
|Name|Description|Required|Type|
54-
|---|---|---|---|
55-
|managedIdentityClientId|The Client ID of the user-assigned managed identity associated with the workload identity|true|string|
5649

5750
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.
5851

@@ -87,19 +80,17 @@ If the `spec.keyValues.keyVaults.auth` property isn't set, the system-assigned m
8780

8881
|Name|Description|Required|Type|
8982
|---|---|---|---|
83+
|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|
9084
|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|
91-
|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|
92-
|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|
9385
|vaults|The authentication methods for individual vaults|false|object array|
9486

95-
The authentication method of each *vault* can be specified with the following properties. One of `managedIdentityClientId`, `servicePrincipalReference` or `workloadIdentity` must be provided.
87+
The authentication method of each *vault* can be specified with the following properties. One of `managedIdentityClientId` and `servicePrincipalReference` must be provided.
9688

9789
|Name|Description|Required|Type|
9890
|---|---|---|---|
9991
|uri|The URI of a vault|true|string|
92+
|managedIdentityClientId|The client ID of a user-assigned managed identity used for authentication with a vault|false|string|
10093
|servicePrincipalReference|The name of the Kubernetes Secret that contains the credentials of a service principal used for authentication with a vault|false|string|
101-
|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|
102-
|managedIdentityClientId|The client ID of a user-assigned managed identity of virtual machine scale set used for authentication with a vault|false|string|
10394

10495
The `spec.keyValues.refresh` property has the following child properties.
10596

@@ -119,12 +110,10 @@ The `spec.keyValues.refresh.monitoring.keyValues` is an array of objects, which
119110

120111
### Authentication
121112

122-
#### Use system-assigned managed identity of virtual machine scale set
113+
#### Use System-Assigned Managed Identity
123114

124115
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.
125-
126116
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.
127-
128117
1. Deploy the following sample `AzureAppConfigurationProvider` resource to the AKS cluster.
129118

130119
``` yaml
@@ -138,14 +127,11 @@ The `spec.keyValues.refresh.monitoring.keyValues` is an array of objects, which
138127
configMapName: configmap-created-by-appconfig-provider
139128
```
140129
141-
#### Use user-assigned managed identity of virtual machine scale set
130+
#### Use User-Assigned Managed Identity
142131
143132
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.
144-
145133
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.
146-
147134
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.
148-
149135
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.
150136

151137
``` yaml
@@ -161,14 +147,11 @@ The `spec.keyValues.refresh.monitoring.keyValues` is an array of objects, which
161147
managedIdentityClientId: <your-managed-identity-client-id>
162148
```
163149

164-
#### Use service principal
150+
#### Use Service Principal
165151

166152
1. [Create a Service Principal](/azure/active-directory/develop/howto-create-service-principal-portal)
167-
168153
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.
169-
170154
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.
171-
172155
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.
173156

174157
``` yaml
@@ -184,42 +167,9 @@ The `spec.keyValues.refresh.monitoring.keyValues` is an array of objects, which
184167
servicePrincipalReference: <your-service-principal-secret-name>
185168
```
186169

187-
#### Use workload identity
188-
189-
1. [Enable Workload Identity](/azure/aks/workload-identity-deploy-cluster#update-an-existing-aks-cluster) on the Azure Kubernetes Service (AKS) cluster.
190-
191-
1. [Get the OIDC issuer URL](/azure/aks/workload-identity-deploy-cluster#retrieve-the-oidc-issuer-url) of the AKS cluster.
192-
193-
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.
194-
195-
1. Create the federated identity credential between the managed identity, OIDC issuer, and subject using the Azure CLI.
196-
197-
``` azurecli
198-
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
199-
```
200-
201-
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.
202-
203-
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.
204-
205-
``` yaml
206-
apiVersion: azconfig.io/v1beta1
207-
kind: AzureAppConfigurationProvider
208-
metadata:
209-
name: appconfigurationprovider-sample
210-
spec:
211-
endpoint: <your-app-configuration-store-endpoint>
212-
target:
213-
configMapName: configmap-created-by-appconfig-provider
214-
auth:
215-
workloadIdentity:
216-
managedIdentityClientId: <your-managed-identity-client-id>
217-
```
218-
219-
#### Use connection string
170+
#### Use Connection String
220171

221172
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.
222-
223173
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.
224174

225175
``` yaml
@@ -232,7 +182,6 @@ The `spec.keyValues.refresh.monitoring.keyValues` is an array of objects, which
232182
target:
233183
configMapName: configmap-created-by-appconfig-provider
234184
```
235-
236185
### Key-value selection
237186

238187
Use the `selectors` property to filter the key-values to be downloaded from Azure App Configuration.

0 commit comments

Comments
 (0)