sql >> Database teknologi >  >> NoSQL >> MongoDB

De tre A'er for MongoDB Security - Autentificering, autorisation og revision

MongoDB har gjort imponerende fremskridt i løbet af de sidste 18 måneder. Et af de MongoDB-områder som har set den største forbedring, har været dets sikkerhed. Sikkerhed er af afgørende betydning for en produktionsdatabase. Eksisterende relationelle databaser giver en række knapper og kontroller til at hjælpe databaseadministratoren (DBA) med at administrere sikkerheden i deres database, og MongoDB kommer også til et lignende sted. I dette indlæg vil vi dykke dybere ned i sikkerhedsfunktionerne inden for områderne autentificering, autorisation og revision.

  1. Godkendelse

    MongoDB tilbyder en række forskellige mekanismer til at autentificere brugernes forbindelse til databasen. Vælg den mekanisme, der giver den bedste balance mellem sikkerhed og styring. Selvom det er valgfrit, anbefales det, at alle produktionssystemer har godkendelse slået til.

    • Challenge Response Authentication (MongoDB-CR)

      Dette er den traditionelle brugernavn/adgangskode-baserede godkendelse. Brugere kan oprettes inden for rammerne af en database eller hele klyngen. Hvis en bruger kun skal have adgang til data i en bestemt database, anbefales det kun at oprette den bruger, der er specifik for den pågældende database. Adgang på klyngeniveau bør begrænses for administratorer.

    • X.509-certifikatgodkendelse

      Brugere kan autentificere til deres MongoDB-database ved hjælp af X.509-certifikat. For at gøre dette skal MongoDB-serveren have SSL aktiveret. Som standard har fællesskabsbygningerne af MongoDB ikke SSL aktiveret. Du skal udrulle din egen build eller tilmelde dig for at bruge Enterprise-udgaven. Du kan oprette en bruger i MongoDB for hvert X.509-certifikat med et unikt emne. Se MongoDB X.509-certifikatopsætningen for at få flere trin-for-trin instruktioner.

    • Kerberos-godkendelse

      Enterprise builds af MongoDB understøtter godkendelse ved hjælp af Kerberos, som er industristandarden for klientservergodkendelse. For eksempel, hvis du er en virksomhed med en Active Directory-installation, kan du bruge Kerberos-godkendelsesmekanismen til at godkende dine brugere. Dette undgår besværet med at administrere brugernavne, adgangskoder eller certifikater. Klik her for instruktioner til at integrere MongoDB med Active Directory.

  2. Godkendelse

    Autorisationssystemet bestemmer, hvilke handlinger brugere kan udføre, når de har fuldført godkendelse. MongoDB understøtter en rollebaseret adgangskontrol (RBAC) model. Hver bruger tildeles specifikke roller, som bestemmer de handlinger, de må udføre. MongoDB har et sæt indbyggede roller, og du kan også oprette dine egne tilpassede roller. Hver rolle er tildelt et sæt privilegier, der parrer ressourcer med tilladte operationer på den ressource. MongoDB tilbyder indbyggede roller i følgende omfang:

    • Databasebrugerroller

      læs, læs og skriv

    • Databaseadministratorroller (DBA)

      dbAdmin, dbOwner, userAdmin

    • Klyngeadministratorroller

      clusterAdmin, clusterManager, clusterMonitor, hostManager

    • Sikkerhedskopiering og gendannelse af roller

      sikkerhedskopiering, gendannelse

    • Alle databaseroller

      readAnyDatabase, readWriteAnyDatabase,userAdminAnyDatabase

    • Superbrugerroller

      rod

    Se Indbygget roller-dokumentation for en mere detaljeret forståelse af de roller, der skal tildeles til dine brugere.

  3. Revision

    MongoDB Enterprise 2.6-udgivelsen tilføjede understøttelse af revision. Du kan konfigurere MongoDB-serveren til at generere revisionsbegivenheder til interessante MongoDB-operationer, såsom brugerlogin, DDL-ændringer, replikasætkonfigurationsændringer osv. Dette gør det muligt for dig at bruge dit eksisterende virksomhedsrevisionsværktøj til at opfange og behandle de nødvendige hændelser. For mere information henvises til listen over MongoDB-begivenheder, der kan revideres.

For flere tips til at forbedre sikkerheden i dine MongoDB-databaser, se venligst vores andet blogindlæg – 10 tips til at forbedre din MongoDB-sikkerhed.


  1. Pipelining vs Batching i Stackexchange.Redis

  2. Hvordan håndterer man mongoose-skemamigreringer korrekt?

  3. MongoDB:Hvordan opdaterer jeg et enkelt underelement i et array, refereret af indekset i arrayet?

  4. MongoDB $objectToArray