728 x 90

Uprawnienia i klucze w Oracle Cloud

Uprawnienia i klucze w Oracle Cloud

W ostatnich 2 tygodniach omówiliśmy różnice pomiędzy Amazon Web Services, Microsoft Azure i Google Cloud odnośnie zarządzania użytkownikami, uprawnieniami i kluczami dostępowymi. Oprócz trzech największych graczy jest jeszcze jeden, wprawdzie posiadający znacznie mniejszą chmurę, ale utrzymujący w niej sporo lukratywnych usług opartych na rozwiązaniach biznesowych firmy Oracle.

Chmura Oracle jest niestety pod wieloma względami daleko w tyle za największą trójką – dużą rolę odgrywa w tym większy stopień trudności w uruchamianiu instancji tej chmury, np. ręczna konfiguracja podsieci prywatnych dla serwerów i innych usług.

Z drugiej strony, Oracle Cloud się dość dynamicznie rozwija. Gdy autor tego artykułu zaczynał w 2016 swoją przygodę z Oracle Cloud, chmura ta miała 4 regiony. Dzisiaj (wrzesień 2020) ma już 19 regionów publicznych i 8 rządowych. Rozwiązane też zostały różnorakie problemy wieku dziecięcego.

Sposoby dostępu

W Oracle Cloud są 3 główne sposoby dostępu do usług:

  • przez konsolę webową – przy czym adres konsoli jest zależny od regionu skonfigurowanego jako podstawowy dla całego konta (domyślnie jest to Ashburn)
  • przez API Oracle Cloud – w przeciwieństwie do Azure czy Google Cloud, klient OCI wymaga ręcznej konfiguracji połączenia:
    • konfiguracja Pythona
    • pobranie „tenancy” (zwanego też w niektórych miejscach „compartment ID” lub „Tenancy’s OCID”) z konfiguracji konta i ręcznego wstawienia do pliku konfiguracyjnego (opisanego niżej)
    • wygenerowanie pary kluczy RSA i sprawdzenie odcisku palca klucza prywatnego
    • wgranie klucza publicznego w panelu konfiguracyjnym w konsoli
  • dedykowany dostęp do wybranych usług w specjalny sposób, np. logowanie ssh do instancji linuxowych za pomocą klucza ssh (w przeciwieństwie do AWS, tworzonego wyłącznie lokalnie – treść klucza publicznego przekazywana jest każdorazowo przy tworzeniu instancji)

Sposoby zapisu kluczy i innych danych dostępowych do API

Komplet danych dostępowych, z wyjątkiem jedynie samych kluczy, zapisany jest w pliku ~/.oci/config – przykładowy plik wygląda następująco:

[DEFAULT]
user=ocid1.user.oc1..aaaaaaaazjhoahty3bexgxx4jksxsitmtcwh4jqv7oraeayw1ibehkj3dlca
fingerprint=e0:81:36:78:c5:0e:23:21:b5:aa:79:7f:dc:5b:70:07
key_file=/root/.oci/oci_api_key.pem
tenancy=ocid1.tenancy.oc1..aaaaaaaa4eqb5fek3hz1lyntkzsx6rdjsz5rdvtrtsimxuxfeetqlgegw4iq
region=us-phoenix-1

Klucz prywatny (określany też mianem „signing key”) jest zapisany w pliku wskazywanym przez zmienną key_file, czyli w tym przypadku /root/.oci/oci_api_key.pem.