DO - Basic Information

Wsparcie dla HackTricks

Podstawowe informacje

DigitalOcean to platforma chmurowa, która oferuje użytkownikom różnorodne usługi, w tym wirtualne serwery prywatne (VPS) oraz inne zasoby do budowania, wdrażania i zarządzania aplikacjami. Usługi DigitalOcean są zaprojektowane tak, aby były proste i łatwe w użyciu, co czyni je popularnymi wśród programistów i małych firm.

Niektóre z kluczowych funkcji DigitalOcean to:

  • Wirtualne serwery prywatne (VPS): DigitalOcean oferuje VPS, które mogą być używane do hostowania stron internetowych i aplikacji. Te VPS są znane z prostoty i łatwości użycia, a ich wdrożenie można szybko i łatwo zrealizować za pomocą różnych wstępnie zbudowanych "kropli" lub niestandardowych konfiguracji.

  • Przechowywanie: DigitalOcean oferuje szereg opcji przechowywania, w tym przechowywanie obiektów, przechowywanie blokowe i zarządzane bazy danych, które mogą być używane do przechowywania i zarządzania danymi dla stron internetowych i aplikacji.

  • Narzędzia do rozwoju i wdrażania: DigitalOcean zapewnia szereg narzędzi, które mogą być używane do budowania, wdrażania i zarządzania aplikacjami, w tym API i wstępnie zbudowane krople.

  • Bezpieczeństwo: DigitalOcean kładzie duży nacisk na bezpieczeństwo i oferuje szereg narzędzi i funkcji, które pomagają użytkownikom chronić swoje dane i aplikacje. Obejmuje to szyfrowanie, kopie zapasowe i inne środki bezpieczeństwa.

Ogólnie rzecz biorąc, DigitalOcean to platforma chmurowa, która dostarcza użytkownikom narzędzi i zasobów potrzebnych do budowania, wdrażania i zarządzania aplikacjami w chmurze. Jej usługi są zaprojektowane tak, aby były proste i łatwe w użyciu, co czyni je popularnymi wśród programistów i małych firm.

Główne różnice w porównaniu do AWS

Jedną z głównych różnic między DigitalOcean a AWS jest zakres usług, które oferują. DigitalOcean koncentruje się na dostarczaniu prostych i łatwych w użyciu wirtualnych serwerów prywatnych (VPS), przechowywania oraz narzędzi do rozwoju i wdrażania. AWS, z drugiej strony, oferuje znacznie szerszy zakres usług, w tym VPS, przechowywanie, bazy danych, uczenie maszynowe, analitykę i wiele innych usług. Oznacza to, że AWS jest bardziej odpowiedni dla złożonych aplikacji na poziomie przedsiębiorstwa, podczas gdy DigitalOcean lepiej nadaje się dla małych firm i programistów.

Inną kluczową różnicą między tymi dwiema platformami jest struktura cenowa. Ceny DigitalOcean są zazwyczaj bardziej przejrzyste i łatwiejsze do zrozumienia niż w przypadku AWS, z różnymi planami cenowymi opartymi na liczbie kropli i innych używanych zasobów. AWS, z drugiej strony, ma bardziej złożoną strukturę cenową, która opiera się na różnych czynnikach, w tym na rodzaju i ilości używanych zasobów. Może to utrudniać przewidywanie kosztów przy korzystaniu z AWS.

Hierarchia

Użytkownik

Użytkownik to to, czego się spodziewasz, użytkownik. Może tworzyć zespoły i być członkiem różnych zespołów.

Zespół

Zespół to grupa użytkowników. Gdy użytkownik tworzy zespół, ma rolę właściciela w tym zespole i początkowo ustawia informacje o płatności. Inni użytkownicy mogą być następnie zapraszani do zespołu.

W zespole może być kilka projektów. Projekt to po prostu zbiór działających usług. Może być używany do oddzielania różnych etapów infrastruktury, takich jak prod, staging, dev...

Projekt

Jak wyjaśniono, projekt to po prostu kontener dla wszystkich usług (kropli, przestrzeni, baz danych, kubernetes...) działających razem w jego wnętrzu. Projekt Digital Ocean jest bardzo podobny do projektu GCP bez IAM.

Uprawnienia

Zespół

Zasadniczo wszyscy członkowie zespołu mają dostęp do zasobów DO we wszystkich projektach utworzonych w ramach zespołu (z większymi lub mniejszymi uprawnieniami).

Role

Każdy użytkownik w zespole może mieć jedną z następujących trzech ról w jego ramach:

RolaWspólne zasobyInformacje o płatnościUstawienia zespołu

Właściciel

Pełny dostęp

Pełny dostęp

Pełny dostęp

Płatnik

Brak dostępu

Pełny dostęp

Brak dostępu

Członek

Pełny dostęp

Brak dostępu

Brak dostępu

Właściciel i członek mogą wyświetlać użytkowników i sprawdzać ich role (płatnik nie może).

Dostęp

Nazwa użytkownika + hasło (MFA)

Jak w większości platform, aby uzyskać dostęp do GUI, możesz użyć zestawu ważnej nazwy użytkownika i hasła do dostępu do zasobów chmurowych. Po zalogowaniu możesz zobaczyć wszystkie zespoły, których jesteś częścią w https://cloud.digitalocean.com/account/profile. Możesz również zobaczyć swoją aktywność w https://cloud.digitalocean.com/account/activity.

MFA może być włączone dla użytkownika i wymuszone dla wszystkich użytkowników w zespole, aby uzyskać dostęp do zespołu.

Klucze API

Aby korzystać z API, użytkownicy mogą generować klucze API. Te klucze zawsze będą miały uprawnienia do odczytu, ale uprawnienia do zapisu są opcjonalne. Klucze API wyglądają tak:

dop_v1_1946a92309d6240274519275875bb3cb03c1695f60d47eaa1532916502361836

Narzędzie cli to doctl. Zainicjalizuj je (potrzebujesz tokena) za pomocą:

doctl auth init # Asks for the token
doctl auth init --context my-context # Login with a different token
doctl auth list # List accounts

Domyślnie ten token będzie zapisany w postaci niezaszyfrowanej na Macu w /Users/<username>/Library/Application Support/doctl/config.yaml.

Klucze dostępu do Spaces

Są to klucze, które dają dostęp do Spaces (jak S3 w AWS lub Storage w GCP).

Składają się z nazwa, keyid i secret. Przykład może być:

Name: key-example
Keyid: DO00ZW4FABSGZHAABGFX
Secret: 2JJ0CcQZ56qeFzAJ5GFUeeR4Dckarsh6EQSLm87MKlM

OAuth Application

Aplikacje OAuth mogą uzyskać dostęp do Digital Ocean.

Możliwe jest tworzenie aplikacji OAuth w https://cloud.digitalocean.com/account/api/applications oraz sprawdzenie wszystkich dozwolonych aplikacji OAuth w https://cloud.digitalocean.com/account/api/access.

SSH Keys

Możliwe jest dodanie kluczy SSH do zespołu Digital Ocean z konsoli w https://cloud.digitalocean.com/account/security.

W ten sposób, jeśli stworzysz nowy droplet, klucz SSH zostanie na nim ustawiony i będziesz mógł zalogować się przez SSH bez hasła (zauważ, że nowo przesłane klucze SSH nie są ustawiane w już istniejących dropletach z powodów bezpieczeństwa).

Functions Authentication Token

Sposób wywołania funkcji za pomocą REST API (zawsze włączony, to metoda używana przez cli) polega na wywołaniu żądania z tokenem uwierzytelniającym takim jak:

curl -X POST "https://faas-lon1-129376a7.doserverless.co/api/v1/namespaces/fn-c100c012-65bf-4040-1230-2183764b7c23/actions/functionname?blocking=true&result=true" \
-H "Content-Type: application/json" \
-H "Authorization: Basic MGU0NTczZGQtNjNiYS00MjZlLWI2YjctODk0N2MyYTA2NGQ4OkhwVEllQ2t4djNZN2x6YjJiRmFGc1FERXBySVlWa1lEbUxtRE1aRTludXA1UUNlU2VpV0ZGNjNqWnVhYVdrTFg="

Logi

Logi użytkownika

Logi użytkownika można znaleźć pod adresem https://cloud.digitalocean.com/account/activity

Logi zespołu

Logi zespołu można znaleźć pod adresem https://cloud.digitalocean.com/account/security

Odniesienia

Wsparcie dla HackTricks

Last updated