I de tidligere indlæg i denne blog-serie dækkede vi udrulning af clustering/replikering (MySQL / Galera, MySQL Replication, MongoDB &PostgreSQL), styring og overvågning af dine eksisterende databaser og klynger, præstationsovervågning og sundhed, hvordan du gør dit opsætning højt tilgængelig gennem HAProxy og MaxScale, hvordan du forbereder dig selv mod katastrofer ved at planlægge sikkerhedskopier, hvordan du administrerer dine databasekonfigurationer og i det sidste indlæg hvordan du administrerer dine logfiler.
Et af de vigtigste aspekter ved at blive en ClusterControl DBA er at kunne uddelegere opgaver til teammedlemmer og kontrollere adgangen til ClusterControl funktionalitet. Dette kan opnås ved at bruge User Management-funktionaliteten, som giver dig mulighed for at kontrollere, hvem der kan gøre hvad. Du kan endda gå et skridt videre ved at tilføje teams eller organisationer til ClusterControl og kortlægge dem til dine DevOps-roller.
Hold
Teams kan ses enten som en hel organisation eller grupper af brugere. Klynger kan tildeles teams og på denne måde er klyngen kun synlig for brugerne i det team den er blevet tildelt. Dette giver dig mulighed for at køre flere teams eller organisationer inden for ét ClusterControl-miljø. ClusterControl-administratorkontoen vil naturligvis stadig være i stand til at se og administrere alle klynger.
Du kan oprette et nyt team via Sidemenu -> Brugeradministration -> Teams og klikke på plustegnet i venstre side under Teams-sektionen:
Når du har tilføjet et nyt team, kan du tildele brugere til teamet.
Brugere
Efter at have valgt det nyoprettede team, kan du tilføje nye brugere til dette team ved at trykke på plustegnet i den højre dialog:
Ved at vælge rollen kan du begrænse brugerens funktionalitet til enten en Super Admin, Admin eller Bruger. Du kan udvide disse standardroller i sektionen Adgangskontrol.
Adgangskontrol
Standardroller
Inden for ClusterControl er standardrollerne:Super Admin, Admin og Bruger. Superadministratoren er den eneste konto, der kan administrere teams, brugere og roller. Superadministratoren er også i stand til at migrere klynger på tværs af teams eller organisationer. Administratorrollen tilhører en specifik organisation og er i stand til at se alle klynger i denne organisation. Brugerrollen er kun i stand til at se de klynger, han/hun har oprettet.
Brugerroller
Du kan tilføje nye roller på den rollebaserede adgangskontrolskærm. Du kan definere privilegierne pr. funktionalitet, uanset om rollen er tilladt (skrivebeskyttet), nægtet (afvise), administrere (tillad ændring) eller ændre (udvidet administrering).
Hvis vi opretter en rolle med begrænset adgang:
Som du kan se, kan vi oprette en bruger med begrænsede adgangsrettigheder (for det meste skrivebeskyttet) og sikre, at denne bruger ikke ødelægger noget. Dette betyder også, at vi kan tilføje ikke-tekniske roller som Manager her.
Bemærk, at Super Admin-rollen ikke er angivet her, da det er en standardrolle med det højeste niveau af privilegier inden for ClusterControl og derfor ikke kan ændres.
LDAP-adgang
ClusterControl understøtter Active Directory, FreeIPA og LDAP-godkendelse. Dette giver dig mulighed for at integrere ClusterControl i din organisation uden at skulle genskabe brugerne. I tidligere blogindlæg har vi beskrevet, hvordan man konfigurerer ClusterControl til at godkende mod OpenLDAP, FreeIPA og Active Directory.
Når dette er blevet sat op, vil godkendelse mod ClusterControl følge nedenstående diagram:
Grundlæggende er den vigtigste del her at kortlægge LDAP-gruppen til ClusterControl-rollen. Dette kan gøres ret nemt på siden LDAP-indstillinger under Brugeradministration.
Dialogen ovenfor vil knytte DevopsTeam til rollen som begrænset bruger i ClusterControl. Gentag derefter dette for enhver anden gruppe, du ønsker at kortlægge. Herefter vil enhver bruger, der autentificerer mod ClusterControl, blive autentificeret og autoriseret via LDAP-integrationen.
Sidste tanker
Ved at kombinere alt det ovenstående giver dig mulighed for at integrere ClusterControl bedre i din eksisterende organisation, oprette specifikke roller med begrænset eller fuld adgang og forbinde brugere til disse roller. Det smukke ved dette er, at du nu er meget mere fleksibel i, hvordan du organiserer dig omkring din databaseinfrastruktur:hvem har lov til at gøre hvad? Du kan f.eks. overlade opgaven med backup-tjek til en site reliability engineer i stedet for at lade DBA tjekke dem dagligt. Tillad dine udviklere at tjekke MySQL-, Postgres- og MongoDB-logfilerne for at korrelere dem med deres overvågning. Du kan også tillade en seniorudvikler at skalere databasen ved at tilføje flere noder/shards eller få en erfaren DevOps-ingeniør til at skrive rådgivere.
Som du kan se, er mulighederne her uendelige, det er kun et spørgsmål om, hvordan du låser dem op. I Developer Studio-blogserien dykker vi dybere ned i automatisering med ClusterControl, og til DevOps-integration udgav vi for nylig CCBot.