创建您的目录文件
步骤3: 针对目录引入设置您的AWS账户
目录引入使用亚马逊云科技 (AWS) 工具上传您的目录,并可管理有权访问用于存储您的目录的工具的用户。在上传目录文件之前,您需要设置自己的AWS账户并与您的亚马逊代表交换账户信息。
- 关于AWS存储桶
- 程序概述
- 步骤A: 登录或注册AWS账户(仅限新AWS用户)
- 步骤B: 将您的12位AWS账户ID发送给亚马逊代表
- 步骤C: 从亚马逊代表处获取您应用的S3存储桶信息
- 步骤D: 向IAM AWS用户授予您的S3目录存储桶的文件上传权限
- 步骤E: 测试您的IAM用户政策
- 步骤F: 设置AWS命令行界面 (CLI)(或替代方案)
- 后续步骤
关于AWS存储桶
Fire TV代表将为您创建用于目录引入的AWS S3存储桶,并为您提供存储桶访问权限。由于亚马逊创建了S3存储桶,因此该存储桶不会出现在您的AWS S3控制台中。但是,您应该能够通过命令行界面 (CLI) 访问该存储桶,以查看存储桶内容以及将文件上传至该存储桶。接下来几节将提供用于与S3存储桶交互的命令。
程序概述
AWS账户设置是只需执行一次的流程,您需要先完成该流程,然后才能开始将目录文件上传至亚马逊。要设置和测试您的AWS账户,请执行以下操作:
- 登录或注册AWS账户。
- 将您的12位AWS账户ID(和IAM用户ID不同)发送给亚马逊代表。
- 从亚马逊代表处获取您应用的S3存储桶信息。
- 向Identity and Access Management (IAM) AWS用户授予您的S3目录存储桶的文件上传权限。
- 测试您的IAM用户策略。
- 设置AWS CLI。
- 通过AWS命令行界面 (CLI) 使用示例CDF文件测试目录上传,以验证您是否可以上传目录文件。
步骤A: 登录或注册AWS账户(仅限新AWS用户)
要将您的目录文件上传至我们在Amazon S3上的服务,您必须拥有亚马逊云科技 (AWS) 账户。如果您拥有AWS账户,请登录该账户。如果还没有AWS账户,则需要创建一个账户。
要创建AWS账户,请执行以下操作:
- 前往 https://aws.amazon.com/cn/
- 单击Sign in to the Console(登录控制台)按钮,转到登录屏幕。
- 键入您的电子邮件地址或手机号码。
- 选择I am a new user(我是新用户)选项。
- 单击Sign in using our secure server(使用我们的安全服务器登录)按钮。
- 按照提示创建账户。
步骤B: 将您的12位AWS账户ID发送给亚马逊代表
要让目录服务授予对亚马逊为您创建的S3目录存储桶的访问权限,请采用安全方法将您的12位AWS账户ID发送给亚马逊代表。
要查找您的AWS账户ID,请执行以下操作:
-
对于账户所有者(根账户用户),AWS账户ID位于Security Credentials(安全凭证)页面上的Account Identifiers(账户标识符)选项卡下。
-
对于IAM用户或联合用户,AWS账户ID显示在Support Center(支持中心)右上角。(如果您尚未设置IAM用户,下一节将介绍如何完成此项设置。请注意,您需要从亚马逊代表处获取S3存储桶的名称,以便为您的IAM用户设置安全策略。)
步骤C: 从亚马逊代表处获取您应用的S3存储桶信息
将您的AWS账户ID发送给亚马逊代表后,代表将向您发送一个S3存储桶名称。这是您的账户所独有的目录存储桶,只能由您的账户访问。任何其他目录集成合作伙伴都无法查看或访问您的S3目录存储桶。
步骤D: 向IAM AWS用户授予您的S3目录存储桶的文件上传权限
对Identity and Access Management (IAM) AWS用户进行配置,让其对所有S3存储桶或者至少对您的S3目录存储桶至少拥有“S3 PutObject”权限。此权限将允许该用户将文件上传至您的S3存储桶。
尽管您可以使用AWS根凭证访问Amazon S3和您的目录存储桶,但AWS最佳实践是创建单独的Identity and Access Management (IAM) 用户,并使用这些凭证与AWS进行交互。
例如,您可以创建一个IAM用户,该用户拥有完整的S3管理员访问权限,但不能访问其他AWS服务;也可以创建拥有有限访问权限的IAM用户,该用户只能上传目录数据,但不能访问账户的任何其他部分。在您的AWS账户中为组织中需要访问您的S3存储桶的每个人设置一个IAM用户。通过为不同组织成员设置单独的IAM用户,您可以仅为每个用户启用必要的权限。
创建新的IAM用户
要创建新的IAM用户,请执行以下操作:
- 登录AWS控制台。
- 在Security, Identity & Compliance(安全、身份与合规)下,单击IAM以显示Welcome to Identity and Access Management(欢迎使用Identity and Access Management)页面。
- 在Security Status(安全状态)下,单击Create individual IAM users(创建单独的IAM用户)展开该菜单项,然后单击Manage Users(管理用户)以查看与您的AWS账户关联的IAM用户列表。
- 单击Add user(添加用户)以创建新用户。您将看到Add user details(添加用户详细信息)页面。
- 在User name(用户名)字段中,键入用户名。根据需要,通过单击Add another user(添加其他用户)来添加更多用户。
- 在Select AWS access type(选择AWS访问权限类型)部分中,同时选中Programmatic access(编程访问权限)和AWS Management Console access(AWS管理控制台访问权限)这两项对应的复选框。为了设置控制台访问权限,系统会要求您选择控制台密码和密码重置选项。
-
单击Next: Permissions(下一步:权限)(位于屏幕底部)。您将看到为用户Set permissions(设置权限)屏幕,其中包含多个权限选项。下一节向IAM用户授予您的Amazon S3存储桶的访问权限将介绍有关权限的更多详细信息。现在,只需单击Next: Review(下一步:审核)。
如果审核成功,您将看到针对所创建用户的“Success”(成功)消息以及该用户的安全凭证。
-
复制该用户的访问密钥ID、秘密访问密钥和密码。
任何要访问目录集成S3存储桶的用户都需要该IAM用户的访问密钥。访问密钥包括访问密钥ID和秘密访问密钥。秘密访问密钥只能在创建IAM用户时获取,不过您随时可以生成新的秘密访问密钥。(在IAM Users(IAM用户)页面上的Security Credentials选项卡下可以找到访问密钥ID。)
- 单击Close(关闭)。然后按照下一节向IAM用户授予您的Amazon S3存储桶的访问权限操作,授予该用户相应的权限。
有关创建IAM用户的更多详细信息,请参阅身份管理概述: 用户。
向IAM用户授予您的Amazon S3存储桶的访问权限
如果您还没有任何IAM用户,请先参阅上一节中的创建新的IAM用户。在本节中,您将向您的IAM用户授予您的S3存储桶的访问权限。开始执行此任务之前,您需要亚马逊代表提供的S3存储桶名称。
要向现有IAM用户授予您的Amazon S3存储桶的访问权限,请执行以下操作:
- 登录AWS控制台。
- 在Security, Identity, & Compliance(安全、身份与合规)下,单击IAM。
- 在左栏中,单击Users(用户)。
-
单击您想向其授予您的S3存储桶的访问权限的用户名。
在用户的详细信息页面上,您可以通过Permissions(权限)选项卡为用户配置安全策略。常用的权限设置有两种:完全访问权限或有限访问权限。
-
选择您希望该用户拥有的访问权限:
选项1: 完全访问权限如果您可以接受该用户拥有账户所有S3功能的完全访问权限,请应用“AmazonS3FullAccess”策略:
- 在Permissions选项卡上,单击Add permissions(添加权限)。
- 单击Attach existing policies directly(直接附加现有策略)框。
- 在Filter policies(筛选策略)框中,键入AmazonS3FullAccess以在策略列表中进行筛选,仅显示此策略。
- 选中AmazonS3FullAccess旁边的复选框,然后单击屏幕底部的Next: Review。
- 您会看到将要为该用户附加的权限的摘要。单击Add permissions。
有关更多详细信息,请参阅AWS IAM文档中的添加和移除IAM策略(控制台)。
选项2: 有限访问权限要对该用户的访问权限加以限制,让其只能访问您的目录存储桶,请为您的存储桶设置新的自定义策略:
- 在Permissions选项卡上,单击+ Add inline policy(+添加内联策略)。
- 单击JSON选项卡。
-
执行以下操作之一:
要允许在S3(但仅限S3)中执行所有操作,请将以下存储桶策略复制粘贴到编辑器中:
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "s3:*" ], "Resource":[ "arn:aws:s3:::<您的存储桶名称>", "arn:aws:s3:::<您的存储桶名称>/*" ] } ] }
在
"Action"
,s3:*
中,星号为通配符,用于授予所有Amazon S3操作的权限。要想仅允许对S3执行某些操作而不是所有操作,请将以下存储桶策略复制粘贴到编辑器中:
{ "Version":"2012-10-17", "Statement":[ { "Effect":"Allow", "Action":[ "s3:ListBucket", "s3:ListBucketVersions", "s3:GetObject", "s3:GetObjectVersion", "s3:GetObjectAcl", "s3:GetObject", "s3:GetObjectVersion", "s3:PutObject", "s3:PutObjectAcl" ], "Resource":[ "arn:aws:s3:::<您的存储桶名称>", "arn:aws:s3:::<您的存储桶名称>/*" ] } ] }
这里以更加细化的方式列出了允许的操作。要上传文件,实际上只需要两个操作:
s3:PutObject
s3:PutObjectAcl
您可以添加其他操作,但这些操作不是上传目录文件所必需的。有关权限的更多详细信息,请参阅在策略中指定权限。有关
Resource
属性中语法的更多详细信息,请参阅在策略中指定资源。 - 用您的S3存储桶的实际名称替换
your-bucket-name
占位符。 -
单击Review policy(查看策略)。
您将看到一条状态消息,要么告诉您该策略有效,要么是一条错误消息,其中包含了策略问题修复说明。
- 在Name(名称)字段中,键入策略的唯一名称。此名称由您任意选择(不允许使用空格)。
- 单击Create policy(创建策略)。将该策略附加到该用户。
步骤E: 测试您的IAM用户策略
为确保您正确设置了IAM用户及其安全策略,可以使用AWS的Policy Simulator工具。要使用Policy Simulator对策略进行验证,请执行以下操作:
- 在网页浏览器中,导航到Policy Simulator。
- 在左侧窗格中,选择要对其策略进行验证的用户。
- 在右侧窗格中,从Select Service(选择服务)下拉列表中选择S3。
- 从Select action(选择操作)下拉列表中,选择PutObject。
- 单击Service(服务)列中Amazon S3条目左侧的切换箭头,展开模拟设置。
- 将
arn:aws:s3:::<存储桶名称>/catalogs/*
复制粘贴到ARN字段中,并将<存储桶名称>
占位符替换为您的S3目录存储桶的名称。 - 单击Run Simulation(运行模拟)运行模拟。
如果该策略有效,则模拟器将显示“allowed”(已允许)消息;否则显示“denied”(已拒绝)消息并说明问题。
步骤F: 设置AWS命令行界面 (CLI)(或替代方案)
为了与Amazon S3和您的目录存储桶进行交互,可以使用任何可用的工具,包括:
- AWS命令行界面 (CLI)。请参阅使用AWS命令行界面进行设置了解相关信息。
- AWS SDK工具之一,用于使用您选择的编程语言实现目录上传。例如,适用于Java的AWS SDK提供了一个S3客户端,其中包含了示例代码。有关AWS开发者工具的更多信息,请参阅开始使用亚马逊云科技进行开发(仅提供英文版)。
对于您使用的任何S3访问工具,包括您自己的实现,都必须先使用您的IAM用户的访问密钥ID和秘密访问密钥进行配置。例如,要配置AWS CLI,请使用aws configure
命令。以下示例展示了aws configure
命令语法和CLI配置过程中出现的提示:
$ aws configure
AWS Access Key ID [None]: AAAAAAAAAAAAAEXAMPLE
AWS Secret Access Key [None]: aAaaaAAaaAAA/A1AAAAA/aAaAaaAAEXAMPLEKEY
Default region name [None]: us-west-2
Default output format [None]: json
有关配置AWS命令行界面的信息,请参阅配置AWS命令行界面。
后续步骤
设置AWS权限后,进入步骤4: 上传您的目录文件。