DO - Basic Information

Support HackTricks

Основна інформація

DigitalOcean є хмарною обчислювальною платформою, яка надає користувачам різноманітні послуги, включаючи віртуальні приватні сервери (VPS) та інші ресурси для створення, розгортання та управління додатками. Послуги DigitalOcean розроблені так, щоб бути простими та зручними у використанні, що робить їх популярними серед розробників та малих підприємств.

Деякі з ключових особливостей DigitalOcean включають:

  • Віртуальні приватні сервери (VPS): DigitalOcean надає VPS, які можна використовувати для хостингу вебсайтів та додатків. Ці VPS відомі своєю простотою та зручністю у використанні, і їх можна швидко та легко розгорнути за допомогою різноманітних попередньо налаштованих "дроплетів" або користувацьких конфігурацій.

  • Сховище: DigitalOcean пропонує ряд варіантів зберігання, включаючи об'єктне зберігання, блочне зберігання та керовані бази даних, які можна використовувати для зберігання та управління даними для вебсайтів та додатків.

  • Інструменти для розробки та розгортання: DigitalOcean надає ряд інструментів, які можна використовувати для створення, розгортання та управління додатками, включаючи API та попередньо налаштовані дроплети.

  • Безпека: DigitalOcean надає велике значення безпеці та пропонує ряд інструментів і функцій, щоб допомогти користувачам зберігати свої дані та додатки в безпеці. Це включає шифрування, резервне копіювання та інші заходи безпеки.

В цілому, DigitalOcean є хмарною обчислювальною платформою, яка надає користувачам інструменти та ресурси, необхідні для створення, розгортання та управління додатками в хмарі. Його послуги розроблені так, щоб бути простими та зручними у використанні, що робить їх популярними серед розробників та малих підприємств.

Основні відмінності від AWS

Одна з основних відмінностей між DigitalOcean та AWS полягає в діапазоні послуг, які вони пропонують. DigitalOcean зосереджується на наданні простих та зручних у використанні віртуальних приватних серверів (VPS), сховища та інструментів для розробки та розгортання. AWS, з іншого боку, пропонує набагато ширший спектр послуг, включаючи VPS, сховище, бази даних, машинне навчання, аналітику та багато інших послуг. Це означає, що AWS більше підходить для складних, корпоративних додатків, тоді як DigitalOcean більше підходить для малих підприємств та розробників.

Ще одна ключова відмінність між двома платформами - це структура ціноутворення. Ціноутворення DigitalOcean зазвичай є більш зрозумілим та простим для розуміння, ніж у AWS, з рядом цінових планів, які базуються на кількості дроплетів та інших використовуваних ресурсів. AWS, з іншого боку, має більш складну структуру ціноутворення, яка базується на різноманітних факторах, включаючи тип та кількість використовуваних ресурсів. Це може ускладнити прогнозування витрат при використанні AWS.

Ієрархія

Користувач

Користувач - це те, що ви очікуєте, користувач. Він може створювати команди та бути членом різних команд.

Команда

Команда - це група користувачів. Коли користувач створює команду, він має роль власника цієї команди і спочатку налаштовує інформацію про оплату. Інші користувачі можуть бути запрошені до команди.

У команді може бути кілька проектів. Проект - це просто набір послуг, що працюють. Його можна використовувати для розділення різних етапів інфраструктури, таких як продакшн, стадія, розробка...

Проект

Як було пояснено, проект - це просто контейнер для всіх послуг (дроплети, простори, бази даних, кубернетес...), що працюють разом всередині нього. Проект Digital Ocean дуже схожий на проект GCP без IAM.

Дозволи

Команда

В основному всі члени команди мають доступ до ресурсів DO у всіх проектах, створених у команді (з більшою або меншою кількістю привілеїв).

Ролі

Кожен користувач у команді може мати одну з трьох ролей всередині неї:

Власник та член можуть переглядати користувачів та перевіряти їх ролі (біллер не може).

Доступ

Ім'я користувача + пароль (MFA)

Як і на більшості платформ, для доступу до GUI ви можете використовувати набір дійсних імені користувача та пароля для доступу до хмарних ресурсів. Після входу ви можете бачити всі команди, до яких ви належите на https://cloud.digitalocean.com/account/profile. І ви можете бачити всю свою активність на https://cloud.digitalocean.com/account/activity.

MFA може бути увімкнено для користувача та зобов'язано для всіх користувачів у команді для доступу до команди.

API ключі

Для використання API користувачі можуть генерувати API ключі. Ці ключі завжди матимуть права на читання, але права на запис є необов'язковими. API ключі виглядають так:

dop_v1_1946a92309d6240274519275875bb3cb03c1695f60d47eaa1532916502361836

Інструмент командного рядка - це doctl. Ініціалізуйте його (вам потрібен токен) за допомогою:

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

За замовчуванням цей токен буде записаний у відкритому тексті на Mac у /Users/<username>/Library/Application Support/doctl/config.yaml.

Ключі доступу до Spaces

Це ключі, які надають доступ до Spaces (як S3 в AWS або Storage в GCP).

Вони складаються з імені, keyid та secret. Приклад може бути:

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

OAuth Application

OAuth додатки можуть отримати доступ до Digital Ocean.

Можливо створити OAuth додатки в https://cloud.digitalocean.com/account/api/applications та перевірити всі дозволені OAuth додатки в https://cloud.digitalocean.com/account/api/access.

SSH Keys

Можливо додати SSH ключі до команди Digital Ocean з консолі в https://cloud.digitalocean.com/account/security.

Таким чином, якщо ви створите новий дроплет, SSH ключ буде встановлено на ньому, і ви зможете увійти через SSH без пароля (зверніть увагу, що нові завантажені SSH ключі не встановлюються в уже існуючі дроплети з міркувань безпеки).

Functions Authentication Token

Спосіб викликати функцію через REST API (завжди увімкнено, це метод, який використовує cli) полягає у виклику запиту з токеном аутентифікації на зразок:

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="

Logs

User logs

Логи користувача можна знайти за адресою https://cloud.digitalocean.com/account/activity

Team logs

Логи команди можна знайти за адресою https://cloud.digitalocean.com/account/security

References

Support HackTricks

Last updated