Configurez Astra pour qu'il utilise un serveur LDAP
Vous devez sélectionner un serveur LDAP et configurer Astra pour qu'il utilise le serveur en tant que fournisseur d'authentification. La tâche de configuration comprend les étapes décrites ci-dessous. Chaque étape inclut un appel d'API REST unique.
Étape 1 : ajout d'un certificat d'autorité de certification
Effectuez l'appel d'API REST suivant pour ajouter un certificat d'autorité de certification à Astra.
|
|
Cette étape est facultative et requise uniquement si vous voulez qu'Astra et le LDAP communiquent via un canal sécurisé à l'aide de LDAPS. |
Cet appel d'API REST utilise la méthode et le point de terminaison suivants.
| Méthode HTTP | Chemin |
|---|---|
POST |
/accounts/{account_id}/core/v1/certificats |
curl --request POST \
--location "https://astra.example.com/accounts/$ACCOUNT_ID/core/v1/certificates" \
--include \
--header "Content-Type: application/astra-certificate+json" \
--header "Accept: */*" \
--header "Authorization: Bearer $API_TOKEN" \
--data @JSONinput
{
"type": "application/astra-certificate",
"version": "1.0",
"certUse": "rootCA",
"cert": "LS0tLS1CRUdJTiBDRVJUSUZJQ0FURS0tLS0tCk1JSUMyVEN",
"isSelfSigned": "true"
}
Notez les informations suivantes concernant les paramètres d'entrée :
-
certEst une chaîne JSON contenant un certificat au format PKCS-11 codé en base64 (codé PEM). -
isSelfSigneddoit être réglé surtruesi le certificat est auto-signé. La valeur par défaut estfalse.
{
"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": []
}
}
Étape 2 : ajoutez les informations d'identification de liaison
Effectuez l'appel d'API REST suivant pour ajouter les informations d'identification de liaison.
Cet appel d'API REST utilise la méthode et le point de terminaison suivants.
| Méthode HTTP | Chemin |
|---|---|
POST |
/accounts/{account_id}/core/v1/credentials |
curl --request POST \
--location "https://astra.example.com/accounts/$ACCOUNT_ID/core/v1/credentials" \
--include \
--header "Content-Type: application/astra-certificate+json" \
--header "Accept: */*" \
--header "Authorization: Bearer $API_TOKEN" \
--data @JSONinput
{
"name": "ldapBindCredential",
"type": "application/astra-credential",
"version": "1.1",
"keyStore": {
"bindDn": "dWlkPWFkbWluLG91PXN5c3RlbQ==",
"password": "cGFzc3dvcmQ="
}
}
Notez les informations suivantes concernant les paramètres d'entrée :
-
bindDnetpasswordSont les informations d'identification de liaison codées en base64 de l'utilisateur admin LDAP qui peut se connecter et rechercher dans le répertoire LDAP.bindDnEst l'adresse e-mail de l'utilisateur LDAP.
{
"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"
}
}
Noter les paramètres de réponse suivants :
-
Le
iddes informations d'identification sont utilisées dans les étapes suivantes du flux de travail.
Etape 3 : récupération de l'UUID du paramètre LDAP
Exécutez l'appel de l'API REST suivant pour récupérer l'UUID du astra.account.ldap Réglage inclus avec le centre de contrôle Astra.
|
|
L'exemple curl ci-dessous utilise un paramètre de requête pour filtrer la collection de paramètres. Vous pouvez à la place supprimer le filtre pour obtenir tous les paramètres, puis rechercher astra.account.ldap.
|
Cet appel d'API REST utilise la méthode et le point de terminaison suivants.
| Méthode HTTP | Chemin |
|---|---|
OBTENEZ |
/accounts/{account_id}/core/v1/settings |
curl --request GET \
--location "https://astra.example.com/accounts/$ACCOUNT_ID/core/v1/settings?filter=name%20eq%20'astra.account.ldap'&include=name,id" \
--include \
--header "Accept: */*" \
--header "Authorization: Bearer $API_TOKEN" \
{
"items": [
["astra.account.ldap",
"12072b56-e939-45ec-974d-2dd83b7815df"
]
],
"metadata": {}
}
Étape 4 : mettez à jour le paramètre LDAP
Effectuez l'appel d'API REST suivant pour mettre à jour le paramètre LDAP et terminer la configuration. Utilisez le id Valeur de l'appel API précédent pour le <SETTING_ID> Valeur dans le chemin d'accès à l'URL ci-dessous.
|
|
Vous pouvez d'abord lancer une demande GET pour le paramètre spécifique afin de voir le schéma de configuration. Ceci fournira plus d'informations sur les champs requis dans la configuration. |
Cet appel d'API REST utilise la méthode et le point de terminaison suivants.
| Méthode HTTP | Chemin |
|---|---|
EN |
/accounts/{account_id}/core/v1/settings/{setting_id} |
curl --request PUT \
--location "https://astra.example.com/accounts/$ACCOUNT_ID/core/v1/settings/<SETTING_ID>" \
--include \
--header "Content-Type: application/astra-setting+json" \
--header "Accept: */*" \
--header "Authorization: Bearer $API_TOKEN" \
--data @JSONinput
{
"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"
}
}
Notez les informations suivantes concernant les paramètres d'entrée :
-
isEnableddoit être réglé surtrueou une erreur peut se produire. -
credentialIdest l'id des informations d'identification de liaison créées précédemment. -
secureModedoit être réglé surLDAPouLDAPSen fonction de votre configuration à l'étape précédente. -
Seul Active Directory est pris en charge en tant que fournisseur.
Si l'appel a réussi, la réponse HTTP 204 est renvoyée.
Étape 5 : récupération du paramètre LDAP
Vous pouvez éventuellement effectuer l'appel d'API REST suivant pour récupérer les paramètres LDAP et confirmer la mise à jour.
Cet appel d'API REST utilise la méthode et le point de terminaison suivants.
| Méthode HTTP | Chemin |
|---|---|
OBTENEZ |
/accounts/{account_id}/core/v1/settings/{setting_id} |
curl --request GET \
--location "'https://astra.example.com/accounts/$ACCOUNT_ID/core/v1/settings/<SETTING_ID>" \
--include \
--header "Accept: */*" \
--header "Authorization: Bearer $API_TOKEN"
{
"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": {}
}
Localisez le state champ de la réponse qui contient l'une des valeurs du tableau ci-dessous.
| État | Description |
|---|---|
en attente |
Le processus de configuration est toujours actif et n'est pas encore terminé. |
valide |
La configuration a été effectuée avec succès et |
erreur |
Le processus de configuration LDAP a échoué. |