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
# Customer intent: As an IT administrator managing Azure resources across multiple tenants, I want to configure cross-tenant customer-managed keys for volume encryption in Azure NetApp Files, so that I can enhance security and control over encryption keys used for sensitive data.
12
12
---
@@ -91,10 +91,22 @@ The configuration process for cross-tenant customer-managed keys has portions th
91
91
92
92
### Configure the NetApp account to use your keys
93
93
94
-
>[!NOTE]
95
-
>Using the `az rest` command is the only supported way to configure your NetApp account to use CMKin a different tenant.
94
+
>[!IMPORTANT]
95
+
>If the NetApp account is currently configured with same-tenant customer-managed keys, you must first switch the account back to Microsoft-managed keys before configuring cross-tenant CMK. To switch, navigate to **Encryption** for the NetApp account in the Azure portal and change the encryption key source to **Microsoft-managed key**, then select **Save**.
96
96
97
-
<!-- check API version preview -->
97
+
#### [Portal](#tab/portal-configure)
98
+
99
+
1. In the Azure portal, navigate to your NetApp account and select **Encryption**.
100
+
1. On the **Encryption** page, select **Customer-managed key** as the encryption key source.
101
+
1. Under **Key URI**, select **Enter key URI** and provide the URI of the encryption key from the customer's key vault in the other tenant.
102
+
1. Under **Identity type**, select **User-assigned**.
103
+
1. Select **Select an identity**, then choose the user-assigned managed identity you created earlier that has the federated credential configured.
104
+
1. Under **Federated client ID**, enter the application (client) ID of the multitenant application you created in step 1.
105
+
1. Select **Save**.
106
+
107
+
After saving, verify that the account is configured for cross-tenant CMK by checking the account's JSON view for the presence of `federatedClientId` in the encryption properties.
108
+
109
+
#### [Azure CLI / REST API](#tab/cli-configure)
98
110
99
111
1. With the `az rest` command, configure the NetApp account to use CMK in a different tenant:
100
112
@@ -120,17 +132,100 @@ The configuration process for cross-tenant customer-managed keys has portions th
120
132
```
121
133
Once you have sent the `az rest` command, your NetApp Account has been successfully configured with cross-tenant CMK.
122
134
135
+
Verify the configuration by running:
136
+
137
+
```azurecli
138
+
az netappfiles account show --resource-group <resourceGroupName> --name <NetAppAccountName> --query "{encryption: properties.encryption}" -o json
139
+
```
140
+
141
+
The output should include `federatedClientId` in the encryption identity properties, confirming cross-tenant CMK is configured.
142
+
143
+
---
144
+
123
145
### Create a volume
124
146
125
-
>[!NOTE]
126
-
>To create a volume using cross-tenant CMK, you must use the Azure CLI.
147
+
#### [Portal](#tab/portal-volume)
148
+
149
+
1. From Azure NetApp Files, select **Volumes** and then **+ Add volume**.
150
+
1. Follow the instructions in [Configure network features for an Azure NetApp Files volume](configure-network-features.md):
151
+
* [Set the Network Features option in volume creation page](configure-network-features.md#set-the-network-features-option).
152
+
* The network security group for the volume's delegated subnet must allow incoming traffic from NetApp's storage VM.
153
+
1. For a NetApp account configured with cross-tenant customer-managed keys, the **Create Volume** page includes the **Encryption Key Source** option.
154
+
* Select **Customer-Managed Key** in the **Encryption Key Source** dropdown menu.
155
+
* When you create a volume using a customer-managed key, you must also select **Standard** for the **Network features** option. Basic network features aren't supported.
156
+
* Select a **key vault private endpoint**. The dropdown menu displays private endpoints in the selected virtual network. If there's no private endpoint for the customer's key vault in the selected virtual network, the dropdown is empty. In this scenario, see [Azure Private Endpoint](../private-link/private-endpoint-overview.md).
157
+
1. Continue to complete the volume creation process. Refer to:
158
+
* [Create an NFS volume](azure-netapp-files-create-volumes.md)
159
+
* [Create an SMB volume](azure-netapp-files-create-volumes-smb.md)
160
+
* [Create a dual-protocol volume](create-volumes-dual-protocol.md)
161
+
162
+
#### [Azure CLI](#tab/cli-volume)
127
163
128
-
1. Create the volume using the CLI:
164
+
Create the volume using the CLI:
129
165
130
166
```azurecli
131
167
az netappfiles volume create -g <resource group name> --account-name <NetApp account name> --pool-name <pool name> --name <volume name> -l southcentralus --service-level premium --usage-threshold 100 --file-path "<file path>" --vnet <virtual network name> --subnet default --network-features Standard --encryption-key-source Microsoft.KeyVault --kv-private-endpoint-id <full resource ID to the private endpoint to the customer's vault> --debug
This section describes common issues encountered when configuring cross-tenant CMK and how to resolve them.
175
+
176
+
### Verify cross-tenant CMK configuration
177
+
178
+
To confirm whether a NetApp account is correctly configured for cross-tenant CMK, check for the presence of `federatedClientId` in the account's encryption properties.
179
+
180
+
#### Use the Azure CLI
181
+
182
+
Run the following command to inspect the account's encryption configuration:
-`federatedClientId` set to the application (client) ID of the multitenant application
195
+
-`userAssignedIdentity` set to the resource ID of the user-assigned managed identity
196
+
197
+
If `federatedClientId` is missing or `null`, the account is configured with same-tenant CMK, not cross-tenant CMK.
198
+
199
+
#### Use the Azure portal
200
+
201
+
Navigate to your NetApp account, select **Overview**, then select **JSON View**. The encryption properties include `federatedClientId` if cross-tenant CMK is correctly configured.
202
+
203
+
### Missing Key URI or Encryption Key Source option in the portal
204
+
205
+
**Symptom:** When creating a volume in the Azure portal, the **Encryption Key Source** dropdown menu doesn't show **Customer-Managed Key**, or fields for **Key URI**, **subscription**, or **identity type** aren't visible.
206
+
207
+
**Cause:** This symptom typically occurs when the NetApp account is configured with same-tenant CMK instead of cross-tenant CMK, or the account hasn't been configured for CMK at all.
208
+
209
+
**Resolution:**
210
+
1. First, verify the current configuration using the CLI or portal JSON view as described in [Verify cross-tenant CMK configuration](#verify-cross-tenant-cmk-configuration).
211
+
1. If the account is configured with same-tenant CMK (no `federatedClientId`), switch the account to Microsoft-managed keys first:
212
+
1. Navigate to the NetApp account's **Encryption** page in the Azure portal.
213
+
1. Change the encryption key source to **Microsoft-managed key**.
214
+
1. Select **Save**.
215
+
1. Reconfigure the account for cross-tenant CMK by following the steps in [Configure the NetApp account to use your keys](#configure-the-netapp-account-to-use-your-keys).
216
+
217
+
### Volume creation fails with cross-tenant CMK
218
+
219
+
**Symptom:** Volume creation via REST API or portal fails with errors related to encryption key access.
220
+
221
+
**Cause:** This can happen due to misconfigured federated identity, expired keys, or incorrect private endpoint configuration.
222
+
223
+
**Resolution:**
224
+
1. Verify the `federatedClientId` is correctly set using `az netappfiles account show`.
225
+
1. Verify the multitenant application is installed in the customer tenant and has the correct key vault access (Get, Encrypt, Decrypt permissions).
226
+
1. Verify the private endpoint to the customer's key vault is approved and connected.
227
+
1. Verify the encryption key in the customer's key vault is active and not expired.
0 commit comments