VAST Data ldaps API

Lightweight Directory Access Protocol (LDAP)-based directory servers may store and provide POSIX user and group attributes, as used by the NFS client access protocol. Up to two LDAP configurations are supported, where one is used for binding to the LDAP domain of an Active Directory server and the other is used for connecting to a different LDAP-based server other than AD. Limitations apply to the combinations of external providers and protocol enablement.

OpenAPI Specification

vastdata-ldaps-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  description: VAST Management API definition
  title: VAST API Swagger Schema activedirectory ldaps API
  version: '1.0'
security:
- ApiToken: []
tags:
- description: Lightweight Directory Access Protocol (LDAP)-based directory servers may store and provide POSIX user and group attributes, as used by the NFS client access protocol. Up to two LDAP configurations are supported, where one is used for binding to the LDAP domain of an Active Directory server and the other is used for connecting to a different LDAP-based server other than AD. Limitations apply to the combinations of external providers and protocol enablement.
  name: ldaps
paths:
  /ldaps/:
    get:
      description: This endpoint lists LDAP configurations.
      operationId: ldaps_list
      parameters:
      - in: query
        name: page
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                items:
                  $ref: '#/components/schemas/Ldap'
                title: LDAP Config
                type: array
          description: LDAP information
      summary: List LDAP Configurations
      tags:
      - ldaps
    post:
      description: This endpoint creates an LDAP configuration.
      operationId: ldaps_create
      requestBody:
        content:
          application/json:
            schema:
              properties:
                abac_read_only_value_name:
                  description: The attribute to use when querying a provider for a read only attribute access check.
                  type: string
                abac_read_write_value_name:
                  description: The attribute to use when querying a provider for a read-write attribute access check.
                  type: string
                advanced_filter:
                  description: Use this parameter to specify manual filters for the BaseDN. This is useful when accounts are distributed across OUs and the baseDN needs to be wide to include all accounts, while there are also accounts that you would like to exclude from user queries.
                  type: string
                binddn:
                  description: The bind DN for authenticating to the LDAP domain. You can specify any user account that has read access to the domain.
                  type: string
                bindpw:
                  description: The password used with the Bind DN to authenticate to the LDAP server.
                  type: string
                domain_name:
                  description: FQDN of Active Directory domain. Must be resolvable in DNS.
                  type: string
                domains_with_posix_attributes:
                  description: 'Allows to enumerate specific domains for POSIX attributes

                    in case posix_attributes_source is set to SPECIFIC_DOMAINS.

                    '
                  items:
                    type: string
                  type: array
                gid_number:
                  description: The attribute of a group entry on the LDAP server that contains the GID number of a group, if different from 'gidNumber'. When binding VAST Cluster to AD, you may need to set this to 'gidnumber' (case sensitive).
                  type: string
                group_login_name:
                  description: Specifies the attribute used to query Active Directory for the group login name in NFS ID mapping. Applicable only with Active Directory and NFSv4.
                  type: string
                group_searchbase:
                  description: Base DN for group queries within the joined domain only. When auto discovery is enabled, group queries outside the joined domain use auto-discovered Base DNs.
                  type: string
                is_abac_provider:
                  description: is this Ldap used for ABAC
                  type: boolean
                is_vms_auth_provider:
                  default: false
                  description: 'Enables use of the LDAP for VMS authentication. Two LDAP configurations per cluster can be used for VMS authentication: one with Active Directory and one without.'
                  type: boolean
                mail_property_name:
                  description: Specifies the attribute to use for the user's email address.
                  type: string
                match_user:
                  description: The attribute to use when querying a provider for a user that matches a user that was already retrieved from another provider. A user entry that contains a matching value in this attribute will be considered the same user as the user previously retrieved.
                  type: string
                method:
                  description: 'The authentication method configured on the LDAP server for authenticating clients. '
                  enum:
                  - anonymous
                  - simple
                  - sasl
                  - krbv4
                  - krbv41
                  - krbv42
                  type: string
                monitor_action:
                  description: The type of periodic health check that VAST Cluster performs for the Active Directory provider. PING (default, less overhead and impact on the provider) = pings the provider. BIND = binds to the provider.
                  enum:
                  - PING
                  - BIND
                  type: string
                name:
                  description: Name of the LDAP configuration
                  type: string
                netgroup_searchbase:
                  description: Base DN for netgroup queries.
                  example: OU=netgroups,OU=system,DC=umiacs,DC=umd,DC=edu
                  type: string
                port:
                  description: 'The port of the remote LDAP server. Typical values: 389, 636.'
                  type: integer
                posix_account:
                  description: The object class that defines a user entry on the LDAP server, if different from 'posixAccount'. When binding VAST Cluster to AD, set this parameter to 'user' in order for authorization to work properly.
                  type: string
                posix_attributes_source:
                  description: Defines which domains POSIX attributes will be supported from.
                  enum:
                  - JOINED_DOMAIN
                  - ALL_DOMAINS
                  - SPECIFIC_DOMAINS
                  - GC
                  type: string
                posix_group:
                  description: The object class that defines a group entry on the LDAP server, if different from 'posixGroup'. When binding VAST Cluster to AD, set this parameter to 'group' in order for authorization to work properly.
                  type: string
                query_groups_mode:
                  description: 'A mode setting for how groups are queried: Set to COMPATIBLE to look up user groups using the ''memberOf'' and ''memberUid'' attributes. Set to RFC2307BIS_ONLY to look up user groups using only the ''memberOf'' attribute. Set to RFC2307_ONLY to look up user groups using only the ''memberUid'' attribute. Set to NONE not to look up user groups other than by leading GID and primary group SID.'
                  enum:
                  - COMPATIBLE
                  - RFC2307BIS_ONLY
                  - RFC2307_ONLY
                  - NONE
                  type: string
                query_posix_attributes_from_gc:
                  description: When set to True - users/groups from non-joined domain POSIX attributes are supported, when set to False - Posix attributes of users/groups from non-joined domain are not supported. As a condition Global catalog needs to be configured to support Posix attributes. (deprecated since 4.6)
                  type: boolean
                reverse_lookup:
                  description: Resolve LDAP netgroups into hostnames
                  type: boolean
                searchbase:
                  description: The entry in the LDAP directory tree to use as a starting point for user queries.
                  type: string
                super_admin_groups:
                  description: List of groups on the LDAP provider. Members of these groups can log into VMS as cluster admin users.
                  items:
                    type: string
                  type: array
                tls_certificate:
                  description: 'TLS certificate to use for verifying the remote LDAP server''s TLS certificate. '
                  type: string
                uid:
                  description: The attribute of a user entry on the LDAP server that contains the user name, if different from 'uid'  When binding VAST Cluster to AD, you may need to set this to 'sAMAccountname'.
                  type: string
                uid_member:
                  description: The attribute of a group entry on the LDAP server that contains names of group members, if different from 'memberUid'. When binding VAST Cluster to AD, you may need to set this to 'memberUID'.
                  type: string
                uid_member_value_property_name:
                  description: Specifies the attribute which represents the value of the LDAP group's member property.
                  type: string
                uid_number:
                  description: The attribute of a user entry on the LDAP server that contains the UID number, if different from 'uidNumber'. Often when binding VAST Cluster to Active Directory this does not need to be set.
                  type: string
                url:
                  description: 'LDAP server URI in the format SCHEME://ADDRESS. ADDRESS can be either a DNS name or an IP address. Example: ldap://ldap.company.com'
                  type: string
                urls:
                  description: Comma separated list of URIs of LDAP servers in the format SCHEME://ADDRESS. The order of listing defines the priority order. The URI with highest priority that has a good health status is used.
                  items:
                    type: string
                  type: array
                use_auto_discovery:
                  description: When enabled, Active Directory Domain Controllers (DCs) and Active Directory domains are auto discovered. Queries extend beyond the joined domain to all domains in the forest. When disabled, queries are restricted to the joined domain and DCs must be provided in the URLs field.
                  type: boolean
                use_ldaps:
                  description: Use LDAPS for Auto-Discovery
                  type: boolean
                use_multi_forest:
                  description: Allow access for users from trusted domains on other forests.
                  type: boolean
                use_posix:
                  description: POSIX support
                  type: boolean
                use_tls:
                  description: Set to true to enable use of TLS to secure communication between VAST Cluster and the LDAP server.
                  type: boolean
                user_login_name:
                  description: Specifies the attribute used to query Active Directory for the user login name in NFS ID mapping. Applicable only with Active Directory and NFSv4.
                  type: string
                username_property_name:
                  description: The attribute to use for querying users in VMS user-initated user queries. Default is 'name'. Sometimes set to 'cn'
                  type: string
              required:
              - searchbase
              - urls
              type: object
        x-originalParamName: LdapCreateParams
      responses:
        '201':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Ldap'
          description: ''
      summary: Create LDAP Configuration
      tags:
      - ldaps
  /ldaps/{id}/:
    delete:
      description: This endpoint deletes an LDAP configuration.
      operationId: ldaps_delete
      parameters:
      - description: LDAP ID
        in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Deleted
      summary: Delete LDAP Configuration
      tags:
      - ldaps
    get:
      description: This endpoint returns details of an LDAP configuration.
      operationId: ldaps_read
      parameters:
      - description: LDAP ID
        in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Ldap'
          description: ''
      summary: Return Details of an LDAP configuration.
      tags:
      - ldaps
    patch:
      description: This endpoint modifies an LDAP configuration.
      operationId: ldaps_partial_update
      parameters:
      - description: LDAP ID
        in: path
        name: id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              properties:
                abac_read_only_value_name:
                  description: The attribute to use when querying a provider for a read only attribute access check.
                  type: string
                abac_read_write_value_name:
                  description: The attribute to use when querying a provider for a read-write attribute access check.
                  type: string
                advanced_filter:
                  description: Use this parameter to specify manual filters for the BaseDN. This is useful when accounts are distributed across OUs and the baseDN needs to be wide to include all accounts, while there are also accounts that you would like to exclude from user queries.
                  type: string
                binddn:
                  description: The bind DN for authenticating to the LDAP domain. You can specify any user account that has read access to the domain.
                  type: string
                bindpw:
                  description: The password used with the Bind DN to authenticate to the LDAP server.
                  type: string
                domain_name:
                  description: FQDN of Active Directory domain. Must be resolvable in DNS.
                  type: string
                domains_with_posix_attributes:
                  description: 'Allows to enumerate specific domains for POSIX attributes

                    in case posix_attributes_source is set to SPECIFIC_DOMAINS.

                    '
                  items:
                    type: string
                  type: array
                gid_number:
                  description: Override 'gidNumber' as the attribute of a group entry that contains the group's GID number. When binding VAST Cluster to AD, you may need to set this to 'gidnumber' (case sensitive).
                  type: string
                group_login_name:
                  description: The attribute used to query Active Directory for the group login name in NFS ID mapping. Applicable only with Active Directory and NFSv4.
                  type: string
                group_searchbase:
                  description: Base DN for group queries within the joined domain only. When auto discovery is enabled, group queries outside the joined domain use auto-discovered Base DNs.
                  type: string
                is_abac_provider:
                  description: is this Ldap used for ABAC
                  type: boolean
                is_vms_auth_provider:
                  default: false
                  description: 'Enables use of the LDAP for VMS authentication. Two LDAP configurations per cluster can be used for VMS authentication: one with Active Directory and one without.'
                  type: boolean
                mail_property_name:
                  description: The attribute to use for the user's email address.
                  type: string
                match_user:
                  description: The attribute to use when querying a provider for a user that matches a user that was already retrieved from another provider. A user entry that contains a matching value in this attribute will be considered the same user as the user previously retrieved.
                  type: string
                method:
                  description: The authentication method configured on the LDAP server for authenticating clients.
                  enum:
                  - anonymous
                  - simple
                  - sasl
                  - krbv4
                  - krbv41
                  - krbv42
                  type: string
                monitor_action:
                  description: The type of periodic health check that VAST Cluster performs for the LDAP provider. PING (default, less overhead and impact on the provider) = pings the provider. BIND = binds to the provider.
                  enum:
                  - PING
                  - BIND
                  type: string
                name:
                  description: Name of the LDAP configuration
                  type: string
                netgroup_searchbase:
                  description: Base DN for netgroup queries.
                  example: OU=netgroups,OU=system,DC=umiacs,DC=umd,DC=edu
                  type: string
                port:
                  description: 'The port of the remote LDAP server. Typical values: 389, 636.'
                  type: integer
                posix_account:
                  description: Override 'posixAccount'as the object class that defines a user entry on the LDAP server. When binding VAST Cluster to AD, set this parameter to 'user' in order for authorization to work properly.
                  type: string
                posix_attributes_source:
                  description: Defines which domains POSIX attributes will be supported from.
                  enum:
                  - JOINED_DOMAIN
                  - ALL_DOMAINS
                  - SPECIFIC_DOMAINS
                  - GC
                  type: string
                posix_group:
                  description: Override 'posixGroup' as the object class that defines a group entry on the LDAP server. When binding VAST Cluster to AD, set this parameter to 'group' in order for authorization to work properly.
                  type: string
                query_groups_mode:
                  description: 'A mode setting for how groups are queried: Set to COMPATIBLE to look up user groups using the ''memberOf'' and ''memberUid'' attributes. Set to RFC2307BIS_ONLY to look up user groups using only the ''memberOf'' attribute. Set to RFC2307_ONLY to look up user groups using only the ''memberUid'' attribute. Set to NONE not to look up user groups other than by leading GID and primary group SID.'
                  type: string
                query_posix_attributes_from_gc:
                  description: 'When set to True - users/groups from non-joined domain POSIX attributes are supported,

                    when set to False - Posix attributes of users/groups from non-joined domain are not supported.

                    As a condition Global catalog needs to be configured to support Posix attributes. (deprecated since 4.6)

                    '
                  type: boolean
                reverse_lookup:
                  description: resolve netgroups into hostnames
                  type: boolean
                searchbase:
                  description: The entry in the LDAP directory tree to use as a starting point for user queries.
                  type: string
                super_admin_groups:
                  description: List of groups on the LDAP provider. Members of these groups can log into VMS as cluster admin users.
                  items:
                    type: string
                  type: array
                tls_certificate:
                  description: TLS certificate to use for verifying the remote LDAP server's TLS certificate.
                  type: string
                uid:
                  description: Override 'uid' as the attribute of a user entry on the LDAP server that contains the user name. When binding VAST Cluster to AD, you may need to set this to 'sAMAccountname'.
                  type: string
                uid_member:
                  description: Override 'memberUid' as the attribute of a group entry on the LDAP server that contains names of group members. When binding VAST Cluster to AD, you may need to set this to 'memberUID'
                  type: string
                uid_member_value_property_name:
                  description: The attribute which represents the value of the LDAP group's member property.
                  type: string
                uid_number:
                  description: Override 'uidNumber' as the attribute of a user entry on the LDAP server that contains the UID number. Often when binding VAST Cluster to Active Directory this does not need to be set.
                  type: string
                url:
                  description: 'LDAP server URI in the format SCHEME://ADDRESS. ADDRESS can be either a DNS name or an IP address. Example: ldap://ldap.company.com'
                  type: string
                urls:
                  description: Comma separated list of URIs of LDAP servers in the format SCHEME://ADDRESS. The order of listing defines the priority order. The URI with highest priority that has a good health status is used.
                  items:
                    type: string
                  type: array
                use_auto_discovery:
                  description: When enabled, Active Directory Domain Controllers (DCs) and Active Directory domains are auto discovered. Queries extend beyond the joined domain to all domains in the forest. When disabled, queries are restricted to the joined domain and DCs must be provided in the URLs field.
                  type: boolean
                use_ldaps:
                  description: Use LDAPS for Auto-Discovery
                  type: boolean
                use_multi_forest:
                  description: Allow access for users from trusted domains on other forests.
                  type: boolean
                use_posix:
                  description: POSIX support
                  type: boolean
                use_tls:
                  description: Set to true to enable use of TLS to secure communication between VAST Cluster and the LDAP server.
                  type: boolean
                user_login_name:
                  description: The attribute used to query Active Directory for the user login name in NFS ID mapping. Applicable only with Active Directory and NFSv4.
                  type: string
                username_property_name:
                  description: The attribute to use for querying users in VMS user-initated user queries. Default is 'name'. Sometimes set to 'cn'
                  type: string
              type: object
        x-originalParamName: LdapModifyParams
      responses:
        '200':
          description: ''
      summary: Modify LDAP configuration
      tags:
      - ldaps
  /ldaps/{id}/set_posix_primary/:
    patch:
      description: This endpoint sets the LDAP server as the primary POSIX provider.
      operationId: ldaps_set_posix_primary
      parameters:
      - description: LDAP ID
        in: path
        name: id
        required: true
        schema:
          type: string
      responses:
        '204':
          description: Set
      summary: Set LDAP as POSIX Primary Provider
      tags:
      - ldaps
components:
  schemas:
    Ldap:
      properties:
        abac_read_only_value_name:
          type: string
          x-cli-header: Read-Only-Value
        abac_read_write_value_name:
          type: string
          x-cli-header: Read-Write-Value
        active_directory:
          type: string
        active_directory_id:
          type: integer
        advanced_filter:
          description: Manual filters for the BaseDN. This is useful when accounts are distributed across OUs and the baseDN needs to be wide to include all accounts, while there are also accounts that you would like to exclude from user queries.
          type: string
        binddn:
          description: Distinguished name of LDAP superuser
          type: string
          x-cli-header: Bind-DN
        bindpw:
          description: Password for the LDAP superuser
          type: string
          x-cli-header: Bind-Password
        domain_name:
          description: FQDN of the domain.
          type: string
          x-cli-header: Domain Name
        domains_with_posix_attributes:
          description: 'Allows to enumerate specific domains for POSIX attributes

            in case posix_attributes_source is set to SPECIFIC_DOMAINS.

            '
          items:
            type: string
          type: array
        gid_number:
          type: string
          x-cli-header: gidNumber
        group_login_name:
          description: The attribute used to query Active Directory for the group login name in NFS ID mapping. Applicable only with Active Directory and NFSv4.
          type: string
        group_searchbase:
          description: Base DN for group queries within the joined domain only. When auto discovery is enabled, group queries outside the joined domain use auto-discovered Base DNs.
          type: string
          x-cli-header: Group-Base-DN
        guid:
          type: string
        id:
          type: integer
          x-cli-header: ID
        is_abac_provider:
          description: is this Ldap / Active Directory used for ABAC
          type: boolean
          x-cli-header: is ABAC provider
        is_vms_auth_provider:
          description: 'Enables use of the LDAP for VMS authentication. Two LDAP configurations per cluster can be used for VMS authentication: one with Active Directory and one without.'
          type: boolean
        mail_property_name:
          description: The attribute to use for the user's email address.
          type: string
        match_user:
          type: string
        method:
          description: Bind Authentication Method
          type: string
          x-cli-header: Method
        monitor_action:
          description: The type of periodic health check that VAST Cluster performs for the LDAP provider. PING (default, less overhead and impact on the provider) = pings the provider. BIND = binds to the provider.
          enum:
          - PING
          - BIND
          type: string
        name:
          description: Name of the LDAP configuration
          type: string
          x-cli-header: Name
        netgroup_searchbase:
          description: Base DN for netgroup queries.
          example: OU=netgroups,OU=system,DC=umiacs,DC=umd,DC=edu
          type: string
          x-cli-header: Netgroup-Base-DN
        port:
          description: LDAP server port. 389 (LDAP)  636 (LDAPS)
          type: integer
          x-cli-header: Port
        posix_account:
          type: string
          x-cli-header: PosixAccount
        posix_attributes_source:
          description: Defines which domains POSIX attributes will be supported from.
          enum:
          - JOINED_DOMAIN
          - ALL_DOMAINS
          - SPECIFIC_DOMAINS
          - GC
          type: string
        posix_group:
          type: string
          x-cli-header: PosixGroup
        posix_primary_provider:
          description: POSIX primary provider
          type: boolean
          x-cli-header: POSIX Primary Provider
        query_groups_mode:
          description: Query group mode
          type: string
        query_posix_attributes_from_gc:
          description: 'When set to True - users/groups from non-joined domain POSIX attributes are supported,

            when set to False - Posix attributes of users/groups from non-joined domain are not supported.

            As a condition Global catalog needs to be configured to support Posix attributes. (deprecated since 4.6)

            '
          type: boolean
        reverse_lookup:
          description: Resolve LDAP netgroups into hostnames
          type: boolean
          x-cli-header: Resolve-Hostnames
        searchbase:
          description: The Base DN is the starting point the LDAP provider uses when searching for users and groups. If the Group Base DN is configured it will be used instead of the Base DN, for groups only
          type: string
          x-cli-header: Base-DN
        state:
          enum:
          - CONNECTED
          - DEGRADED
          - DISCONNECTED
          - UNKNOWN
          - CONNECTING
          - IN_DISCOVERY
          - NOT_FOUND
          type: string
        super_admin_groups:
          description: List of groups on the LDAP provider. Members of these groups can log into VMS as cluster admin users.
          items:
            type: string
          type: array
        tenant_id:
          description: Tenant ID
          type: integer
        title:
          type: string
        tls_certificate:
          type: string
          x-cli-header: TLS-certificate
        uid:
          type: string
          x-cli-header: uid
        uid_member:
          type: string
          x-cli-header: memberUid
        uid_member_value_property_name:
          description: The attribute which represents the value of the LDAP group's member property.
          type: string
        uid_number:
          type: string
          x-cli-header: uidNumber
        url:
          description: Comma-separated list of URIs of LDAP servers (Domain Controllers (DCs) in Active Directory), in priority order. The URI with highest priority that has a good health status is used. Specify each URI in the format SCHEME://ADDRESS. ADDRESS can be either a DNS name or an IP address. e.g. ldap://ldap.company.com, ldaps://ldaps.company.com, ldap://192.0.2.2
          type: string
          x-cli-header: URL
        urls:
          description: Comma-separated list of URIs of LDAP servers (Domain Controllers (DCs) in Active Directory), in priority order. The URI with highest priority that has a good health status is used. Specify each URI in the format SCHEME://ADDRESS. ADDRESS can be either a DNS name or an IP address. e.g. ldap://ldap.company.com, ldaps://ldaps.company.com, ldap://192.0.2.2
          items:
            type: string
          type: array
          x-cli-header: URLs
        use_auto_discovery:
          description: When enabled, Active Directory Domain Controllers (DCs) and Active Directory domains are auto discovered. Queries extend beyond the joined domain to all domains in the forest. When disabled, queries are restricted to the joined domain and DCs must be provided in the URLs field.
          type: boolean
        use_ldaps:
          description: Use LDAPS for auto-Discovery. To activate, set use-auto-discovery to true also.
          type: boolean
        use_multi_forest:
          description: Allow access for users from trusted domains on other forests.
          type: boolean
          x-cli-header: Enable trusted domains on other forests
        use_posix:
          description: POSIX support
          type: boolean
          x-cli-header: POSIX support
        use_tls:
          description: configure LDAP with TLS
          type: boolean
          x-cli-header: Use TLS
        user_login_name:
          description: The attribute used to query Active Directory for the user login name in NFS ID mapping. Applicable only with Active Directory and NFSv4.
          type: string
        username_property_name:
          description: Username property name
          type: string
      required:
      - searchbase
      - urls
      type: object
  securitySchemes:
    ApiToken:
      description: Send current valid API token in an Authorization header with format Api-Token <token>.
      in: header
      name: ApiToken
      type: apiKey
    basicAuth:
      description: Basic authentication using VMS user name and password
      scheme: basic
      type: http