LDAP

El conector LDAP te permite configurar un servidor LDAP genérico.

Versiones compatibles

Este conector admite las versiones 2 y 3 de LDAP.

Antes de empezar

Antes de usar el conector LDAP, haz lo siguiente:

  • En tu proyecto de Google Cloud:
    • Asegúrate de que la conectividad de red esté configurada. Para obtener información sobre los patrones de red, consulta Conectividad de red.
    • Concede el rol de gestión de identidades y accesos roles/connectors.admin al usuario que configure el conector.
    • Concede los siguientes roles de gestión de identidades y accesos a la cuenta de servicio que quieras usar para el conector:
      • roles/secretmanager.viewer
      • roles/secretmanager.secretAccessor

      Una cuenta de servicio es un tipo especial de cuenta de Google diseñada para representar a un usuario no humano que necesita autenticarse y disponer de autorización para acceder a los datos de las APIs de Google. Si no tienes una cuenta de servicio, debes crearla. El conector y la cuenta de servicio deben pertenecer al mismo proyecto. Para obtener más información, consulta el artículo Crear una cuenta de servicio.

    • Habilita los siguientes servicios:
      • secretmanager.googleapis.com (API Secret Manager)
      • connectors.googleapis.com (API Connectors)

      Para saber cómo habilitar servicios, consulta Habilitar servicios.

    Si estos servicios o permisos no se han habilitado en tu proyecto anteriormente, se te pedirá que los habilites al configurar el conector.

Configurar el conector

Una conexión es específica de una fuente de datos. Esto significa que, si tiene muchas fuentes de datos, debe crear una conexión independiente para cada una de ellas. Para crear una conexión, sigue estos pasos:

  1. En la consola de Cloud, ve a la página Integration Connectors > Connections (Conectores de integración > Conexiones) y, a continuación, selecciona o crea un proyecto de Google Cloud.

    Ve a la página Conexiones.

  2. Haz clic en + CREAR NUEVA para abrir la página Crear conexión.
  3. En la sección Ubicación, elige la ubicación de la conexión.
    1. Región: selecciona una ubicación de la lista desplegable.

      Para ver la lista de todas las regiones admitidas, consulta Ubicaciones.

    2. Haz clic en SIGUIENTE.
  4. En la sección Detalles de la conexión, haz lo siguiente:
    1. Conector: selecciona LDAP en la lista desplegable de conectores disponibles.
    2. Versión del conector: seleccione la versión del conector en la lista desplegable de versiones disponibles.
    3. En el campo Connection Name (Nombre de conexión), introduce un nombre para la instancia de conexión.

      Los nombres de las conexiones deben cumplir los siguientes criterios:

      • Los nombres de conexión pueden contener letras, números o guiones.
      • Las letras deben estar en minúsculas.
      • Los nombres de conexión deben empezar por una letra y terminar por una letra o un número.
      • Los nombres de conexión no pueden tener más de 49 caracteres.
    4. Si quiere, puede introducir una Descripción para la instancia de conexión.
    5. También puedes habilitar Registro en la nube y, a continuación, seleccionar un nivel de registro. De forma predeterminada, el nivel de registro es Error.
    6. Cuenta de servicio: selecciona una cuenta de servicio que tenga los roles necesarios.
    7. Si quieres, configura los ajustes del nodo de conexión:

      • Número mínimo de nodos: introduce el número mínimo de nodos de conexión.
      • Número máximo de nodos: introduce el número máximo de nodos de conexión.

      Un nodo es una unidad (o réplica) de una conexión que procesa transacciones. Se necesitan más nodos para procesar más transacciones en una conexión y, a la inversa, se necesitan menos nodos para procesar menos transacciones. Para saber cómo influyen los nodos en el precio de tu conector, consulta la sección Precios de los nodos de conexión. Si no introduces ningún valor, de forma predeterminada, el número mínimo de nodos se establece en 2 (para mejorar la disponibilidad) y el máximo en 50.

    8. DN base: la parte base del nombre distintivo, que se usa para limitar los resultados a subárboles específicos.
    9. Mecanismo de autenticación: el mecanismo de autenticación que se usará al conectarse al servidor LDAP.
    10. Seguir derivaciones: indica si se deben seguir las derivaciones LDAP devueltas por el servidor LDAP.
    11. GUID descriptivo: indica si se deben devolver los valores de los atributos GUID en un formato legible.
    12. SID descriptivo: indica si se deben devolver los valores del atributo SID en un formato legible por humanos.
    13. Versión de LDAP: la versión de LDAP que se usa para conectarse al servidor y comunicarse con él.
    14. Ámbito: si quieres limitar el ámbito de la búsqueda a todo el subárbol (BaseDN y todos sus descendientes), a un solo nivel (BaseDN y sus descendientes directos) o al objeto base (solo BaseDN).
    15. También puedes hacer clic en + AÑADIR ETIQUETA para añadir una etiqueta a la conexión en forma de par clave-valor.
    16. Haz clic en SIGUIENTE.
  5. En la sección Destinations (Destinos), introduce los detalles del host remoto (sistema backend) al que quieras conectarte.
    1. Tipo de destino: selecciona un Tipo de destino.
      • Para especificar el nombre de host o la dirección IP de destino, selecciona Dirección de host y introduce la dirección en el campo Host 1.
      • Para establecer una conexión privada, selecciona Endpoint attachment (Endpoint adjunto) y elige el adjunto que quieras de la lista Endpoint Attachment (Endpoint adjunto).

      Si quieres establecer una conexión pública con tus sistemas backend con seguridad adicional, puedes configurar direcciones IP de salida estáticas para tus conexiones y, a continuación, configurar las reglas de tu cortafuegos para que solo se permitan las direcciones IP estáticas específicas.

      Para introducir más destinos, haga clic en +AÑADIR DESTINO.

    2. Haz clic en SIGUIENTE.
  6. En la sección Autenticación, introduce los detalles de autenticación.
    1. Seleccione un Tipo de autenticación e introduzca los detalles pertinentes.

      La conexión LDAP admite los siguientes tipos de autenticación:

      • Nombre de usuario y contraseña
    2. Para saber cómo configurar estos tipos de autenticación, consulta Configurar la autenticación.

    3. Haz clic en SIGUIENTE.
  7. Revisar: revisa los detalles de la conexión y la autenticación.
  8. Haz clic en Crear.

Configurar la autenticación

El conector LDAP admite el tipo de autenticación básica. Si tu destino o instancia de LDAP está alojado en una VM o en una red privada, crea un acoplamiento de endpoint. Para obtener información sobre cómo instalar y configurar LDAP, consulta el artículo Instalación de LDAP.

  • Nombre de usuario y contraseña
    • Nombre de usuario: nombre de usuario del conector.
    • Contraseña: secreto de Secret Manager que contiene la contraseña asociada al conector.

Tipo de conexión de autenticación básica

En la siguiente tabla se muestran los valores de configuración de ejemplo del tipo de conexión Autenticación básica.
Nombre del campo Detalles
Región us-central1
Conector LDAP
Versión del conector 1
Nombre de la conexión google-ldap-basicauth-conn
Cuenta de servicio SERVICE_ACCOUNT_NAME@PROJECT_ID.iam.gserviceaccount.com
DN base CN=Users,DC=NAME,DC=com
Mecanismo de autenticación SIMPLE
Versión de LDAP 3
Ámbito WHOLESUBTREE
Nivel de verbosidad 5
Número mínimo de nodos 2
Número máximo de nodos 50
Nombre de usuario USER_NAME
Contraseña CONTRASEÑA
Versión de secreto 1

Entidades, operaciones y acciones

Todos los conectores de integración proporcionan una capa de abstracción para los objetos de la aplicación conectada. Solo puedes acceder a los objetos de una aplicación a través de esta abstracción. La abstracción se te muestra como entidades, operaciones y acciones.

  • Entidad: una entidad se puede considerar como un objeto o un conjunto de propiedades en la aplicación o el servicio conectados. La definición de una entidad varía de un conector a otro. Por ejemplo, en un conector de base de datos, las tablas son las entidades; en un conector de servidor de archivos, las carpetas son las entidades; y en un conector de sistema de mensajería, las colas son las entidades.

    Sin embargo, es posible que un conector no admita o no tenga ninguna entidad. En ese caso, la lista Entities estará vacía.

  • Operación: una operación es la actividad que puedes realizar en una entidad. Puedes realizar cualquiera de las siguientes operaciones en una entidad:

    Al seleccionar una entidad de la lista disponible, se genera una lista de operaciones disponibles para la entidad. Para ver una descripción detallada de las operaciones, consulta las operaciones de entidades de la tarea Connectors. Sin embargo, si un conector no admite ninguna de las operaciones de entidad, esas operaciones no admitidas no se mostrarán en la lista Operations.

  • Acción: una acción es una función de primera clase que se pone a disposición de la integración a través de la interfaz del conector. Una acción te permite hacer cambios en una o varias entidades y varía de un conector a otro. Normalmente, una acción tendrá algunos parámetros de entrada y un parámetro de salida. Sin embargo, es posible que un conector no admita ninguna acción, en cuyo caso la lista Actions estará vacía.

Acciones

En esta sección se enumeran todas las acciones admitidas por el conector LDAP.

Acción MoveToDN

Esta acción mueve objetos de un nombre distintivo (DN) a otro.

Parámetros de entrada de la acción MoveToDN

Nombre del parámetro Tipo de datos Obligatorio Descripción
DN Cadena El DN actual del objeto que se va a mover en el servidor LDAP. Por ejemplo, CN=Google Cloud,OU=Bangalore,OU=India,OU=Domain_Users,DC=test-ldap,DC=com.
NewParentDN Cadena El nuevo nombre distinguido principal del objeto. Por ejemplo, OU=Mysore,OU=India,OU=Domain_Users,DC=test-ldap,DC=com.

Parámetros de salida de la acción DownloadFile

Esta acción devuelve el estado 200 (OK) con un cuerpo de respuesta que indica los resultados.

Para saber cómo configurar la acción MoveToDN, consulta los ejemplos de acciones.

Acción GetAttributes

Esta acción obtiene todos los nombres y valores de los atributos de un DN.

Parámetros de entrada de la acción GetAttributes

Nombre del parámetro Tipo de datos Obligatorio Descripción
DN Cadena Nombre distintivo del objeto LDAP que quieras. Si no se especifica, se usará el BaseDN de la cadena de conexión.

Parámetros de salida de la acción GetAttributes

Esta acción devuelve el estado 200 (OK) con un cuerpo de respuesta que indica los resultados.

Para saber cómo configurar la acción GetAttributes, consulta los ejemplos de acciones.

Acción AddMembersToGroup

Esta acción añade usuarios a un grupo.

Parámetros de entrada de la acción GetAttributes

Nombre del parámetro Tipo de datos Obligatorio Descripción
GroupId Cadena ID del grupo al que quieres añadir los usuarios.
UserDNs Cadena Agregación UserDNs o tabla temporal que contiene el DN de los usuarios que se van a añadir al grupo. El valor debe ser el DN del registro de usuario.

Parámetros de salida de la acción AddMembersToGroup

Esta acción devuelve el estado 200 (OK) con un cuerpo de respuesta que indica los resultados.

Para saber cómo configurar la acción AddMembersToGroup, consulta los ejemplos de acciones.

Ejemplos de acciones

En esta sección se describe cómo realizar algunas de las acciones de este conector.

Ejemplo: mover un objeto de un DN a otro

  1. En el cuadro de diálogo Configure connector task, haz clic en Actions.
  2. Seleccione la acción MoveToDN y, a continuación, haga clic en Hecho.
  3. En la sección Entrada de tarea de la tarea Conectores, haz clic en connectorInputPayload y, a continuación, introduce un valor similar al siguiente en el campo Default Value:
    {
    "DN": "CN=Google Cloud,OU=Bangalore,OU=India,OU=Domain_Users,DC=test-ldap,DC=com",
    "NewParentDN": "OU=Mysore,OU=India,OU=Domain_Users,DC=test-ldap,DC=com"
    }
      
  4. En este ejemplo se mueve un objeto de un DN a otro. Si la acción se realiza correctamente, el parámetro connectorOutputPayload de la respuesta de la tarea del conector tendrá un valor similar al siguiente:

    [{
    "Success": null,
    "result": "[ok]",
    "modified": "true",
    "rss:title": "The movement was successful.",
    "resultcode": "0"
    }]

Ejemplo: obtener atributos de un DN

  1. En el cuadro de diálogo Configure connector task, haz clic en Actions.
  2. Seleccione la acción GetAttributes y, a continuación, haga clic en Hecho.
  3. En la sección Entrada de tarea de la tarea Conectores, haz clic en connectorInputPayload y, a continuación, introduce un valor similar al siguiente en el campo Default Value:
    {
    "DN": "CN=Bangalore user,OU=Bangalore,OU=India,OU=Domain_Users,DC=test-ldap,DC=com"
    }
  4. En este ejemplo se obtiene el atributo del DN especificado. Si la acción se realiza correctamente, el parámetro connectorOutputPayload de la respuesta de la tarea del conector tendrá un valor similar al siguiente:

    [{
        "AttributeName": "_op",
        "AttributeValue": "ldapadoGetAttributes"
      }, {
        "AttributeName": "usncreated",
        "AttributeValue": "36006"
      }, {
        "AttributeName": "countrycode",
        "AttributeValue": "0"
      }, {
        "AttributeName": "badpwdcount",
        "AttributeValue": "0"
      }, {
        "AttributeName": "dn",
        "AttributeValue": ""
      }, {
        "AttributeName": "dn",
        "AttributeValue": "CN=Bangalore user,OU=Bangalore,OU=India,OU=Domain_Users,DC=test-ldap,DC=com"
      }, {
        "AttributeName": "whenchanged",
        "AttributeValue": "20230913125155.0Z"
      }, {
        "AttributeName": "objectclass",
        "AttributeValue": "top"
      }, {
        "AttributeName": "objectclass",
        "AttributeValue": "person"
      }, {
        "AttributeName": "objectclass",
        "AttributeValue": "organizationalPerson"
      }, {
        "AttributeName": "objectclass",
        "AttributeValue": "user"
      }, {
        "AttributeName": "primarygroupid",
        "AttributeValue": "513"
      }, {
        "AttributeName": "givenname",
        "AttributeValue": "Bangalore"
      }, {
        "AttributeName": "dscorepropagationdata",
        "AttributeValue": "16010101000001.0Z"
      }, {
        "AttributeName": "sn",
        "AttributeValue": "user"
      }, {
        "AttributeName": "useraccountcontrol",
        "AttributeValue": "512"
      }, {
        "AttributeName": "cn",
        "AttributeValue": "Bangalore user"
      }, {
        "AttributeName": "codepage",
        "AttributeValue": "0"
      }, {
        "AttributeName": "accountexpires",
        "AttributeValue": "9223372036854775807"
      }, {
        "AttributeName": "userprincipalname",
        "AttributeValue": "user-1@test-l
      }]  
      

Ejemplo: añadir usuarios a un grupo

  1. En el cuadro de diálogo Configure connector task, haz clic en Actions.
  2. Seleccione la acción AddMembersToGroup y, a continuación, haga clic en Hecho.
  3. En la sección Entrada de tarea de la tarea Conectores, haz clic en connectorInputPayload y, a continuación, introduce un valor similar al siguiente en el campo Default Value:
    {
    "GroupId": "1|CN=Cert Publishers,CN=Users,DC=test-ldap,DC=com",
    "UserDNs": "[{\"DN\":\"CN=Google AI,CN=Users,DC=test-ldap,DC=com;CN=Guest,CN=Users,DC=test-ldap,DC=com\"}]"
    }
  4. En este ejemplo, se añade un DN de usuario al grupo con el ID 1|CN=Cert Publishers,CN=Users,DC=test-ldap,DC=com. Si la acción se realiza correctamente, el parámetro de respuesta connectorOutputPayload de la tarea del conector tendrá un valor similar al siguiente:

    [{
      "Success": "True"
      }]

Ejemplos de operaciones de entidades

Ejemplo: mostrar usuarios

En este ejemplo se muestran todos los usuarios de la entidad User.

  1. En el cuadro de diálogo Configure connector task, haz clic en Entities.
  2. Selecciona User en la lista Entity.
  3. Selecciona la operación LIST y, a continuación, haz clic en Hecho.
  4. También puedes filtrar el conjunto de resultados. Para filtrar el conjunto de resultados, en la sección Entrada de tarea de la tarea Conectores, define filterClause según tus necesidades.

    Por ejemplo, si se define la cláusula de filtro como Id='1|CN=admin,CN=Users,DC=test-ldap,DC=com', solo se mostrarán los registros cuyo ID coincida con este criterio.

Ejemplo: Obtener un registro de usuario

En este ejemplo se obtienen los detalles de un usuario de la entidad User.

  1. En el cuadro de diálogo Configure connector task, haz clic en Entities.
  2. Selecciona User en la lista Entity.
  3. Selecciona la operación GET y, a continuación, haz clic en Hecho.
  4. En la sección Entrada de tarea de la tarea Conectores, haga clic en EntityId y, a continuación, introduzca 1|CN=admin,CN=Users,DC=test-ldap,DC=com en el campo Valor predeterminado.

    En este caso, 1|CN=admin,CN=Users,DC=test-ldap,DC=com es uno de los valores de clave principal de la entidad User.

Ejemplo: crear un registro de usuario

En este ejemplo se crea un registro de usuario en la entidad User.

  1. En el cuadro de diálogo Configure connector task, haz clic en Entities.
  2. Selecciona User en la lista Entity.
  3. Selecciona la operación Create y, a continuación, haz clic en Hecho.
  4. En la sección Entrada de tarea de la tarea Conectores, haz clic en connectorInputPayload y, a continuación, introduce un valor similar al siguiente en el campo Default Value:
    {
    "RDN": "CN=MPATAI",
    "ObjectClass": "top;person;organizationalPerson;user"
    }

    Si la integración se realiza correctamente, el campo connectorOutputPayload de la tarea del conector tendrá un valor similar al siguiente:

     {
    "Id": "1|CN=MPATAI,CN=Users,DC=test-ldap,DC=com"
    }

Ejemplo: actualizar una incidencia

En este ejemplo se actualiza el registro del usuario especificado en la entidad User.

  1. En el cuadro de diálogo Configure connector task, haz clic en Entities.
  2. Selecciona User en la lista Entity.
  3. Selecciona la operación Update y, a continuación, haz clic en Hecho.
  4. En la sección Entrada de tarea de la tarea Conectores, haz clic en connectorInputPayload y, a continuación, introduce un valor similar al siguiente en el campo Default Value:
    {
            "PostalCode": "560040"
          }
          
  5. Haga clic en entityId y, a continuación, introduzca 1|CN=admin,CN=Users,DC=test-ldap,DC=com en el campo Valor predeterminado.

    También puede definir filterClause como 1|CN=admin,CN=Users,DC=test-ldap,DC=com en lugar de especificar entityId.

    Si la integración se realiza correctamente, el campo connectorOutputPayload de la tarea del conector tendrá un valor similar al siguiente:

    {
    "Id": "1|CN=admin,CN=Users,DC=test-ldap,DC=com"
    }
          

Ejemplo: eliminar un registro de usuario

En este ejemplo se elimina un registro de usuario de la entidad User.

  1. En el cuadro de diálogo Configure connector task, haz clic en Entities.
  2. Selecciona User en la lista Entity.
  3. Selecciona la operación Delete y, a continuación, haz clic en Hecho.
  4. En la sección Entrada de tarea de la tarea Conectores, haga clic en entityId y, a continuación, introduzca 1|CN=admin,CN=Users,DC=test-ldap,DC=com en el campo Valor predeterminado.
  5. Por otro lado, si la entidad User tiene claves primarias compuestas, en lugar de especificar el entityId, puedes definir el filterClause. Por ejemplo, Id='1|CN=admin,CN=Users,DC=test-ldap,DC=com' and DN='CN=admin,CN=Users,DC=test-ldap,DC=com'.

Crear conexiones con Terraform

Puedes usar el recurso de Terraform para crear una conexión.

Para saber cómo aplicar o quitar una configuración de Terraform, consulta Comandos básicos de Terraform.

Para ver una plantilla de Terraform de ejemplo para crear una conexión, consulta la plantilla de ejemplo.

Cuando crees esta conexión con Terraform, debes definir las siguientes variables en el archivo de configuración de Terraform:

Nombre del parámetro Tipo de datos Obligatorio Descripción
base_dn STRING Verdadero La parte base del nombre distintivo, que se usa para limitar los resultados a subárboles específicos.
auth_mechanism ENUM Verdadero El mecanismo de autenticación que se usará al conectarse al servidor LDAP. Los valores admitidos son: SIMPLE, DIGESTMD5 y NEGOTIATE.
follow_referrals BOOLEAN Falso Indica si se deben seguir las referencias LDAP devueltas por el servidor LDAP.
friendly_guid BOOLEAN Falso Indica si se deben devolver los valores de los atributos GUID en un formato legible por humanos.
friendly_sid BOOLEAN Falso Indica si se deben devolver los valores del atributo SID en un formato legible.
ldapversion ENUM Verdadero Versión de LDAP que se usa para conectarse al servidor y comunicarse con él. Los valores posibles son 2 y 3.
permiso ENUM Verdadero Indica si quieres limitar el ámbito de la búsqueda a todo el subárbol (BaseDN y todos sus descendientes), a un solo nivel (BaseDN y sus descendientes directos) o al objeto base (solo BaseDN). Los valores admitidos son WHOLESUBTREE, SINGLELEVEL y BASEOBJECT.

Usar la conexión LDAP en una integración

Una vez que hayas creado la conexión, estará disponible tanto en Apigee Integration como en Application Integration. Puedes usar la conexión en una integración a través de la tarea Conectores.

  • Para saber cómo crear y usar la tarea Conectores en la integración de Apigee, consulta Tarea Conectores.
  • Para saber cómo crear y usar la tarea Conectores en Application Integration, consulta Tarea Conectores.

Obtener ayuda de la comunidad de Google Cloud

Puedes publicar tus preguntas y hablar sobre este conector en la comunidad de Google Cloud, en los foros de Cloud.

Siguientes pasos