|
| 1 | +--- |
| 2 | +title: Configure object REST API access in Azure NetApp Files |
| 3 | +description: Learn how to configure object REST API access to manage S3 objects in Azure NetApp Files. |
| 4 | +services: azure-netapp-files |
| 5 | +author: b-ahibbard |
| 6 | +ms.service: azure-netapp-files |
| 7 | +ms.topic: how-to |
| 8 | +ms.date: 10/13/2025 |
| 9 | +ms.author: anfdocs |
| 10 | +--- |
| 11 | + |
| 12 | +# Configure object REST API access in Azure NetApp Files (preview) |
| 13 | + |
| 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, Azure AI Foundry, Azure Databricks, OneLake, and others. |
| 15 | + |
| 16 | +## Considerations |
| 17 | + |
| 18 | +* Editing a bucket isn't currently supported. If you need to edit a bucket, you should instead create a new bucket with the same name as the one you want to edit then adjust the properties. |
| 19 | + |
| 20 | +## Register the feature |
| 21 | + |
| 22 | +The object REST API access feature in Azure NetApp Files is currently in preview. You need to register the feature before using it for the first time. Feature registration can take up to 60 minutes to complete. |
| 23 | + |
| 24 | +You must submit a [waitlist request](https://forms.office.com/r/pTpTESUSZb) to use the object REST API feature. |
| 25 | + |
| 26 | +You can check the status of the feature registration with the command: |
| 27 | + |
| 28 | +```azurepowershell-interactive |
| 29 | +Get-AzProviderFeature -ProviderNamespace Microsoft.NetApp -FeatureName ANFEnableObjectRESTAPI |
| 30 | +``` |
| 31 | + |
| 32 | +## Create the self-signed certificate |
| 33 | + |
| 34 | +You must generate a PEM-formatted SSL certificate. You can create the SSL certificate in the Azure portal or with a script. |
| 35 | + |
| 36 | +<!-- DNS? --> |
| 37 | + |
| 38 | +### [Portal](#tab/portal) |
| 39 | + |
| 40 | +See the [Azure Key Vault documentation for creating a certificate](/azure/key-vault/certificates/tutorial-import-certificate). |
| 41 | + |
| 42 | +When creating the certificate, ensure the **Content Type** is set to PEM. In the **Subject** field, set the Common Name (CN) to the IP address or fully qualified domain name (FQDN) of your Azure NetApp Files object REST API-enabled endpoint. |
| 43 | + |
| 44 | +### [Script](#tab/script) |
| 45 | + |
| 46 | +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. |
| 47 | + |
| 48 | +Create and run the following script: |
| 49 | + |
| 50 | +```bash |
| 51 | +#!/bin/sh |
| 52 | +# Define certificate details |
| 53 | +CERT_DAYS=365 |
| 54 | +RSA_STR_LEN=2048 |
| 55 | +CERT_DIR="./certs" |
| 56 | +KEY_DIR="./certs/private" |
| 57 | +CN="mylocalsite.local" |
| 58 | + |
| 59 | +# Create directories if they don't exist |
| 60 | +mkdir -p $CERT_DIR |
| 61 | +mkdir -p $KEY_DIR |
| 62 | + |
| 63 | +# Generate private key |
| 64 | +openssl genrsa -out $KEY_DIR/server-key.pem $RSA_STR_LEN |
| 65 | + |
| 66 | +# Generate Certificate Signing Request (CSR) |
| 67 | +openssl req -new -key $KEY_DIR/server-key.pem -out $CERT_DIR/server-req.pem -subj "/C=US/ST=State/L=City/O=Organization/OU=Unit/CN=$CN" |
| 68 | + |
| 69 | +# Generate self-signed certificate |
| 70 | +openssl x509 -req -days $CERT_DAYS -in $CERT_DIR/server-req.pem -signkey $KEY_DIR/server-key.pem -out $CERT_DIR/server-cert.pem |
| 71 | + |
| 72 | +echo "Self-signed certificate created at $CERT_DIR/server-cert.pem" |
| 73 | +``` |
| 74 | +--- |
| 75 | + |
| 76 | +## Enable object REST API access |
| 77 | + |
| 78 | +To enable object REST API, you must create a bucket. |
| 79 | + |
| 80 | +1. From your NetApp volume, select **Buckets**. |
| 81 | +1. To create a bucket, select **+Create**. |
| 82 | +1. Provide the following information for the bucket: |
| 83 | + * **Name** |
| 84 | + |
| 85 | + 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. |
| 86 | + * **Path** |
| 87 | + |
| 88 | + The subdirectory path for object REST API access. For full volume access, leave this field blank or use `/` for the root directory. |
| 89 | + * **User ID (UID)** |
| 90 | + |
| 91 | + The UID used to read the bucket. |
| 92 | + |
| 93 | + * **Group ID (GID)** |
| 94 | + |
| 95 | + The GID used to read the bucket. |
| 96 | + |
| 97 | + * **Permissions** |
| 98 | + |
| 99 | + Select Read or Read-Write. |
| 100 | + |
| 101 | + :::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"::: |
| 102 | + |
| 103 | +1. If you haven't provided a certificate, upload your PEM file. |
| 104 | + |
| 105 | + To upload a certificate, provide the following information: |
| 106 | + |
| 107 | + * **Fully qualified domain name** |
| 108 | + |
| 109 | + Enter the fully qualified domain name. |
| 110 | + |
| 111 | + * **Certificate source** |
| 112 | + |
| 113 | + Upload the appropriate certificate. Only PEM files are supported. |
| 114 | + |
| 115 | + Select **Save**. |
| 116 | + |
| 117 | +1. Select **Create**. |
| 118 | + |
| 119 | +<!-- |
| 120 | +## Edit a bucket |
| 121 | +
|
| 122 | +After you create a bucket, you have the option to modify the user identifier (UID or GID) of the bucket. |
| 123 | +
|
| 124 | +1. In your NetApp account, navigate to **Buckets**. |
| 125 | +1. Select the three dots `...` at the end of the line next to the name of the bucket you want to modify then select **Edit**. |
| 126 | +1. Enter the new User ID or Group ID for the bucket. |
| 127 | +1. Select **Save**. |
| 128 | +--> |
| 129 | + |
| 130 | +## Delete a bucket |
| 131 | + |
| 132 | +Deleting a bucket is a permanent operation. You can't recover the bucket once it's deleted. |
| 133 | + |
| 134 | +1. In your NetApp account, navigate to **Buckets**. |
| 135 | +1. Select the checkbox next to the bucket you want to delete. |
| 136 | +1. Select **Delete**. |
| 137 | +1. In the modal, select **Delete** to confirm you want to delete the bucket. |
| 138 | + |
| 139 | +## Next steps |
| 140 | + |
| 141 | +* [Understand object REST API](object-rest-api-introduction.md) |
| 142 | +* [Connect to Azure Databricks](object-rest-api-databricks.md) |
| 143 | +* [Connect to an S3 browser](object-rest-api-browser.md) |
| 144 | +* [Connect to OneLake](object-rest-api-onelake.md) |
0 commit comments