sql >> Database >  >> NoSQL >> MongoDB

Rolgebaseerde toegangscontrole afdwingen met ClusterControl

In de recente release van ClusterControl versie 1.8.2 van ClusterControl hebben we veel geavanceerde functies en wijzigingen geïntroduceerd. Een van de belangrijke functies is het onlangs verbeterde gebruikersbeheersysteem, dat nieuwe gebruikers- en LDAP-beheer omvat. Een aanvullende bestaande mogelijkheid in ClusterControl is Role-Based Access Control (RBAC) voor gebruikersbeheer, waarop deze blog zich richt.

Op rollen gebaseerde toegangscontrole in ClusterControl

Voor degenen die niet bekend zijn met Role-Based Access Controls (RBAC) van ClusterControl:het is een functie waarmee u de toegang van bepaalde gebruikers tot specifieke databaseclusterfuncties en beheeracties of -taken kunt beperken. Bijvoorbeeld toegang tot implementatie (load balancers toevoegen, bestaand cluster toevoegen), beheer- en bewakingsfuncties. Dit zorgt ervoor dat alleen geautoriseerde gebruikers mogen werken en bekijken op basis van hun respectievelijke rollen en voorkomt ongewenste indringing of menselijke fouten door de toegang van een rol tot administratieve taken te beperken. Toegang tot functionaliteit is fijnmazig, waardoor de toegang kan worden gedefinieerd door een organisatie of gebruiker. ClusterControl gebruikt een permissieframework om te definiëren hoe een gebruiker kan omgaan met de beheer- en monitoringfunctionaliteit op basis van zijn autorisatieniveau.

Op rollen gebaseerd toegangscontrole in ClusterControl speelt een belangrijke rol, vooral voor beheerders die het constant gebruiken als onderdeel van hun DBA-taken. Een ClusterControl-DBA moet bekend zijn met deze functie, omdat de DBA hierdoor taken kan delegeren aan teamleden, de toegang tot ClusterControl-functionaliteit kan beheren en niet alle functies en functionaliteiten aan alle gebruikers kan blootstellen. Dit kan worden bereikt door gebruik te maken van de functionaliteit voor gebruikersbeheer, waarmee u kunt bepalen wie wat kan doen. U kunt bijvoorbeeld een team instellen, zoals analisten, devops of DBA, en beperkingen toevoegen op basis van hun verantwoordelijkheden voor een bepaald databasecluster.

ClusterControl-toegangscontrole wordt weergegeven in het volgende diagram,

Details van de hierboven gebruikte termen vindt u hieronder. Een Team kan worden toegewezen aan een of meer van de door ClusterControl beheerde databaseclusters. Een Team bestaat uit lege of meerdere gebruikers in een Team. Bij het maken van een nieuw team wordt standaard altijd het superbeheerdersaccount eraan gekoppeld. Het verwijderen van superadmin betekent niet dat je aan dat nieuwe team bent gekoppeld.

Een Gebruiker en een Cluster moeten worden toegewezen aan een Team; het is een verplichte implementatie binnen ClusterControl. Standaard is het superbeheerdersaccount toegewezen aan een beheerdersteam, dat standaard al is aangemaakt. Databaseclusters worden standaard ook toegewezen aan het beheerdersteam.

Aan een rol kan geen gebruiker worden toegewezen of deze kan worden toegewezen aan meerdere gebruikers in overeenstemming met hun ClusterControl-rol.

Rollen in ClusterControl

Rollen in ClusterControl zijn eigenlijk standaard ingesteld. Deze standaardrollen volgen:

  • Superbeheerder - Het is een verborgen rol, maar het is de rol van superbeheerder (superbeheerder), wat betekent alle functies zijn beschikbaar voor deze rol. Standaard vertegenwoordigt de gebruiker die u hebt gemaakt na een succesvolle installatie uw rol van hoofdbeheerder. Bovendien wordt bij het maken van een nieuw team de superbeheerder altijd standaard toegewezen aan het nieuwe team.

  • Beheerder - Standaard zijn bijna alle functies zichtbaar. Zichtbaar zijn betekent dat gebruikers met de beheerdersrol beheertaken kunnen uitvoeren. De functies die niet beschikbaar zijn voor deze rol zijn de klantadviseur en SSL-sleutelbeheer.

  • Gebruiker - Integraties, toegang tot alle clusters en sommige functies zijn niet beschikbaar voor deze rol en worden geweigerd door standaard. Dit is handig als u gewone gebruikers wilt toewijzen die niet bedoeld zijn om database- of administratieve taken uit te voeren. Er zijn enkele handmatige stappen die moeten worden uitgevoerd voor degenen in de gebruikersrol om andere clusters te zien.

Rollen in ClusterControl zijn willekeurig, dus beheerders kunnen willekeurige rollen maken en deze toewijzen aan een gebruiker onder Teams.

Hoe kom je in ClusterControl-rollen

Je kunt een aangepaste rol maken met zijn eigen set toegangsniveaus. Wijs de rol toe aan een specifieke gebruiker op het tabblad Teams. Dit kan worden bereikt door Gebruikersbeheer te zoeken in de zijbalk in de rechterhoek. Zie de schermafbeelding hieronder:

Op rollen gebaseerde toegangscontrole afdwingen met ClusterControl

Het afdwingen van RBAC is gebruikersdomeinspecifiek, wat de toegang van een gebruiker tot ClusterControl-functies beperkt in overeenstemming met hun rollen en privileges. Met dit in gedachten moeten we beginnen met het maken van een specifieke gebruiker.

Een gebruiker maken in ClusterControl

Om een ​​gebruiker aan te maken, start u onder het tabblad Gebruikersbeheer ➝ Teams. Laten we nu eerst een team maken.

Eenmaal aangemaakt, is er een super-admin-account die standaard wordt gekoppeld zodra een team is aangemaakt.

Laten we nu een nieuwe gebruiker toevoegen. Het toevoegen van een nieuwe gebruiker moet onder een Team gebeuren, zodat we deze onder DevOps kunnen aanmaken.

Zoals je misschien hebt opgemerkt, staat de nieuwe gebruiker die we hebben gemaakt nu onder de rol Gebruiker, die standaard is toegevoegd in ClusterControl. Dan staat het Team ook onder DevOps.

Kortom, er zijn nu twee gebruikers onder het DevOps-team, zoals hieronder weergegeven:

Houd er rekening mee dat Rollen gebruikersdomeinspecifiek zijn, dus het past toegangsbeperkingen alleen toe op die specifieke gebruiker, en niet op het team waar het thuishoort.

Admin versus gebruikersrollen (standaardrollen in ClusterControl)

Omdat we standaard twee rollen hebben toegevoegd in ClusterControl, zijn er standaard beperkingen. Als u wilt weten wat dit zijn, gaat u naar  Gebruikersbeheer ➝ Toegangscontrole. Hieronder is een screenshot die de beschikbare functies of privileges weergeeft die een gebruiker die tot de rol behoort kan doen:

Beheerdersrol

Gebruikersrol

De beheerdersrol heeft veel meer privileges, terwijl de gebruikersrol een aantal privileges heeft die beperkt zijn. Deze standaardrollen kunnen worden gewijzigd in overeenstemming met uw gewenste configuratie. Door een rol toe te voegen, kunt u ook starten en instellen welke rollen wel of niet zijn toegestaan. We zullen bijvoorbeeld een nieuwe rol maken. Om een ​​rol aan te maken, drukt u op de plusknop "+" naast de rollen. Je kunt de nieuwe rol zien die we hebben gemaakt, genaamd Kijker.

Alle vinkjes zijn uitgeschakeld. Controleer gewoon onder de kolom Toestaan ​​om de functie of het privilege in te schakelen of vink onder de kolom Weigeren aan als u de toegang wilt weigeren. In de kolom Beheren kunnen de gebruikers in die rol beheertaken uitvoeren. Terwijl u in de kolom Wijzigen wijzigingen kunt inschakelen die alleen beschikbaar zijn voor privileges of functies onder Alarmen, Taken en Instellingen.

RBAC testen

In dit voorbeeld zijn de volgende clusters aanwezig in mijn controller, zoals hieronder weergegeven:

Dit kan worden bekeken door het superbeheerdersaccount in deze omgeving.

Nu we RBAC hebben ingesteld voor de gebruiker die we zojuist hebben gemaakt, gaan we proberen in te loggen met het e-mailadres en wachtwoord dat we zojuist hebben ingesteld.

Dit wordt gemaakt,

Er zijn geen clusters beschikbaar en zichtbaar, en sommige privileges worden geweigerd, zoals hieronder weergegeven, zoals de instellingen voor sleutelbeheer en de e-mailmeldingen:

RBAC aanpassen

Aangezien de privileges in de rollen veranderlijk zijn, is het gemakkelijk om ze te beheren via Gebruikersbeheer ➝ Toegangscontrole.

Laten we nu de aangemaakte gebruiker toestaan ​​een cluster te bekijken. Aangezien onze gebruiker toegang tot alle clusters heeft geweigerd, moeten we dit inschakelen. Zie hieronder,

Zoals we eerder hebben aangegeven op basis van het diagram, worden clusters beheerd door het team. Er zijn bijvoorbeeld de volgende clustertoewijzingen,  hieronder:

Omdat we het cluster aan het juiste team moeten toewijzen, zal het selecteren van het specifieke cluster en klikken op de knop "Team wijzigen" de prompt weergeven waarmee u het opnieuw aan het juiste team kunt toewijzen.

P>

Laten we het nu toewijzen aan DevOps.

Log weer in als de nieuw aangemaakte gebruiker, en we zullen het cluster kunnen zien.

Samenvatting

Role-Based Access Control (RBAC) in ClusterControl is een functie die fijnmazige restrictieve toegangscontrole biedt voor elke gebruiker die u in ClusterControl hebt gemaakt, waardoor een betere beveiliging en meer beperkende toegangscontrole mogelijk is op basis van een gebruikersrol.


  1. ISODate formatteren van Mongodb

  2. Mongo DB 4.0-transacties met Mongoose &NodeJs, Express

  3. (node:3341) Afschrijving Waarschuwing:Mongoose:mpromise

  4. MongoDB, Mongoose:hoe vind ik een subdocument in een gevonden document?