Skip to content

Commit a307941

Browse files
Merge pull request #314446 from MicrosoftDocs/main
Auto Publish – main to live - 2026-04-08 11:00 UTC
2 parents 32fa08f + 53ebbca commit a307941

6 files changed

Lines changed: 288 additions & 60 deletions

File tree

-29.6 KB
Loading
-199 KB
Loading

articles/azure-netapp-files/object-rest-api-access-configure.md

Lines changed: 170 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -5,39 +5,78 @@ services: azure-netapp-files
55
author: b-ahibbard
66
ms.service: azure-netapp-files
77
ms.topic: how-to
8-
ms.date: 10/29/2025
8+
ms.date: 02/16/2026
99
ms.author: anfdocs
1010
---
1111

12-
# Configure object REST API in Azure NetApp Files (preview)
12+
# Configure object REST API for Azure NetApp Files (preview)
1313

14-
Azure NetApp Files supports access to S3 objects with the [object REST API](object-rest-api-introduction.md) feature. With the object REST API feature, you can connect to services including Azure AI Search, Microsoft Foundry, Azure Databricks, OneLake, and others.
14+
Azure NetApp Files supports access to S3 objects with the [object REST API](object-rest-api-introduction.md) feature. With the object REST API, you can connect to services such as Azure AI Search, Microsoft Fabric, Microsoft Foundry, Azure Databricks, OneLake, and other S3‑compatible clients.
15+
16+
This article describes how to configure object REST API access and walks you through the two supported certificate workflows. Choose the workflow that best matches your security and operational requirements.
1517

1618
## Register the feature
1719

18-
The object REST API feature in Azure NetApp Files is currently in preview. You must submit a [waitlist request](https://aka.ms/ANF-object-REST-API-signup) to use the object REST API feature. Activation takes approximately one week. An email notification is sent to confirm your enrollment in the preview.
20+
The object REST API feature in Azure NetApp Files is currently in preview. You must submit a [waitlist request](https://aka.ms/ANF-object-REST-API-signup) to use this feature. Activation takes approximately one week, and you receive an email notification once the enrollment is complete.
1921

2022
## Create the self-signed certificate
2123

22-
You must generate a PEM-formatted SSL certificate. You can create the SSL certificate in the Azure portal or with a script.
24+
Azure NetApp Files supports two certificate options for object REST API access:
2325

24-
<!-- DNS? -->
26+
1. **Azure Key Vault–based certificates (recommended)**: Certificates are created and stored in Azure Key Vault and the certificate is retrieved directly from Azure Key Vault during bucket creation.
2527

26-
### [Portal](#tab/portal)
28+
1. **Direct certificate upload**: PEM certificates are generated and uploaded manually during bucket creation.
2729

28-
See the [Azure Key Vault documentation for adding a certificate to Key Vault](/azure//key-vault/certificates/quick-create-portal#add-a-certificate-to-key-vault).
30+
> [!IMPORTANT]
31+
> The options you select determines the certificate format you must generate (PKCS#12 vs PEM), and how the certificate is supplied during bucket creation.
2932
30-
When creating the certificate, ensure:
33+
You must select one of the following options:
34+
35+
### Option 1 (recommended): Azure Key Vault–based certificate
36+
37+
Use this option if you want Azure NetApp Files to read the certificate directly from Azure Key Vault during bucket creation.
3138

32-
* the **Content Type** is set to PEM
33-
* the **Subject** field is set to the IP address or fully qualified domain name (FQDN) of your Azure NetApp Files endpoint using the format `"CN=<IP or FQDN>"`
34-
* the **DNS Names** entry specifies the IP address or FQDN
39+
See the [Azure Key Vault documentation for adding a certificate to Key Vault](/azure//key-vault/certificates/quick-create-portal#add-a-certificate-to-key-vault).
40+
41+
When creating the certificate in Azure Key Vault, ensure:
42+
43+
* **Content Type**: PKCS#12
44+
* **Subject**: IP address or fully qualified domain name (FQDN) of your Azure NetApp Files endpoint using the format `"CN=<IP or FQDN>"`
45+
* **DNS Names**: IP address or FQDN
3546

3647
:::image type="content" source="./media/object-rest-api-access-configure/create-certificate.png" alt-text="Screenshot of create certificate options." lightbox="./media/object-rest-api-access-configure/create-certificate.png":::
3748

38-
### [Script](#tab/script)
49+
Once the certificate is successfully created, click on the certificate from the list and review the properties.
50+
51+
* In the Certificate identifier field, note the URI of the vault “https://<vault_name>.azure.net”
52+
* Note the name of the certificate
53+
54+
### Required Azure Key Vault permissions
3955

40-
This script creates a certificate locally. Set the computer name `CN=` to the IP address or fully qualified domain name (FQDN) of your object REST API-enabled endpoint. This script creates a folder that includes the necessary PEM file and private keys.
56+
To avoid bucket creation failures, ensure that the Azure NetApp Files service has permission to read the certificate from Azure Key Vault.
57+
58+
At a minimum, the following permissions must be granted:
59+
60+
* Certificates: Get, List, Update, Create, Import, Manage Certificate Authorities, Get Certificate Authorities, List Certificate Authorities, Set Certificate Authorities, Delete Certificate Authorities
61+
* Secrets: Get, List, Set, Delete
62+
63+
> [!NOTE]
64+
> If these permissions are missing, bucket creation fails when Azure NetApp Files attempts to retrieve the certificate.
65+
66+
67+
### Option 2: Direct certificate upload
68+
69+
Use this option if you plan to generate the certificate and upload it manually during bucket creation.
70+
71+
When creating the certificate, ensure:
72+
73+
* **Content Type**: PEM
74+
* **Subject**: IP address or fully qualified domain name (FQDN) of your Azure NetApp Files endpoint using the format `"CN=<IP or FQDN>"`
75+
* **DNS Names**: IP address or FQDN
76+
77+
## Generate the certificate
78+
79+
Use the provided script to generate a self‑signed PEM certificate. The script creates both the certificate and private key files required for upload. Set the computer name `CN=` to the IP address or fully qualified domain name (FQDN) of your object REST API-enabled endpoint. This script creates a folder that includes the necessary PEM file and private keys.
4180

4281
Create and run the following script:
4382

@@ -65,84 +104,172 @@ openssl x509 -req -days $CERT_DAYS -in $CERT_DIR/server-req.pem -signkey $KEY_DI
65104

66105
echo "Self-signed certificate created at $CERT_DIR/server-cert.pem"
67106
```
68-
---
107+
After the certificate is created, you will need to create a bucket.
69108

70109
## Create a bucket
71110

72-
To enable object REST API, you must create a bucket.
111+
To enable object REST API, you must create a bucket on an Azure NetApp Files volume.
73112

74113
1. From your NetApp volume, select **Buckets**.
75-
1. To create a bucket, select **+Create**.
76-
1. Provide the following information for the bucket:
114+
1. Select **+Create or update bucket**.
115+
1. In Create or update bucket, provide the following information for the bucket:
116+
117+
**Bucket configuration**
118+
77119
* **Name**
78120

79121
Specify the name for your bucket. Refer to [Naming rules and restrictions for Azure resources](../azure-resource-manager/management/resource-name-rules.md#microsoftnetapp) for naming conventions.
80122
* **Path**
81123

82124
The subdirectory path for object REST API. For full volume access, leave this field blank or use `/` for the root directory.
83125

84-
* **User ID (UID)**
126+
**Protocol access**
127+
128+
* **NFS volume**
129+
130+
* **User ID (UID)**
85131

86-
The UID used to read the bucket.
132+
The UID used to access the bucket.
87133

88-
* **Group ID (GID)**
134+
* **Group ID (GID)**
89135

90-
The GID used to read the bucket.
136+
The GID used to access the bucket.
91137

92-
* **Permissions**
138+
* **SMB volume**
93139

94-
Select Read or Read-Write.
140+
* **Username**
141+
142+
The ID used to read the bucket.
143+
144+
* **Permissions**
145+
146+
Select Read-only or Read and write.
95147

96148
:::image type="content" source="./media/object-rest-api-access-configure/create-bucket.png" alt-text="Screenshot of create a bucket menu." lightbox="./media/object-rest-api-access-configure/create-bucket.png":::
97149

98-
1. If you haven't provided a certificate, upload your PEM file.
150+
1. Select **Save**.
99151

100-
To upload a certificate, provide the following information:
152+
Additional details are needed to create the first bucket on a set of volumes sharing the same IP address.
153+
154+
**Certificate management**
101155

102156
* **Fully qualified domain name**
103157

104-
Enter the fully qualified domain name.
158+
Enter the endpoint FQDN used by clients to access the buckets.
159+
160+
**Certificate source**
161+
162+
* **Azure Key Vault**
163+
164+
* **Vault URI**
165+
166+
Select the name from the drop-down list.
105167

106-
* **Certificate source**
168+
* **Secret name**
107169

108-
Upload the appropriate certificate. Only PEM files are supported.
170+
Enter the name of the certificate.
171+
172+
* **Upload certificate**
109173

110-
Select **Save**.
174+
Select the **certificate** option to upload a certificate file directly.
111175

112-
1. Select **Create**.
176+
If you haven't provided a certificate, upload the PEM file.
177+
178+
* **Certificate source**.
179+
180+
Upload the appropriate certificate. Only PEM files are supported.
181+
182+
**Credentials storage**
183+
184+
* **Azure Key Vault**
185+
186+
* **Vault URI**
187+
188+
Select the name from the drop-down list.
189+
190+
* **Secret name**
191+
192+
Enter the name of the secret. The secret name is user-defined and can be any value, that meets the naming guidelines.
193+
194+
* **Access key**
195+
196+
When selecting this option, access keys are generated after the bucket is created and are displayed once in the Azure portal. You must manually copy both these values and store them securely.
197+
198+
1. Select **Save** to validate the configuration.
199+
200+
1. Select **Create** to provision the bucket.
113201

114202
After you create a bucket, you need to generate credentials to access the bucket.
115203

204+
## Generate credentials
205+
206+
The credential generation behavior depends on the credential storage option you selected.
207+
208+
1. Navigate to the newly created bucket.
209+
210+
1. Select **Generate credentials**.
211+
212+
1. Enter the desired access key lifespan in days and then select **Generate credentials**.
213+
214+
**Azure Key Vault–based credentials**
215+
216+
* The credentials are generated and stored securely in Azure Key Vault.
217+
* The credentials and are not displayed in the Azure portal.
218+
* You should retrieve the credentials directly from the configured Key Vault.
219+
220+
After the credentials are generated, perform the following:
221+
222+
1. Ensure that the secret is created in the specified Key Vault.
223+
1. Verify the secret:
224+
225+
1. Navigate to your key vault in the Azure portal.
226+
1. Select **Objects** then select **Secrets**.
227+
1. Confirm that <secret_name> has been created.
228+
229+
**Access key-based credentials**
230+
231+
When using direct certificate upload:
232+
233+
* The access key and secret access key are displayed once in the Azure portal.
234+
* You should copy and store both the values securely.
235+
* The credentials cannot be retrieved again after the initial display.
236+
237+
> [!IMPORTANT]
238+
> The access key and secret access key are only displayed once. You should copy and store the keys securely. If they are lost, you must generate new credentials.
239+
240+
**Regenerating credentials**
241+
242+
After the credentials are set, you can generate new credentials by selecting the three dots (``) on the bucket and selecting **Generate credentials**.
243+
244+
> [!IMPORTANT]
245+
> Generating new credentials immediately invalidates existing credentials.
246+
116247
## Update bucket access
117248

118249
You can modify a bucket's access management settings.
119250

251+
* User ID / Username
252+
* Group ID
253+
* Permissions
254+
120255
1. From your NetApp volume, select **Buckets**.
121-
1. Select **+Create**.
256+
1. Select **+Create or update bucket**.
122257
1. Enter the name of the bucket you want to modify.
123258
1. Change the access management settings as required.
124-
1. You can modify the User ID, Group ID, Username (for SMB or dual-protocol volumes), and Permissions.
125259
1. Click **Save** to modify the existing bucket.
126260

127261
> [!NOTE]
128262
> You cannot modify a bucket’s path. To update a bucket’s path, delete and re-create the bucket with the new path.
129263
130-
## Generate credentials
131-
132-
1. Navigate to your newly created bucket. Select **Generate keys**.
133-
1. Enter the desired Access key lifespan in days then select **Generate keys**. After you select **Generate keys**, the portal displays the access key and secret access key.
134-
>[!IMPORTANT]
135-
>The access key and secret access key are only displayed once. Store the keys securely. Do not share the keys.
136-
1. After you set the credentials, you can generate a new access key and secret access key by selecting the `...` menu then selecting **Generate access keys**. Generating new keys immediately invalidates the existing keys.
137264

138265
## Delete a bucket
139266

140-
Deleting a bucket is a permanent operation. You can't recover the bucket after deleting it.
267+
Deleting a bucket permanently removes it and all associated configurations. You can't recover the bucket after deleting it.
141268

142269
1. In your NetApp account, navigate to **Buckets**.
143-
1. Select the checkbox next to the bucket you want to delete.
270+
1. Select the three dots (``) next to the bucket you want to delete.
144271
1. Select **Delete**.
145-
1. In the modal, select **Delete** to confirm you want to delete the bucket.
272+
1. In the Delete bucket window, select **Delete** to confirm you want to delete the bucket.
146273

147274
## Next steps
148275

articles/azure-netapp-files/whats-new.md

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,12 @@ Azure NetApp Files is updated regularly. This article provides a summary about t
1919

2020
## April 2026
2121

22+
* [Secure object REST API access using Azure Key Vault certificates and credentials](object-rest-api-access-configure.md) (preview)
23+
24+
Azure NetApp Files now supports Azure Key Vault–based certificates and credentials for the object REST API, enabling secure, S3‑compatible access to volumes. Certificates can be generated and stored directly in Azure Key Vault and automatically retrieved during bucket creation, while S3 access credentials are securely managed in Key Vault, eliminating the need to manually upload or store sensitive information.
25+
26+
This native integration with Azure Key Vault simplifies certificate lifecycle management, centralizes certificate and credential storage, strengthens security, and aligns Object REST API access with enterprise key and credential management best practices.
27+
2228
* [Storage with cool access enhancement](cool-access-introduction.md#throughput-for-premium-and-ultra-service-levels) for Premium and Ultra service levels (preview)
2329

2430
Azure NetApp Files introduces an enhancement to storage with cool access for Premium and Ultra service levels that more precisely aligns throughput with data tiering. When cool access is enabled, maximum throughput is dynamically calculated based on the amount of data tiered to cool access storage, rather than applying a fixed reduction. Hot data retains its configured performance, and throughput is adjusted only when data is tiered to the cool tier. This enhancement delivers more predictable QoS behavior while optimizing performance and cost as data access patterns evolve, without requiring manual tuning or reconfiguration.
@@ -29,7 +35,7 @@ Azure NetApp Files is updated regularly. This article provides a summary about t
2935

3036
Large volumes operational improvement no longer requires a support ticket to increase a large volume past the 30% imposed limit. This allows customer to automate their large volume size increases without waiting for approval and human intervention.
3137

32-
## January 2026
38+
## January 2026
3339

3440
* [Elastic zone-redundant storage service level](elastic-zone-redundant-concept.md) (preview)
3541

articles/iot-operations/deploy-iot-ops/concept-production-guidelines.md

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -18,15 +18,15 @@ Decide whether you're deploying Azure IoT Operations to a single-node or multi-n
1818

1919
## Platform
2020

21-
Currently, K3s on Ubuntu 24.04 is the only generally available platform for deploying Azure IoT Operations in production.
21+
Use a [supported environment](../overview-support.md#supported-environments) for deploying Azure IoT Operations in production.
2222

2323
## Cluster setup
2424

2525
Ensure that your hardware setup is sufficient for your scenario and that you begin with a secure environment.
2626

2727
### System configuration
2828

29-
Create an Arc-enabled K3s cluster that meets the system requirements.
29+
Create an Arc-enabled cluster that meets the system requirements.
3030

3131
* Use a [supported environment for Azure IoT Operations](../overview-support.md#supported-environments).
3232
* [Configure the cluster](./howto-prepare-cluster.md) according to documentation.
@@ -88,15 +88,12 @@ In the Azure portal deployment wizard, the schema registry and its required stor
8888

8989
* The storage account must have hierarchical namespace enabled.
9090
* The schema registry's managed identity must have contributor permissions for the storage account.
91-
* The storage account is only supported with public network access enabled.
92-
93-
For production deployments, scope the storage account's public network access to allow traffic only from trusted Azure services. For example:
94-
95-
1. In the [Azure portal](https://portal.azure.com), navigate to the storage account that your schema registry uses.
96-
1. Select **Security + networking > Networking** from the navigation menu.
97-
1. For the public network access setting, select **Enabled from selected virtual networks and IP addresses**.
98-
1. In the **Exceptions** section of the networking page, ensure that the **Allow trusted Microsoft services to access this resource** option is selected.
99-
1. Select **Save** to apply the changes.
91+
* For production deployments, scope the storage account's public network access to allow traffic only from trusted Azure services. For example:
92+
1. In the [Azure portal](https://portal.azure.com), navigate to the storage account that your schema registry uses.
93+
1. Select **Security + networking > Networking** from the navigation menu.
94+
1. For the public network access setting, select **Enabled from selected virtual networks and IP addresses**.
95+
1. In the **Exceptions** section of the networking page, ensure that the **Allow trusted Microsoft services to access this resource** option is selected.
96+
1. Select **Save** to apply the changes.
10097

10198
For more information, see [Configure Azure Storage firewalls and virtual networks > Grant access to trusted Azure services](../../storage/common/storage-network-security.md#grant-access-to-trusted-azure-services).
10299

0 commit comments

Comments
 (0)