2012-06-12 13 views
8

Mamy 9 węzłów Mongo w naszym środowisku z:Mongos uwierzytelniania

  • 1 Mongos
  • 3 serwery config (mongod --configSvr)
  • 9 serwery mongod (odłamki lub członkowie sharded zestawy replik)

i staramy się zaimplementować na nich uwierzytelnianie.

I zrobili to w przeszłości z jednego serwera i to było bardzo proste:

  1. tylko dodać użytkownika admin do bazy danych administratora
  2. dodać użytkownika na każdej bazy danych

Musiałem ponownie uruchomić mongod z opcją --auth, ale tutaj to nie działa.

Dodałem konto administratora do naszych mongos i do naszych zaszyfrowanych baz danych; Próbowałem uwierzytelnić się jako użytkownik, który właśnie utworzyłem, ale to nie zadziałało.

Próbowałem już utworzyć użytkownika administratora w każdej bazie danych i innych kontach użytkowników, które są nam potrzebne, ale nadal nie działały.

Próbowałem również upewnić się, że wszystkie nasze serwery Mongo były uruchomione z opcją --keyFile określoną w wierszu polecenia lub w ich plikach , ale to nie pomogło.

Przy próbie uwierzytelnienia jako danego użytkownika, tak jak poniżej:

db.auth("user","passwd") 

to nie powiedzie się i zwraca 0, jak w false; nie non-zero.

Poważnie potrzebuję wszelkiej pomocy, jaką mogę uzyskać, więc proszę przynajmniej zostawić kilka sugestii dotyczących rzeczy, które mógłbym spróbować - nie mogę tego przecenić, każda pomoc jest mile widziana, ponieważ nie wydaje mi się, że dostaję w dowolnym miejscu, od śledzenia oficjalnych dokumentów na temat zarządzania/administrowania klastrami z mimem.

+0

w jaki sposób utworzyłeś wspomnianych użytkowników? Proszę dodaj więcej kodu! ** UWAGA ** instancji mongos nie można uruchomić z '--auth', serwery konfiguracji i shardy są tym, co zapewnia uwierzytelnienie/bezpieczeństwo. ** RÓWNIEŻ ** Upewnij się, że używasz 'db.auth (" user "," password ")' w tej samej bazie danych, w której utworzyłeś użytkownika, którego próbujesz uwierzytelnić. –

+0

W moim miejscu pracy próbowaliśmy tworzyć użytkowników z mongos iz jakiegoś powodu nie działało to niezawodnie; kiedy stworzyliśmy je bezpośrednio na serwerze konfiguracyjnym, wszystko działało dobrze. (najpierw zamknęliśmy nasze serwery mongo, wprowadziliśmy nowe konfiguracje, a następnie utworzyliśmy użytkownika bezpośrednio na konfiguracji, a następnie dodaliśmy kilka serwerów mongos) –

Odpowiedz

1

W klastrze z uszkodzeniami należy użyć --keyFile, aby umożliwić wszystkim członkom klastra uwierzytelnienie się nawzajem. Kiedy używasz tej opcji, --auth jest "założony". Ponieważ od czasu, gdy zadałeś to pytanie, zmieniło się kilka wersji, role przypisane użytkownikom są teraz bardziej szczegółowe - musisz mieć "clusterAdmin", "userAdmin", "dbAdmin" itp.

This page has more details o jak skonfigurować zabezpieczenia w MongoDB dla sharded cluster.

Powiązane problemy