Skip to content

Commit 2119f79

Browse files
authored
Merge pull request #302080 from b-ahibbard/openldap
Support for other LDAP servers (OpenLDAP, FreeIPA, Red Hat)
2 parents 565b478 + 6fec7ef commit 2119f79

12 files changed

Lines changed: 192 additions & 12 deletions

articles/azure-netapp-files/TOC.yml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -311,6 +311,8 @@
311311
href: configure-kerberos-encryption.md
312312
- name: Configure AD DS LDAP with extended groups for NFS
313313
href: configure-ldap-extended-groups.md
314+
- name: Configure LDAP server
315+
href: configure-directory-server.md
314316
- name: Configure an NFS client for Azure NetApp Files
315317
href: configure-nfs-clients.md
316318
- name: Convert an NFS volume between NFSv3 and NFSv4.1

articles/azure-netapp-files/azure-netapp-files-create-volumes.md

Lines changed: 15 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ services: azure-netapp-files
55
author: b-hchen
66
ms.service: azure-netapp-files
77
ms.topic: how-to
8-
ms.date: 06/10/2025
8+
ms.date: 10/07/2025
99
ms.author: anfdocs
1010
# Customer intent: As a cloud architect, I want to create an NFS volume in Azure NetApp Files, so that I can support my application’s data management requirements and ensure optimized performance through proper version selection and configuration.
1111
---
@@ -23,6 +23,11 @@ This article shows you how to create an NFS volume. For SMB volumes, see [Create
2323
See [Create a capacity pool](azure-netapp-files-set-up-capacity-pool.md).
2424
* A subnet must be delegated to Azure NetApp Files.
2525
See [Delegate a subnet to Azure NetApp Files](azure-netapp-files-delegate-subnet.md).
26+
* Plan your lightweight directory access protocol (LDAP) server.
27+
If you're using FreeIPA, OpenLDAP, or Red Hat Directory Server, you must create the server before creating the NFS volumes. For other considerations, see [Configure LDAP directory servers](configure-directory-server.md).
28+
29+
>[!NOTE]
30+
>[!INCLUDE [Note about Kerberos non-support for other LDAP services](includes/kerberos-other-servers.md)]
2631
2732
## Considerations
2833

@@ -33,9 +38,9 @@ This article shows you how to create an NFS volume. For SMB volumes, see [Create
3338
Support for UNIX mode bits (read, write, and execute) is available for NFSv3 and NFSv4.1. Root-level access is required on the NFS client to mount NFS volumes.
3439

3540
* User ID mapping in NFSv4.1 for LDAP-enabled and non-LDAP volumes
36-
To avoid permission issues, including access for a root user, when using NFSv4.1, the ID domain configuration on the NFS client and Azure NetApp Files must match. User ID mapping can use centralized user management with LDAP or use local users for non-LDAP volumes. To configure the ID Domain in Azure NetApp Files for non-LDAP volumes, see [Configure NFSv4.1 ID domain for Azure NetApp Files](azure-netapp-files-configure-nfsv41-domain.md).
41+
To avoid permission issues including access for a root user when using NFSv4.1, the ID domain configuration on the NFS client and Azure NetApp Files must match. User ID mapping can use centralized user management with LDAP or use local users for non-LDAP volumes. To configure the ID Domain in Azure NetApp Files for non-LDAP volumes, see [Configure NFSv4.1 ID domain for Azure NetApp Files](azure-netapp-files-configure-nfsv41-domain.md).
3742

38-
## Best practice
43+
## Best practices
3944

4045
* Ensure that you’re using the proper mount instructions for the volume. See [Mount a volume for Windows or Linux VMs](azure-netapp-files-mount-unmount-volumes-for-virtual-machines.md).
4146

@@ -124,7 +129,13 @@ This article shows you how to create an NFS volume. For SMB volumes, see [Create
124129

125130
Additional configurations are required if you use Kerberos with NFSv4.1. Follow the instructions in [Configure NFSv4.1 Kerberos encryption](configure-kerberos-encryption.md).
126131

127-
* If you want to enable Active Directory LDAP users and extended groups (up to 1024 groups) to access the volume, select the **LDAP** option. Follow instructions in [Configure AD DS LDAP with extended groups for NFS volume access](configure-ldap-extended-groups.md) to complete the required configurations.
132+
* Select **LDAP** to enable LDAP users and extended groups (up to 1,024 groups) to access the volume.
133+
* For Active Directory servers, follow instructions in [Configure AD DS LDAP with extended groups for NFS volume access](configure-ldap-extended-groups.md) to complete the required configurations.
134+
* For other servers, you must have created the server before you can create the volume. Follow instructions in [Configure LDAP directory servers](configure-directory-server.md).
135+
136+
* **LDAP server type**: If you've selected **LDAP**, choose the server connection type:
137+
- For Active Directory, select **Active Directory connections**.
138+
- For all other servers, select **LDAP connection**.
128139

129140
* Customize **Unix Permissions** as needed to specify change permissions for the mount path. The setting does not apply to the files under the mount path. The default setting is `0770`. This default setting grants read, write, and execute permissions to the owner and the group, but no permissions are granted to other users.
130141
Registration requirement and considerations apply for setting **Unix Permissions**. Follow instructions in [Configure Unix permissions and change ownership mode](configure-unix-permissions-change-ownership-mode.md).

articles/azure-netapp-files/azure-netapp-files-quickstart-set-up-account-create-volumes.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -292,7 +292,7 @@ The following code snippet shows how to create a NetApp capacity pool using [Ter
292292
* Select **NFS** as the protocol type for the volume.
293293
* Enter **myfilepath1** for the file path used to create the export path for the volume.
294294
* Select the NFS version (**NFSv3** or **NFSv4.1**) for the volume.
295-
See [considerations](azure-netapp-files-create-volumes.md#considerations) and [best practice](azure-netapp-files-create-volumes.md#best-practice) about NFS versions.
295+
See [considerations](azure-netapp-files-create-volumes.md#considerations) and [best practice](azure-netapp-files-create-volumes.md#best-practices) about NFS versions.
296296
297297
![Screenshot of NFS protocol for selection.](./media/azure-netapp-files-quickstart-set-up-account-create-volumes/azure-netapp-files-quickstart-protocol-nfs.png)
298298
Lines changed: 144 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,144 @@
1+
---
2+
title: Configure LDAP directory servers for Azure NetApp Files NFS volumes
3+
description: Azure NetApp Files NFS volumes support FreeIPA, OpenLDAP, and Red Hat Directory Server as alternative directory services 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/07/2025
9+
ms.author: anfdocs
10+
---
11+
# Configure LDAP directory services for Azure NetApp Files NFS volumes (preview)
12+
13+
In addition to native Active Directory support, Azure NetApp Files supports native integration with directory services including FreeIPA, OpenLDAP, and Red Hat Directory Server for lightweight directory access protocol (LDAP) directory servers. With native LDAP directory server support, you can achieve secure and scalable identity-based access control for NFS volumes in Linux environments.
14+
15+
Azure NetApp Files' LDAP integration simplifies file share access management by leveraging trusted directory services. It supports NFSv3 and NFSv4.1 protocols and uses DNS SRV record-based discovery for high availability and load balancing across LDAP servers. From a business perspective, this feature enhances:
16+
17+
- **Compliance**: Centralized identity management supports auditability and policy enforcement
18+
- **Efficiency**: Reduces administrative overhead by unifying identity controls across Linux and NTFS systems
19+
- **Security**: Supports LDAP over TLS, symmetric/asymmetric name mapping, and extended group memberships
20+
- **Seamless integration**: Works with existing LDAP infrastructure
21+
- **Scalability**: Supports large user and group directories
22+
- **Flexibility**: Compatible with multiple LDAP implementations
23+
24+
## Supported directory services
25+
26+
* **FreeIPA**: Ideal for secure, centralized identity management in Linux environments
27+
* **OpenLDAP**: Lightweight and flexible directory service for custom deployments
28+
* **Red Hat Directory Server**: Enterprise-grade LDAP service with advanced scalability and security features
29+
30+
>[!IMPORTANT]
31+
>To configure LDAP with Active Directory, see [Configure AD DS LDAP with extended groups for NFS volume access](configure-ldap-extended-groups.md).
32+
33+
## Architecture
34+
35+
The following diagram outlines how Azure NetApp Files uses LDAP bind/search operations to authenticate users and enforce access control based on directory information.
36+
37+
:::image type="content" source="./media/configure-directory-server/server-diagram.png" alt-text="Diagram of LDAP directory server in Azure NetApp Files." lightbox="./media/configure-directory-server/server-diagram.png":::
38+
39+
The architecture involves the following components:
40+
41+
- Linux VM client: initiates an NFS mount request to Azure NetApp Files
42+
- Azure NetApp Files volume: receives the mount request and performs LDAP queries
43+
- LDAP directory server: responds to bind/search requests with user and group information
44+
- Access control logic: enforces access decisions based on LDAP responses
45+
46+
### Data flow
47+
48+
1. Mount Request: The Linux VM sends an NFSv3 or NFSv4.1 mount request to Azure NetApp Files.
49+
2. LDAP Bind/Search: Azure NetApp Files sends a bind/search request to the LDAP server (FreeIPA, OpenLDAP, or RHDS) using the UID/GID.
50+
3. LDAP Response: The directory server returns user and group attributes.
51+
4. Access Control Decision: Azure NetApp Files evaluates the response and grants or denies access.
52+
5. Client Access: The decision is communicated back to the client.
53+
54+
55+
## Use cases
56+
57+
Each directory service appeals to different use cases in Azure NetApp Files.
58+
59+
### FreeIPA
60+
61+
* **Hybrid Linux environments**: Ideal for enterprises using FreeIPA for centralized identity management across Linux systems in hybrid cloud deployments.
62+
* **HPC and analytics workloads**: Supports secure authentication for high-performance computing clusters and analytics platforms that rely on FreeIPA.
63+
* **Kerberos integration**: Enables environments that require Kerberos-based authentication for NFS workloads without Active Directory.
64+
65+
### OpenLDAP
66+
67+
* **Legacy application support**: Perfect for organizations running legacy or custom applications that depend on OpenLDAP for identity services.
68+
* **Multi-platform identity management**: Provides a lightweight, standards-based solution for managing access across Linux, UNIX, and containerized workloads.
69+
* **Cost-optimized deployments**: Suitable for businesses seeking an open-source, flexible directory solution without the overhead of Active Directory.
70+
71+
### Red Hat Directory Server
72+
73+
* **Enterprise-grade security and compliance**: Designed for organizations that require hardened, enterprise-supported LDAP services with strong security controls.
74+
* **Regulated industries**: Ideal for financial, healthcare, and government sectors where compliance and vendor support are critical.
75+
* **Integration with Red Hat Ecosystem**: Seamlessly fits into environments leveraging Red Hat Enterprise Linux and related solutions.
76+
77+
## Considerations
78+
79+
* FreeIPA, OpenLDAP, and Red Hat Directory Server are supported with NFSv3 and NFSv4.1 volumes; they aren't currently supported with dual-protocol volumes.
80+
* These directory services aren't currently supported with large volumes.
81+
* You must configure the LDAP server before creating the volume.
82+
* You can only configure FreeIPA, OpenLDAP, or Red Hat Directory Server on _new_ NFS volumes. You can't convert existing volumes to use these directory services.
83+
* [!INCLUDE [Kerberos support limitation](includes/kerberos-other-servers.md)]
84+
85+
## Register the feature
86+
87+
Support for FreeIPA, OpenLDAP, and Red Hat Directory Server is currently in preview. Before connecting your NFS volumes to one of these directory servers, you must register the feature:
88+
89+
1. Register the feature:
90+
91+
```azurepowershell-interactive
92+
Register-AzProviderFeature -ProviderNamespace Microsoft.NetApp -FeatureName ANFOpenLDAP
93+
```
94+
95+
2. Check the status of the feature registration:
96+
97+
> [!NOTE]
98+
> The **RegistrationState** can remain in the `Registering` state for up to 60 minutes before changing to `Registered`. Wait until the status is `Registered` before continuing.
99+
100+
```azurepowershell-interactive
101+
Get-AzProviderFeature -ProviderNamespace Microsoft.NetApp -FeatureName ANFOpenLDAP
102+
```
103+
104+
You can also use [Azure CLI commands](/cli/azure/feature) `az feature register` and `az feature show` to register the feature and display the registration status.
105+
106+
## Create the LDAP server
107+
108+
You must first create the LDAP server before you can connect it to Azure NetApp Files. Follow the instructions for the relevant server:
109+
110+
* To configure FreeIPA, see the [FreeIPA QuickStart Guide](https://www.freeipa.org/page/Quick_Start_Guide) then follow [Red Hat's guidance](https://docs.redhat.com/en/documentation/red_hat_enterprise_linux/7/html/linux_domain_identity_authentication_and_policy_guide/client-install#client-install-non-interactive).
111+
* For OpenLDAP, see [OpenLDAP documentation](https://www.openldap.org/doc/).
112+
* For Red Hat Directory Server, follow the [Red Hat documentation](https://docs.redhat.com/en/documentation/red_hat_fuse/6.3/html/security_guide/esbldaptutorialinstallds#ESBLDAPTutorialInstallDS).
113+
For more information, see the [install guide for 389 Directory Server](https://www.port389.org/docs/389ds/howto/howto-install-389.html).
114+
115+
## Configure the LDAP connection in Azure NetApp Files
116+
117+
1. In the Azure portal, navigate to LDAP connections under Azure NetApp Files.
118+
1. Create the new LDAP connection.
119+
1. In the new menu, provide:
120+
121+
* **Domain:** The domain name serves as the base DN.
122+
* **LDAP servers:** The IP address of the LDAP server.
123+
* **LDAP over TLS:** Optionally, check the box to enable LDAP over TLS for secure communication. For more information, see [Configure LDAP over TLS](configure-ldap-over-tls.md).
124+
* **Server CA certificate:** The certification authority certificate. This option is required if you use LDAP over TLS.
125+
* **Certificate CN Host:** The common name server of the host, for example contoso.server.com.
126+
127+
:::image type="content" source="./media/configure-directory-server/configure-connection.png" alt-text="Screenshot of Configure LDAP connection options." lightbox="./media/configure-directory-server/configure-connection.png":::
128+
129+
1. Select **Save**.
130+
1. Once you configure the LDAP connection, you can create an [NFS volume](azure-netapp-files-create-volumes.md).
131+
132+
## Validate the LDAP connection
133+
134+
1. To validate the connection, navigate to the volume overview for the volume using the LDAP connection.
135+
1. Select **LDAP connection** then **LDAP Group ID List**.
136+
1. In the Username field, enter the username provided when you configured the LDAP server. Select **Get Group IDs**. Ensure the group IDs match the client and server.
137+
138+
## Next steps
139+
140+
- [Understand LDAP](lightweight-directory-access-protocol.md)
141+
- [Understand name mapping using LDAP](lightweight-directory-access-protocol-name-mapping.md)
142+
- [Understand allow local NFS users with LDAP option](lightweight-directory-access-protocol-local-users.md)
143+
- [Understand LDAP schemas](lightweight-directory-access-protocol-schemas.md)
144+
- [Create an NFS volume](azure-netapp-files-create-volumes.md)

articles/azure-netapp-files/configure-ldap-extended-groups.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ ms.custom: sfi-image-nochange
1212
---
1313
# Enable Active Directory Domain Services (AD DS) LDAP authentication for NFS
1414

15-
When you [create an NFS volume](azure-netapp-files-create-volumes.md), you can enable the LDAP with extended groups feature (the **LDAP** option) for the volume. This feature enables Active Directory LDAP users and extended groups (up to 1024 groups) to access files and directories in the volume. You can use the LDAP with extended groups feature with both NFSv4.1 and NFSv3 volumes.
15+
When you [create an NFS volume](azure-netapp-files-create-volumes.md), you can enable the LDAP with extended groups feature (the **LDAP** option) for the volume. This feature enables Active Directory LDAP users and extended groups (up to 1,024 groups) to access files and directories in the volume. You can use the LDAP with extended groups feature with both NFSv4.1 and NFSv3 volumes.
1616

1717
> [!NOTE]
1818
> By default, in Active Directory LDAP servers, the `MaxPageSize` attribute is set to a default of 1,000. This setting means that groups beyond 1,000 are truncated in LDAP queries. To enable full support with the 1,024 value for extended groups, the `MaxPageSize` attribute must be modified to reflect the 1,024 value. For information about how to change that value, see [How to view and set LDAP policy in Active Directory by using Ntdsutil.exe](/troubleshoot/windows-server/identity/view-set-ldap-policy-using-ntdsutil).
@@ -33,6 +33,9 @@ The following information is passed to the server in the query:
3333
1. If the user or group isn’t found, the request fails, and access is denied.
3434
1. If the request is successful, then user and group attributes are [cached for future use](configure-ldap-extended-groups.md#considerations). This operation improves the performance of subsequent LDAP queries associated with the cached user or group attributes. It also reduces the load on the AD DS or Microsoft Entra Domain Services LDAP server.
3535

36+
>[!IMPORTANT]
37+
>To configure LDAP with an alternative server, see [Configure an LDAP server](configure-directory-server.md).
38+
3639
## Considerations
3740

3841
* You can enable the LDAP with extended groups feature only during volume creation. This feature can't be retroactively enabled on existing volumes.
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
---
2+
author: b-ahibbard
3+
ms.service: azure-netapp-files
4+
ms.topic: include
5+
ms.date: 10/07/2025
6+
ms.author: anfdocs
7+
ms.custom: include file
8+
9+
# azure-netapp-files-create-volumes.md
10+
# configure-directory-server.md
11+
---
12+
13+
Kerberos isn't currently supported with FreeIPA, OpenLDAP, or Red Hat Directory Server.

articles/azure-netapp-files/lightweight-directory-access-protocol.md

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ services: azure-netapp-files
55
author: whyistheinternetbroken
66
ms.service: azure-netapp-files
77
ms.topic: concept-article
8-
ms.date: 02/18/2025
8+
ms.date: 10/07/2025
99
ms.author: anfdocs
1010
ms.custom: sfi-image-nochange
1111
# Customer intent: As a cloud storage administrator, I want to understand how lightweight directory access protocol (LDAP) integrates with Azure NetApp Files, so that I can effectively manage user identities and permissions for optimal security and performance in a dual-protocol environment.
@@ -51,8 +51,8 @@ LDAP offers various benefits for your UNIX users and groups as an identity sourc
5151
NIS, NIS+, and local files offer basic information such UID, GID, password, home directories, and so on. However, LDAP offers those attributes and many more. The additional attributes that LDAP uses makes dual-protocol management much more integrated with LDAP versus NIS. Only LDAP is supported as an external name service for identity management with Azure NetApp Files.
5252
* **Microsoft Active Directory is built on LDAP.**
5353
By default, Microsoft Active Directory uses an LDAP back-end for its user and group entries. However, this LDAP database doesn't contain UNIX style attributes. These attributes are added when the LDAP schema is extended through Identity Management for UNIX (Windows 2003R2 and later), Service for UNIX (Windows 2003 and earlier), or third-party LDAP tools such as *Centrify*. Because Microsoft uses LDAP as a back-end, it makes LDAP the perfect solution for environments that choose to leverage dual-protocol volumes in Azure NetApp Files.
54-
> [!NOTE]
55-
> Azure NetApp Files currently only supports native Microsoft Active Directory for LDAP services.
54+
>[!NOTE]
55+
>In addition to native Active Directory, Azure NetApp Files [supports FreeIPA, OpenLDAP, and Red Hat Directory Server](configure-directory-server.md).
5656
5757
## LDAP basics in Azure NetApp Files
5858

@@ -123,6 +123,7 @@ The following section discusses the basics of LDAP as it pertains to Azure NetAp
123123
- [Understand allow local NFS users with LDAP option](lightweight-directory-access-protocol-local-users.md)
124124
- [Understand LDAP schemas](lightweight-directory-access-protocol-schemas.md)
125125
* [Configure AD DS LDAP over TLS for Azure NetApp Files](configure-ldap-over-tls.md)
126+
* [Configure LDAP directory servers](configure-directory-server.md)
126127
* [Understand NFS group memberships and supplemental groups](network-file-system-group-memberships.md)
127128
* [Azure NetApp Files NFS FAQ](faq-nfs.md)
128129
* [Azure NetApp Files SMB FAQ](faq-smb.md)
29.4 KB
Loading
115 KB
Loading
66.9 KB
Loading

0 commit comments

Comments
 (0)