...
Exploitation : Procédures particulières
Se connecter en admin via la CLI Heroku à l'appli de prod du GrAM2
Bloc de code | ||||
---|---|---|---|---|
| ||||
heroku run rails console --app gram-api-2 |
Gestion des Comptes
Création de compte GrAM
Pour les comptes existants sur le site Soce mais n'ayant pas de compte GrAM (1 ou 2, sachant que le CAS est relié au GrAM1 donc si pas de GrAM1 pas de CAS, et que le GrAM1 est "esclave" du GrAM2 donc les création doivent être effectuées sur le GrAM2 qui lui va créer les comptes GrAM1...).
Ces comptes spécifiques (dans notre cas) possèdent un ID SOCE et un UUID mais pas de HRUID.
Se rendre sur la fiche du compte Soce, et noter les éléments suivants : Prénom, Nom, ID SOCE sans checksum (la lettre), UUID
Il faudra de plus choisir un password (avec les minimum requis : 8 caractères mini, MAJ+minuscule+chiffre, etc...), et adapter le HRUID (prenom.nom.XXXX (année de promo) ou bien prenom.nom.ext pour les externes ou bien prenom.nom.associe pour les associés)
Bloc de code | ||||
---|---|---|---|---|
| ||||
MasterData::Account.new(firstname: "Prenom", lastname: "Nom", id_soce: "XXXXXX", password: "Passw0rd", hruid: "prenom.nom.XXXX", uuid: "XXX-YYY-XXXXXX-YYYYYY.....").save! |
Méthodes de tests et vérifications :
- Modifier / renseigner le HRUID sur la fiche du compte Soce, valider, puis effectuer une modification sur la fiche (ou bien saisir un espace dans le champs "A propos de moi :") et sauvegarder. Cela lance la synchro vers le GrAM(2)
- Se connecter à l'interface d'admin et vérifier les informations.
- Si possibilité, vérifier également sur le LDAP / GrAM1 ou bien tenter une connexion via le CAS
Créations multiples de compte GrAM
Champs requis : Prénom, Non, ID SOCE sans checksum, HRUID et UUID
Saisir les commandes suivantes en console Ruby :
Bloc de code | ||||
---|---|---|---|---|
| ||||
require 'securerandom'
accounts = [
['Prénom1', 'Nom1', 'IDSOCE1', 'hruid1', 'uuid1'],
['Prénom2', 'Nom2', 'IDSOCE2', 'hruid2', 'uuid2'],
['Prénom3', 'Nom3', 'IDSOCE3', 'hruid3', 'uuid3']
]
accounts.each do |account|
MasterData::Account.new(
firstname: account[0],
lastname: account[1],
id_soce: account[2],
password: SecureRandom.hex(13),
hruid: account[3],
uuid: account[4]).save!
end |
Suppressions multiples de comptes via Ruby
Si besoin de supprimer un grand nombre de comptes (par exemple comptes en doublons), exemple de requête en Ruby :
Bloc de code | ||||
---|---|---|---|---|
| ||||
hruids=["HRUIDprenom.nom.promo","HRUIDprenom.nom.promo","HRUIDprenom.nom.promo","HRUIDprenom.nom.promo","HRUIDprenom.nom.promo","HRUIDprenom.nom.promo"] MasterData::Account.where(hruid: hruids).destroy_all |
Gestion des Alias
Suppressions multiples d'alias via Ruby
Si besoin de supprimer des alias d'un (ou plusieurs) compte :
...
Bloc de code | ||||
---|---|---|---|---|
| ||||
MasterData::Alias.new(account_id: 12345, name: "123456").save! |
Forcer synchro
Forcer synchro gram2 -> gram1(ldap)
...
Bloc de code | ||||
---|---|---|---|---|
| ||||
User.find_by_uuid("uuid...").update_from_gram |
Si les synchronisations échouent, il faut accéder aux logs (Accéder aux logs d'une application Heroku) et filtrer par le hruid, le uuid ou bien avec le terme "Completed 422 Unprocessable Entity" (qui indique que la synchro Soce->GrAM2 échoue)
Info | ||
---|---|---|
| ||
Penser à checker l'adresse mail (elle doit être unique) : la synchro échoue si un autre compte GrAM2 utilise la même adresse mail... |
Contenu par étiquette | ||||
---|---|---|---|---|
|
...