设置 Nimble Studio File Transfer - Nimble Studio 文件传输功能

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

设置 Nimble Studio File Transfer

首次使用 Nimble Studio File Transfer 之前,请完成以下任务。

注册获取 AWS 账户

如果您没有 AWS 账户,请完成以下步骤来创建一个。

要注册 AWS 账户
  1. 打开 https://portal.aws.amazon.com/billing/signup

  2. 按照屏幕上的说明进行操作。

    在注册时,将接到一通电话,要求使用电话键盘输入一个验证码。

    当您注册时 AWS 账户,就会创建AWS 账户根用户一个。根用户有权访问该账户中的所有 AWS 服务 和资源。作为安全最佳实践,请为用户分配管理访问权限,并且只使用根用户来执行需要根用户访问权限的任务

AWS 注册过程完成后会向您发送一封确认电子邮件。在任何时候,您都可以通过转至 https://aws.amazon.com/ 并选择我的账户来查看当前的账户活动并管理您的账户。

创建具有管理访问权限的用户

注册后,请保护您的安全 AWS 账户 AWS 账户根用户 AWS IAM Identity Center,启用并创建管理用户,这样您就不会使用 root 用户执行日常任务。

保护你的 AWS 账户根用户
  1. 选择 Root 用户并输入您的 AWS 账户 电子邮件地址,以账户所有者的身份登录。AWS Management Console在下一页上,输入您的密码。

    要获取使用根用户登录方面的帮助,请参阅《AWS 登录 用户指南》中的以根用户身份登录

  2. 为您的根用户启用多重身份验证 (MFA)。

    有关说明,请参阅 I A M 用户指南中的为 AWS 账户 根用户启用虚拟 MFA 设备(控制台)

创建具有管理访问权限的用户
  1. 启用 IAM Identity Center

    有关说明,请参阅《AWS IAM Identity Center 用户指南》中的启用 AWS IAM Identity Center

  2. 在 IAM Identity Center 中,为用户授予管理访问权限。

    有关使用 IAM Identity Center 目录 作为身份源的教程,请参阅《用户指南》 IAM Identity Center 目录中的使用默认设置配置AWS IAM Identity Center 用户访问权限

以具有管理访问权限的用户身份登录
将访问权限分配给其他用户
  1. 在 IAM Identity Center 中,创建一个权限集,该权限集遵循应用最低权限的最佳做法。

    有关说明,请参阅《AWS IAM Identity Center 用户指南》中的创建权限集

  2. 将用户分配到一个组,然后为该组分配单点登录访问权限。

    有关说明,请参阅《AWS IAM Identity Center 用户指南》中的添加组

创建成员账户

注意

如果在管理账户中设置 Nimble Studio,请跳过此步骤。

如果您是拥有 AWS 成员帐户的 IT 管理员,并且正在尝试设置 Nimble Studio,则您的管理用户必须首先向该成员帐户授予正确的访问权限和权限。

你可以在管理账户或成员账户中设置 Nimble Studio,前提是该账户位于来自 AWS Organizations的组织中。一个组织只有一个管理账户。组织的核心功能由管理账户进行配置和执行。成员账户设置和使用不同的服务。有关管理账户和成员账户等的更多信息,请参阅AWS Organizations 术语和概念

此外, AWS IAM Identity Center 必须在组织中启用。IAM 身份中心只能在管理账户中启用,并且工作室必须与 IAM AWS 区域 身份中心位于同一位置。要在您的组织中启用 IAM Identity Center,请按照启用 IAM Identity Center 中的说明进行操作。

注意

如果您尝试在未启用 IAM Identity Center 的成员账户中设置工作室,则该成员账户将无法自己启用 IAM Identity Center。在这种情况下,成员账户必须要求其企业 IT 人员在其 AWS 组织中配置 IAM Identity Center。

创建具有创建工作室的权限的成员账户
  1. 使用现有成员账户或按照用户指南中添加 AWS IAM Identity Center 用户中的说明创建新账户。

    1. 此成员账户必须属于在 Nimble Studio 中建立工作室的组织。

  2. 按照注册成员账户中的说明为成员账户委派管理员访问权限。

    1. 委派的管理员访问权限是 IAM Identity Center 的一项功能。委派的管理员访问权限与 IAM 管理员访问权限无关。某人可以拥有访问其账户的完全管理员权限,但没有管理账户的委托管理员访问权限。

现在,您的 IT 管理员可以在下一节中完成以下步骤。

在 Nimble Studio 中设置工作室

如果您已经拥有 Nimble Studio 云工作室,请跳过此步骤。

注意

File Transfer 不需要您的 Amazon S3 存储桶与 Nimble Studio 关联。File Transfer 只需要一个 Nimble Studio,因为该工具仅供 Nimble Studio 客户使用,无需支付额外费用。

要创建工作室,请按照设置 Nimble Studio 中的说明进行操作。在设置工作室时,请确保以下信息是真实的。

  • 使用管理账户或具有 IAM Identity Center 委托管理员访问权限的成员账户设置 Nimble Studio。

  • 步骤 1:配置 Studio 基础设施的第 5 步中,选择您在中启用了 IAM Identity Center 的。 AWS 区域

创建 S3 存储桶

必须先完成设置 Amazon S3 教程,然后才能使用 File Transfer。如果 Amazon S3 配置不正确,存储桶中内容的安全性可能会受到损害。

还必须完成创建第一个 S3 存储桶教程。这会创建一个 S3 存储桶,以便从中上传和下载文件。

  • (推荐)在步骤 8 中,启用存储桶版本控制

    • 这样,如果您不小心用新版本覆盖了 Amazon S3 中的文件,数据也不会丢失。

    • 启用存储桶版本控制会产生额外费用。有关 Amazon S3 定价的更多信息,请参阅 Amazon S3 定价页面。

  • (推荐)在步骤 11 中,对于加密密钥类型,选择 AWS Key Management Service 密钥 (SSE-KMS)

    • 如果您没有 SSE-KMS 密钥,请按照创建对称加密 KMS 密钥教程中的说明创建密钥。

    • 有关不同密钥类型的更多信息,请参阅《 AWS Key Management Service 开发人员指南》中的客户 AWS 密钥和密钥页面。要允许他人使用其他人的存储桶 AWS 账户,您必须使用客户托管密钥。创建存储桶后很难更改密钥,因此请确保使用正确的密钥创建存储桶。

  • 将所有其他设置和用户首选项保留为默认值。

创建 IAM 访问策略。

接下来,必须创建 IAM 访问策略,以授予您在创建 S3 存储桶部分中创建的 Amazon S3 存储桶的权限。之后,将 IAM policy附加到 IAM 用户。此 IAM 用户将生成 File Transfer 访问 Amazon S3 存储桶所需的凭证。

按照《IAM 用户指南》中的在 JSON 选项卡上创建策略教程进行操作,并使用以下 JSON 策略文档。您需要使用的策略取决于您选择 AWS KMS key 的策略类型。

Using an AWS KMS key (SSE-KMS)
  • 在 JSON 模板中输入以下文本,为 Amazon S3 上传和下载提供所需的访问权限。

  • 要允许删除 S3 存储桶中的对象,请包括语句中列出的操作,并附上以下文本中的 Sid “OptionalActions”。如果您不想允许删除 S3 对象,则无需包含这些操作。

    { "Statement": [ { "Sid": "ListBucketContents", "Action": [ "s3:ListBucket", "s3:GetBucketLocation", "s3:PutObject", "s3:GetObject", "s3:GetObjectTagging" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::bucket-name", "arn:aws:s3:::bucket-name/*" ], }, { "Sid": "KMSKeyAccess", "Action": [ "kms:GenerateDataKey*", "kms:Encrypt", "kms:Decrypt" ], "Effect": "Allow", "Resource": "arn:aws:kms:key-region:account-number:key/key-id" }, { "Sid": "OptionalActions", "Action": [ "s3:DeleteObject", "s3:DeleteObjectVersion", "s3:ListBucketVersions", "s3:AbortMultipartUpload" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::bucket-name", "arn:aws:s3:::bucket-name/*" ], } ], "Version": "2012-10-17" }
  • bucket-name 替换为您在 创建 S3 存储桶 中创建的存储桶的名称。

  • 密钥区域替换为 AWS 区域 您在其中创建密钥的区域。

  • account-number 替换为您自己的 AWS 账户 账号。

  • 使用您在 创建 S3 存储桶步骤 2 中选择的 KMS 密钥的 ID 替换 key-id

    • 要查找 KMS 密钥 ID,请按照查看 S3 存储桶密钥设置教程中的查看存储桶的 S3 存储桶密钥设置中的说明进行操作。

    • 选择您在 创建 S3 存储桶 中创建的存储桶。

    • 默认加密部分中找到 AWS KMS key ARN。KMS 密钥 ID 是 ARN 的最后一部分。

Using an Amazon Managed KMS key (SSE-S3)
  • 检查您的存储桶中是否包含有效的 KMS 密钥。

    • 按照查看 S3 存储桶密钥设置教程中的查看存储桶的 S3 存储桶密钥设置中的说明进行操作。

    • 如果您未使用 KMS 密钥,则可以继续执行步骤 2

    • 如果您确实在存储桶上附加了 KMS 密钥,请按照使用 AWS KMS key (SSE-KMS) 中的说明进行操作。

  • 在 JSON 模板中输入以下文本,为 Amazon S3 上传和下载提供所需的访问权限。

  • 要允许删除 S3 存储桶中的对象,请包括语句中列出的操作,并附上以下文本中的 Sid “OptionalActions”。如果您不想允许删除 S3 对象,则无需包含这些操作。

    { "Statement": [ { "Sid": "ListBucketContents", "Action": [ "s3:ListBucket", "s3:GetBucketLocation", "s3:PutObject", "s3:GetObject", "s3:GetObjectTagging" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::bucket-name", "arn:aws:s3:::bucket-name/*" ], }, { "Sid": "OptionalActions", "Action": [ "s3:DeleteObject", "s3:DeleteObjectVersion", "s3:ListBucketVersions", "s3:AbortMultipartUpload" ], "Effect": "Allow", "Resource": [ "arn:aws:s3:::bucket-name", "arn:aws:s3:::bucket-name/*" ], } ], "Version": "2012-10-17" }

现在,您已经创建一个 IAM policy,该策略向您在 创建 S3 存储桶 中创建的 S3 存储桶授予权限。

设置 AWS CLI

AWS CLI 如果尚未安装和配置,请安装和配置。 File Transfer仅使用 AWS Command Line Interface (AWS CLI) 命名的配置文件来处理和存储 IAM 证书。有关更多信息,请参阅 AWS CLI入门

  1. 要在本地计算机 AWS CLI 上安装或升级,请按照《AWS Command Line Interface 用户指南》安装 AWS Command Line Interface 版本 2 中的说明进行操作。

  2. 按照 AWS CLI 设置新配置和凭据中的说明进行配置

  3. 通过运行 aws nimble help 来验证安装或升级。该命令显示可用的 Nimble Studio 命令列表。

  4. 按照使用命名配置文件中的说明创建命名配置文件。此命名的配置文件将用于在开始使用 Nimble Studio File Transfer部分中配置 File Transfer。

    1. 要创建访问密钥和私有密钥,请按照在您的 AWS 账户中创建 IAM 用户中的说明操作。创建用户后,控制台会生成访问密钥和私有密钥值。

    2. 步骤 4 中,为该用户将拥有的访问类型选择命令行界面 (CLI)

    3. 步骤 6 中,选择直接附加现有策略。选中您在 创建 IAM 访问策略。 中制定的策略对应的复选框。

  5. 通过运行以下命令验证您是否创建了命名的配置文件:aws --profile [name of profile you created in step 4] sts get-caller-identity

    1. 该命令生成的输出结果应与下面的输出示例类似。在本示例中,配置文件被命名为 filetransfer

    $ aws --profile filetransfer sts get-caller-identity "UserId": "ARXXXXXXXXXXXXXXXXXXX:username", "Account": "123456789012", "Arn": "arn:aws:sts::123456789012:XXXXXXXXXXXXXXX..." }

我们建议您阅读AWS Command Line Interface 用户指南中提供的其他 AWS CLI 安全控制措施。