HELP FILE
De Provisioning-API van LastPass gebruiken
LastPass ondersteunt een openbare API die door LastPass Enterprise- en Identity-accounts kan worden gebruikt om gebruikers aan te maken, gebruikers te verwijderen, groepen te beheren, wachtwoord-apps (-sites) te pushen naar gebruikers, rapportagegegevens op te vragen en het gebruik van licenties te bekijken. Deze geautomatiseerde Provisioning-API is erg krachtig maar vereist integratie van uw kant om dubbele acties te voorkomen.
LastPass biedt een aantal verschillende geautomatiseerde opties voor inrichting. U kunt meer lezen over welke optie voor u het best geschikt is.
Opmerking: De LastPass Provisioning-API biedt geen ondersteuning voor groepsbeheer voor vooraf geconfigureerde SSO-apps (cloud-apps) in de Admin Console voor SSO en MFA.
Een gebruiker toevoegen
De eerste stap is het toevoegen van de gebruiker. U moet eerst het aantal PBKDF2-iteraties kiezen dat u wilt gebruiken. LastPass gebruikt momenteel standaard 100.100 bewerkingen voor een goede balans tussen beveiliging en prestaties
Zodra u de gebruikersnaam, het wachtwoord en het aantal iteraties heeft, kunt u eerst de encryptiesleutel van de gebruiker berekenen. Deze wordt aangemaakt met PBKDF2-HMAC-SHA256, waarbij de gebruikersnaam als salt wordt gebruikt. Hieronder ziet u een voorbeeld waarbij de functie OpenSSL PKCS5_PBKDF2_HMAC() wordt gebruikt (vergeet niet dat de gebruikersnaam en het wachtwoord utf-8-gecodeerd moeten zijn):
const unsigned char *username = "user@lastpass.com";
const char *password = "T5O89kkUMGYT";
int iterations = 5000;
unsigned char key[32];
PKCS5_PBKDF2_HMAC(password, strlen(password), username, strlen(username), iterations, EVP_sha256(), 32, key);
Als deze functie met succes wordt aangeroepen, is de encryptiesleutel van de gebruiker aanwezig in de variabele "key".
Nu u de encryptiesleutel van de gebruiker heeft, kunt u deze gebruiken om de wachtwoord-hash van de gebruiker aan te maken. Dit is de hash die als parameter voor de wachtwoord-hash wordt doorgegeven aan de API adduser. Hier is een voorbeeld, op basis van het bovenstaande:
unsigned char hash[32];
PKCS5_PBKDF2_HMAC(key, 32, password, strlen(password), 1, EVP_sha256(), 32, hash);
Als deze functie met succes wordt aangeroepen, is de wachtwoord-hash van de gebruiker aanwezig in de variabele "hash". De hash moet naar hex worden omgezet voordat u deze aan LastPass doorgeeft. Wachtwoord-hashes moeten dan ook altijd uit 64 hexadecimale tekens bestaan.
RSA-sleutels aanmaken
Als u de gebruiker direct aan gedeelde mappen wilt toevoegen, moet u ook rsapublickey en rsaprivatekeyenc aan de opdracht adduser doorgeven.
- Een openbaar/persoonlijk RSA-sleutelpaar aanmaken. Deze sleutel moet 2048 bits zijn.
- Versleutel de openbare sleutel in ASN.1 DER-indeling en zet deze vervolgens om naar hex (dit is de waarde voor rsapublickey die aan LastPass wordt doorgegeven). U kunt hier een voorbeeld van een geldige rsapublickey zien.
- Versleutel de persoonlijke sleutel in ASN.1 DER-indeling en zet deze vervolgens om naar hex (dit is de waarde voor rsaprivatekey die u moet versleutelen met de encryptiesleutel van de gebruiker voordat deze aan LastPass wordt doorgegeven). U kunt hier een voorbeeld van een geldige rsaprivatekey zien.
- Versleutel de rsaprivatekey met gebruikmaking van de encryptiesleutel van de gebruiker:
- Voeg vooraan "LastPassPrivateKey<" en achteraan ">LastPassPrivateKey" aan de rsaprivatekey toe.
- Versleutel via AES-CBC en gebruik de eerste 16 tekens van de encryptiesleutel als IV. Gebruik PKCS#7-padding. Zet het resultaat om naar hex om rsaprivatekeyenc te maken (deze kan vervolgens aan LastPass worden doorgegeven).
- Zodra u de wachtwoord-hash, rsapublickey en rsaprivatekeyenc heeft, moet u API adduser kunnen aaproepen.