Skip to main content
Se proporciona el idioma español mediante traducción automática para su comodidad. En caso de alguna inconsistencia, el inglés precede al español.

Configure Astra para que utilice un servidor LDAP

Colaboradores

Debe seleccionar un servidor LDAP y configurar Astra para utilizar el servidor como proveedor de autenticación. La tarea de configuración consta de los pasos descritos a continuación. Cada paso incluye una única llamada API DE REST.

1. Añadir un certificado de CA

Realice la siguiente llamada a la API DE REST para añadir un certificado de CA a Astra.

Nota Este paso es opcional y solo es necesario si desea que Astra y LDAP se comuniquen a través de un canal seguro mediante LDAPS.
Método HTTP Ruta

PUBLICAR

/accounts/{account_id}/core/v1/certificates

Ejemplo de entrada JSON
{
  "type": "application/astra-certificate",
  "version": "1.0",
  "certUse": "rootCA",
  "cert": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUMyVEN",
  "isSelfSigned": "true"
}

Tenga en cuenta lo siguiente acerca de los parámetros de entrada:

  • cert Es una cadena JSON que contiene un certificado con formato PKCS-11 codificado en base64 (codificado en PEM).

  • isSelfSigned se debe establecer en true si el certificado está autofirmado. El valor predeterminado es false.

Ejemplo de curl
curl --location -i --request POST --data @JSONinput 'https://astra.example.com/accounts/<ACCOUNT_ID>/core/v1/certificates' --header 'Content-Type: application/astra-certificate+json' --header 'Accept: */*' --header 'Authorization: Bearer <API_TOKEN>'
Ejemplo de respuesta JSON
{
  "type": "application/astra-certificate",
  "version": "1.0",
  "id": "a5212e7e-402b-4cff-bba0-63f3c6505199",
  "certUse": "rootCA",
  "cert": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUMyVEN",
  "cn": "adldap.example.com",
  "expiryTimestamp": "2023-07-08T20:22:07Z",
  "isSelfSigned": "true",
  "trustState": "trusted",
  "trustStateTransitions": [
  {
    "from": "untrusted",
    "to": [
      "trusted",
      "expired"
    ]
  },
  {
    "from": "trusted",
    "to": [
      "untrusted",
      "expired"
    ]
  },
  {
    "from": "expired",
    "to": [
     "untrusted",
     "trusted"
    ]
  }
  ],
  "trustStateDesired": "trusted",
  "trustStateDetails": [],
  "metadata": {
    "creationTimestamp": "2022-07-21T04:16:06Z",
    "modificationTimestamp": "2022-07-21T04:16:06Z",
    "createdBy": "8a02d2b8-a69d-4064-827f-36851b3e1e6e",
    "modifiedBy": "8a02d2b8-a69d-4064-827f-36851b3e1e6e",
    "labels": []
    }
}

2. Añada las credenciales de enlace

Ejecute la siguiente llamada API de REST para añadir las credenciales de enlace.

Método HTTP Ruta

PUBLICAR

/accounts/{account_id}/core/v1/credenciales

Ejemplo de entrada JSON
{
  "name": "ldapBindCredential",
  "type": "application/astra-credential",
  "version": "1.1",
  "keyStore": {
    "bindDn": "dWlkPWFkbWluLG91PXN5c3RlbQ==",
    "password": "cGFzc3dvcmQ="
  }
}

Tenga en cuenta lo siguiente acerca de los parámetros de entrada:

  • bindDn y.. password Son las credenciales de enlace codificadas base64 del usuario administrador LDAP que puede conectarse y buscar en el directorio LDAP. bindDn Es la dirección de correo electrónico del usuario LDAP.

Ejemplo de curl
curl --location -i --request POST --data @JSONinput 'https://astra.example.com/accounts/<ACCOUNT_ID>/core/v1/credentials' --header 'Content-Type: application/astra-credential+json' --header 'Accept: */*' --header 'Authorization: Bearer <API_TOKEN>'
Ejemplo de respuesta JSON
{
    "type": "application/astra-credential",
    "version": "1.1",
    "id": "3bd9c8a7-f5a4-4c44-b778-90a85fc7d154",
    "name": "ldapBindCredential",
    "metadata": {
        "creationTimestamp": "2022-07-21T06:53:11Z",
        "modificationTimestamp": "2022-07-21T06:53:11Z",
        "createdBy": "527329f2-662c-41c0-ada9-2f428f14c137"
    }
}

Tenga en cuenta los siguientes parámetros de respuesta:

  • La id de la credencial se utiliza en los pasos posteriores del flujo de trabajo.

3. Recupere el UUID de la configuración LDAP

Realice la siguiente llamada API DE REST para recuperar el UUID del astra.account.ldap Ajuste que se incluye con Astra Control Center.

Nota El ejemplo curl que se muestra a continuación utiliza un parámetro de consulta para filtrar la colección de ajustes. En su lugar, puede quitar el filtro para obtener todos los ajustes y, a continuación, buscar astra.account.ldap.
Método HTTP Ruta

OBTENGA

/accounts/{account_id}/core/v1/settings

Ejemplo de curl
curl --location -i --request GET 'https://astra.example.com/accounts/<ACCOUNT_ID>/core/v1/settings?filter=name%20eq%20'astra.account.ldap'&include=name,id' --header 'Accept: */*' --header 'Authorization: Bearer <API_TOKEN>'
Ejemplo de respuesta JSON
{
  "items": [
    ["astra.account.ldap",
    "12072b56-e939-45ec-974d-2dd83b7815df"
    ]
  ],
  "metadata": {}
}

4. Actualice la configuración de LDAP

Realice la siguiente llamada a la API DE REST para actualizar la configuración de LDAP y completar la configuración. Utilice la id Valor de la llamada de API anterior para <SETTING_ID> Valor en la ruta de dirección URL a continuación.

Nota Puede emitir primero una solicitud GET para la configuración específica para ver el esquema configSchema. Esto proporcionará más información acerca de los campos requeridos en la configuración.
Método HTTP Ruta

PUESTO

/accounts/{account_id}/core/v1/settings/{setting_id}

Ejemplo de entrada JSON
{
  "type": "application/astra-setting",
  "version": "1.0",
  "desiredConfig": {
    "connectionHost": "myldap.example.com",
    "credentialId": "3bd9c8a7-f5a4-4c44-b778-90a85fc7d154",
    "groupBaseDN": "OU=groups,OU=astra,DC=example,DC=com",
    "isEnabled": "true",
    "port": 686,
    "secureMode": "LDAPS",
    "userBaseDN": "OU=users,OU=astra,DC=example,dc=com",
    "userSearchFilter": "((objectClass=User))",
    "vendor": "Active Directory"
    }
}

Tenga en cuenta lo siguiente acerca de los parámetros de entrada:

  • isEnabled se debe establecer en true o se puede producir un error.

  • credentialId es el id de la credencial de enlace creada anteriormente.

  • secureMode se debe establecer en LDAP o. LDAPS según la configuración del paso anterior.

  • Sólo se admite "Active Directory" como proveedor.

Ejemplo de curl
curl --location -i --request PUT --data @JSONinput 'https://astra.example.com/accounts/<ACCOUNT_ID>/core/v1/settings/<SETTING_ID>' --header 'Content-Type: application/astra-setting+json' --header 'Accept: */*' --header 'Authorization: Bearer <API_TOKEN>'

Si la llamada se realiza correctamente, se devuelve la respuesta HTTP 204.

5. Recupere el ajuste LDAP

De forma opcional, puede realizar la siguiente llamada API DE REST para recuperar la configuración de LDAP y confirmar la actualización.

Método HTTP Ruta

OBTENGA

/accounts/{account_id}/core/v1/settings/{setting_id}

Ejemplo de curl
curl --location -i --request GET 'https://astra.example.com/accounts/<ACCOUNT_ID>/core/v1/settings/<SETTING_ID>' --header 'Accept: */*' --header 'Authorization: Bearer <API_TOKEN>'
Ejemplo de respuesta JSON
{
  "items": [
  {
    "type": "application/astra-setting",
    "version": "1.0",
    "metadata": {
      "creationTimestamp": "2022-06-17T21:16:31Z",
      "modificationTimestamp": "2022-07-21T07:12:20Z",
      "labels": [],
      "createdBy": "system",
      "modifiedBy": "00000000-0000-0000-0000-000000000000"
    },
    "id": "12072b56-e939-45ec-974d-2dd83b7815df",
    "name": "astra.account.ldap",
    "desiredConfig": {
      "connectionHost": "10.193.61.88",
      "credentialId": "3bd9c8a7-f5a4-4c44-b778-90a85fc7d154",
      "groupBaseDN": "ou=groups,ou=astra,dc=example,dc=com",
      "isEnabled": "true",
      "port": 686,
      "secureMode": "LDAPS",
      "userBaseDN": "ou=users,ou=astra,dc=example,dc=com",
      "userSearchFilter": "((objectClass=User))",
      "vendor": "Active Directory"
    },
    "currentConfig": {
      "connectionHost": "10.193.160.209",
      "credentialId": "3bd9c8a7-f5a4-4c44-b778-90a85fc7d154",
      "groupBaseDN": "ou=groups,ou=astra,dc=example,dc=com",
      "isEnabled": "true",
      "port": 686,
      "secureMode": "LDAPS",
      "userBaseDN": "ou=users,ou=astra,dc=example,dc=com",
      "userSearchFilter": "((objectClass=User))",
      "vendor": "Active Directory"
    },
    "configSchema": {
      "$schema": "http://json-schema.org/draft-07/schema#",
      "title": "astra.account.ldap",
      "type": "object",
      "properties": {
        "connectionHost": {
          "type": "string",
          "description": "The hostname or IP address of your LDAP server."
        },
        "credentialId": {
          "type": "string",
          "description": "The credential ID for LDAP account."
        },
        "groupBaseDN": {
          "type": "string",
          "description": "The base DN of the tree used to start the group search. The system searches the subtree from the specified location."
        },
        "groupSearchCustomFilter": {
          "type": "string",
          "description": "Type of search that controls the default group search filter used."
        },
        "isEnabled": {
          "type": "string",
          "description": "This property determines if this setting is enabled or not."
        },
        "port": {
          "type": "integer",
          "description": "The port on which the LDAP server is running."
        },
        "secureMode": {
          "type": "string",
          "description": "The secure mode LDAPS or LDAP."
        },
        "userBaseDN": {
          "type": "string",
          "description": "The base DN of the tree used to start the user search. The system searches the subtree from the specified location."
        },
        "userSearchFilter": {
          "type": "string",
          "description": "The filter used to search for users according a search criteria."
        },
        "vendor": {
          "type": "string",
          "description": "The LDAP provider you are using.",
          "enum": ["Active Directory"]
        }
      },
      "additionalProperties": false,
      "required": [
        "connectionHost",
        "secureMode",
        "credentialId",
        "userBaseDN",
        "userSearchFilter",
        "groupBaseDN",
        "vendor",
        "isEnabled"
      ]
      },
      "state": "valid",
    }
  ],
  "metadata": {}
}

Localice el state en el campo de respuesta que tendrá uno de los valores de la tabla siguiente.

Estado Descripción

pendiente

El proceso de configuración sigue activo y aún no se ha completado.

válido

La configuración se ha completado correctamente y. currentConfig en la respuesta coincide desiredConfig.

error

Error en el proceso de configuración de LDAP.