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 프로젝트는 IAM이 없는 GCP 프로젝트와 매우 유사합니다.

권한

기본적으로 팀의 모든 구성원은 팀 내에서 생성된 모든 프로젝트의 DO 리소스에 접근할 수 있습니다(특권의 정도는 다를 수 있습니다).

역할

팀 내의 각 사용자는 다음 세 가지 역할 중 하나를 가질 수 있습니다:

역할공유 리소스청구 정보팀 설정

소유자

전체 접근

전체 접근

전체 접근

청구자

접근 없음

전체 접근

접근 없음

구성원

전체 접근

접근 없음

접근 없음

소유자구성원은 사용자를 나열하고 그들의 역할을 확인할 수 있습니다(청구자는 할 수 없습니다).

접근

사용자 이름 + 비밀번호 (MFA)

대부분의 플랫폼과 마찬가지로 GUI에 접근하기 위해 유효한 사용자 이름과 비밀번호 세트를 사용할 수 있습니다. 클라우드 리소스에 접근하기 위해 로그인하면 https://cloud.digitalocean.com/account/profile에서 자신이 속한 모든 팀을 볼 수 있습니다. 또한 https://cloud.digitalocean.com/account/activity에서 모든 활동을 볼 수 있습니다.

MFA는 사용자에게 활성화할 수 있으며, 팀의 모든 사용자가 팀에 접근하기 위해 강제 적용할 수 있습니다.

API 키

API를 사용하기 위해 사용자는 API 키를 생성할 수 있습니다. 이 키는 항상 읽기 권한을 가지지만 쓰기 권한은 선택 사항입니다. API 키는 다음과 같은 형식입니다:

dop_v1_1946a92309d6240274519275875bb3cb03c1695f60d47eaa1532916502361836

The cli tool is 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 access keys

이 키는 Spaces에 대한 접근을 제공합니다 (AWS의 S3 또는 GCP의 Storage와 유사합니다).

이들은 이름, keyidsecret으로 구성됩니다. 예를 들면:

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

OAuth 애플리케이션

OAuth 애플리케이션은 Digital Ocean에 대한 접근 권한을 부여받을 수 있습니다.

https://cloud.digitalocean.com/account/api/applications에서 OAuth 애플리케이션을 생성하고 https://cloud.digitalocean.com/account/api/access에서 모든 허용된 OAuth 애플리케이션을 확인할 수 있습니다.

SSH 키

https://cloud.digitalocean.com/account/security에서 콘솔을 통해 Digital Ocean 팀에 SSH 키를 추가할 수 있습니다.

이렇게 하면 새 드롭렛을 생성할 때 SSH 키가 설정되며, 비밀번호 없이 SSH로 로그인할 수 있습니다 (보안상의 이유로 새로 업로드된 SSH 키는 이미 존재하는 드롭렛에 설정되지 않습니다).

함수 인증 토큰

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