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 :
-
cert
Est une chaîne JSON contenant un certificat au format PKCS-11 codé en base64 (codé PEM). -
isSelfSigned
doit être réglé surtrue
si 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 :
-
bindDn
etpassword
Sont 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.bindDn
Est 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
id
des 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 :
-
isEnabled
doit être réglé surtrue
ou une erreur peut se produire. -
credentialId
est l'id des informations d'identification de liaison créées précédemment. -
secureMode
doit être réglé surLDAP
ouLDAPS
en 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é. |