DO - Basic Information

支持 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 时更难预测成本。

层级

用户

用户就是你所期望的用户。他可以 创建团队成为不同团队的成员

团队

团队是一组 用户。当用户创建团队时,他在该团队中拥有 所有者角色,并最初 设置账单信息其他 用户可以被 邀请 加入团队。

团队内部可能有多个 项目。项目只是一个 运行中的服务集合。它可以用于 分隔不同的基础设施阶段,如生产、预发布、开发...

项目

如前所述,项目只是一个容器,包含所有 服务(滴水、空间、数据库、Kubernetes...) 在其中一起运行。 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

cli工具是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 的访问的密钥(如 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="

日志

用户日志

用户的日志可以在https://cloud.digitalocean.com/account/activity找到

团队日志

团队的日志可以在https://cloud.digitalocean.com/account/security找到

参考

支持 HackTricks

Last updated