Nowe SSO w Atman Cloud
System SSO został stworzony w celu podniesienia bezpieczeństwa logowania do Panelu Atman Cloud. W celu zalogowania się do panelu zarządzania w Atman Cloud poprzez SSO należy w pierwszej kolejności uzyskać dostęp do konta na stronie https://auth.atman.pl.
Uzyskanie dostępu do logowania
Nazwa konta do powyższego panelu znajduje się w panelu do zarządzania serwerami Atman Cloud. Hasło zostanie wysłane w mailu informującym o założeniu konta. Konto jest w chwili obecnej tworzone przez pracowników Atmana na życzenie klienta. Przy pierwszym logowaniu będzie konieczna zmiana hasła.
Opis funkcjonalności panelu auth.atman.pl
Panel https://auth.atman.pl jest centralnym punktem zarządzania kontami, które będą używane do logowania do panelu Atman Cloud https://waw1-b.cloud.atman.pl. Docelowo będzie on używany do dostępu do innych usług Atman Sp. z o.o.
Panel jest oparty o rozwiązanie OAuth w połączeniu OpenID Connect, który jest otwartym standardem w kwestii autoryzacji i systemów SSO (ang. Single Sign On).
Panel pozwala na włączenie podwójnej, a dla klientów nastawionych na maksymalne bezpieczeństwo, nawet potrójnej autoryzacji, ponieważ istnieje możliwość jednoczesnego włączenia TOTP oraz OTP.
Wymagania dotyczące hasła to:
-
minimalna długość hasła 10 znaków
-
ważność hasła: 30 dni
-
jeden znak specjalny
-
jedna cyfra
-
jedna duża litera
-
hasło nie może być takie same, jak 5 haseł wstecz
-
login i hasło nie mogą być do siebie podobne (dystans Levenshteina) dla loginu i hasła ustawiony jest na 4)
Hasło jest ważne 30 dni, na 7, 5 i 2 dni przed wygaśnięciem użytkownik dostanie powiadomienie mailowe o konieczności zmiany hasła.
Konto jest blokowane po 30 dniach nieaktywności (należy zalogować się przynajmniej raz w okresie 30 dni).
Logowanie do panelu Atman Cloud poprzez SSO
W tym celu należy na stronie https://waw1-b.cloud.atman.pl wybrać opcję OpenID Connect i kliknąć Sign in.
Użytkownik zostanie przekierowany na adres: https://auth.atman.pl/oauth/password/xxxxxxxxxxxxxxxxxxxxxxxxx i tam należy wpisać dane logowania SSO.
Następnie użytkownik zostanie przekierowany do panelu Atman Cloud, gdzie może zarządzać zasobami cloud.
Zakładanie kont użytkowników w SSO
Konto superadmina również może zostać użyte do logowania do panelu chmurowego, niemniej jednak zalecamy stworzenie kont (w poprzedniej wersji Atman SSO były one nazywane „subkontami”) dla użytkowników firmy w celu przydzielania im dostępu do odpowiednich projektów. W tym celu należy z poziomu superadmina kliknąć w menu Użytkownicy i kontakty.
Na tej stronie, można dodać użytkowników na dwa sposoby:
- Dla nowego użytkownika należy użyć opcji Dodaj użytkownika. W wyświetlonym formularzu należy poprawnie wypełnić wszystkie pola, w szczególności mail i numer telefonu, ponieważ na maila będzie wysłana informacja o haśle początkowym dla użytkownika, natomiast numer telefonu będzie używany przy autoryzacji OTP.
W sekcji poniżej należy także nadać uprawnienia:
-
-
-
w sekcji Uprawnienia znajdują się uprawnienia, które są nadawane klientowi i mogą dotyczyć wszystkich jego usług,
-
w sekcji Uprawnienia do usług znajdują się uprawnienia, które są przydzielane do konkretnych usług posiadanych przez klienta.
-
-
2. Dla istniejącego kontaktu, który jeszcze nie posiada konta użytkownika istnieje możliwość utworzenia użytkownika. W tabeli Użytkownicy i kontakty, w prawym menu wyświetlanym dla każdego rekordu jest opcja Dodaj użytkownika. Po kliknieciu na nią, na podany adres e-mail zostanie wysłana wiadomość z hasłem tymczasowym do portalu. Po zalogowaniu się na portal za jego pomocą, konto użytkownika zostanie aktywowane.
W kolejnym kroku należy nadać użytkownikowi uprawnienia do projektu w Atman Cloud, przechodząc do sekcji Uprawnienia. Pojawi się następujący widok, w którym można wybrać uprawnienia i do których projektów zostaną przyznane.
W sekcji Użytkownicy i kontakty, każdy z rekordów może mieć wartości w kolumnie Użytkownik:
-
brak użytkownika – kontakt nie posiada przypisanego konta użytkownika,
-
oczekuje na rejestrację – wartość prezentowana w przypadku, gdy konto użytkownika jest w trakcie tworzenia. Na adres e-mail kontaktu został wysłana wiadomość z hasłem tymczasowym do konta. Ten status zmieni się po zalogowaniu się.
-
[nazwa użytkownika] – istnieje konto użytkownika na które można się zalogować (poniżej opisany jako „tester„).
Po dodaniu nowego użytkownika istnieje możliwość zresetowania mu hasła. W tym celu należy rozwinąć menu obok przycisku Uprawnienia i wybrać opcję Zresetuj hasło.
i w kolejnym kroku potwierdzić, klikając Resetuj.
Po kliknięciu zostanie wysłany mail z wygenerowanym hasłem na adres e-mail podany w profilu użytkownika.
Obsługa OTP
W celu włączenia obsługi OTP (ang. One Time Password) należy przejść do Edycja profilu -> Uwierzytelnianie 2FA e-mailem lub Uwierzytelnianie 2FA SMS-em zależnie od preferowanego kanału uwierzytelniania.
Domyślnie aktywna jest opcja Uwierzytelnianie 2FA e-mailem ale istnieje możliwość włączenia kolejnych kanałów przy czym jeden z aktywnych kanałów musi zostać ustawiony jako domyślny.
a następnie kliknąć Włącz.
W kolejnym kroku należy wprowadzić poprawny kod, otrzymany SMSem i kliknąć ponownie Włącz.
W celu wyłączenia obsługi OTP należy kliknąć w przycisk wyłącz w menu: Edycja profilu i kliknąć opcję Wyłącz wybranego kanału uwierzytelniania.
Należy pamiętać o tym, że kody OTP obowiązują zarówno w momencie logowania do panelu zarządzania kontem, jak również w momencie logowania do panelu zarządzania Atman Cloud.
Obsługa TOTP
W celu włączenia obsługi TOTP należy przejść do pozycji Edycja profilu -> Autoryzacja 2FA aplikacją i kliknąć Włącz, pojawi się okienko z kodem QR, który należy zeskanować w aplikacji typu Google Authenticator (Google Authenticator w Google Play, Google Authenticator w App Store oraz wpisać w formularzu pod kodem QR kod aktywacyjny z aplikacji.
QR code będzie również widoczny do użycia w późniejszym czasie w menu Edycja profilu -> Autoryzacja 2FA aplikacją.
W celu wyłączenia autoryzacji TOTP, w menu Edycja profilu klikamy przycisk Wyłącz i potwierdzamy w kolejnym kroku:
Należy pamiętać o tym, że kody TOTP obowiązują zarówno w momencie logowania do panelu zarządzania kontem, jak również w momencie logowania do panelu zarządzania Atman Cloud.
Konta API
Konta API służą do zarządzania środowiskiem cloud poprzez CLI lub z poziomu systemów do automatyzacji, typu Terraform lub Heat.
W celu założenia konta API należy z poziomu admina firmy kliknąć w sekcji Użytkownicy API i następnie kliknąć Utwórz konto API.
Należy wypełnić pola Suffix oraz Opis i nacisnąć Zapisz.
Dane wypełnione w polu „Suffix” pojawią się na końcu nazwy użytkownika API, a „Opis” służy do ułatwienia identyfikacji tworzonych użytkowników API.
Po kliknięciu Zapisz pojawi się okno z danymi (Secret oraz Key), które należy zapisać, ponieważ nie będą nigdzie indziej widoczne, jak tylko w tym widoku.
W kolejnym kroku należy dodać uprawnienia do projektu w Atman Cloud dla konta API, tak jak dla każdego innego użytkownika, klikając w wyprane pozycje w sekcji Uprawnienia dla wybranych projektów w sekcji Uprawnienia do usług.
Konfiguracja pliku openrc dla konta API
By móc skorzystać z konta stworzonego w powyższym kroku, należy w następujący sposób ustawić zmienne środowiskowe w pliku openrc, który użyjemy w poleceniu source
export OS_AUTH_URL=https://waw1-b.cloud.atman.pl:5000/v3
export OS_IDENTITY_PROVIDER="sso_idp"
export OS_PROTOCOL="jwt_token"
export OS_AUTH_TYPE="v3oidcclientcredentials"
export OS_ACCESS_TOKEN_ENDPOINT="https://auth.atman.pl/api/oauth/token"
export OS_PROJECT_DOMAIN_ID="ceab97173f4e43fab1078f2615bcd15c"
export OS_REGION_NAME="ATMAN_WAW1_B"
export OS_INTERFACE=public
export OS_IDENTITY_API_VERSION=3
#poniższe ustawienia są zmienne
export OS_CLIENT_ID="api_xxxxxxxxx"
export OS_CLIENT_SECRET="xxxxxxxxxxxxxxxxxxxxxxx"
export OS_PROJECT_ID="3f12xxxxxxxxxxxxxxx"
export OS_PROJECT_NAME="test-xxxxxxxxxx-1"
export OS_USERNAME="sub.xxxxxx"
OS_CLIENT_ID
oraz OS_CLIENT_SECRET
uzyskaliśmy w momencie zakładania konta API, natomiast OS_PROJECT_ID
, OS_USERNAME
oraz OS_PROJECT_NAME
uzyskujemy z poziomu panelu Horizon, po kliknięciu w menu Project -> API Access, następnie w przycisk View Credentials.
Następnie możemy skorzystać z tak przygotowanego pliku, by wywołać komendy openstack
, np.:
$ source ~/openrc
$ openstack server list
+--------------------------------------+------------+--------+--------------------------+-------+--------+
| ID | Name | Status | Networks | Image | Flavor |
+--------------------------------------+------------+--------+--------------------------+-------+--------+
| b837a3fe-XXXX-XXXX-XXXX-XXXXXXXXXXXX | sso-ubu-20 | ACTIVE | int-sso=x.x.x.x, y.y.y.y | | m1.c1 |
+--------------------------------------+------------+--------+--------------------------+-------+--------+
$
Klient CLI python-openstackclient
(narzędzie openstack) w systemach Linux można zainstalować poprzez pip
lub z repozytoriów paczek systemowych np. poprzez apt
(Ubuntu i podobne) lub dnf
(RedHat i podobne).
Korzystanie z konta API w Terraform
W celu skorzystania z użytkownika api w terraformie przy konfiguracji providera należy zamienić auth_url na podany w poniższym przykładzie. W polu user_name
podać w nazwę użytkownika api a w polu password
klucz wygenerowany przy tworzeniu tego użytkownika.
provider "openstack" {
tenant_name = "project-name"
user_name = "api-user"
password = "api-key"
auth_url = "https://waw1-b.cloud.atman.pl:5000/keystone-auth-proxy/v3"
region = "ATMAN_WAW1_B"
}