AWS身份和访问管理

3的第1部分

2011年,亚马逊宣布推出针对CloudFront的AWS Identity&Access Management(IAM)支持。 IAM于2010年推出并包含S3支持。 AWS Identity&Access Management(IAM)使您可以在AWS账户中拥有多个用户。 如果您使用过Amazon Web Services(AWS),那么您知道管理AWS中的内容的唯一方法就是提供用户名和密码或访问密钥。

这对我们大多数人来说是一个真正的安全问题。 IAM消除了共享密码和访问密钥的需要。

当员工离开我们的团队时,不断更改我们的主要AWS密码或生成新密钥只是一个混乱的解决方案。 AWS身份和访问管理(IAM)是一个很好的开始,允许单个用户帐户拥有个人密钥。 但是,我们是S3 / CloudFront用户,因此我们一直在关注CloudFront,以便将其添加到最终发生的IAM中。

我发现这项服务的文档有点分散。 有一些第三方产品为身份和访问管理(IAM)提供了一系列支持。 但开发人员通常是节俭的,所以我寻求一种免费的解决方案来管理我们的Amazon S3服务的IAM。

本文将介绍设置支持IAM的命令行界面以及使用S3访问设置组/用户的过程。 在开始配置身份和访问管理(IAM)之前,您需要先安装Amazon AWS S3帐户。

我的文章使用Amazon Simple Storage Service(S3)将引导您完成设置AWS S3帐户的过程。

以下是在IAM中设置和实施用户的步骤。 这是为Windows编写的,但您可以调整在Linux,UNIX和/或Mac OSX中使用。

  1. 安装和配置命令行界面(CLI)
  1. 创建一个组
  2. 授予对S3 Bucket和CloudFront的组访问权限
  3. 创建用户并添加到组
  4. 创建登录配置文件并创建密钥
  5. 测试访问

安装和配置命令行界面(CLI)

IAM命令行工具包是亚马逊AWS开发人员工具中提供的Java程序。 该工具允许您从Shell实用程序(DOS for Windows)执行IAM API命令。

所有的IAM命令都可以从命令提示符运行。 所有的命令都以“iam-”开头。

创建一个组

每个AWS账户最多可以创建100个组。 虽然您可以在用户级别设置IAM权限,但使用组是最佳做法。 以下是在IAM中创建组的过程。

授予对S3 Bucket和CloudFront的组访问权限

策略控制您的团队在S3或CloudFront中可以执行的操作。 默认情况下,您的组无权访问AWS中的任何内容。 我发现有关政策的文档是可以的,但是在制定一些政策时,我做了一些试验和错误,让事情按照我希望的方式工作。

您有几个创建策略的选项。

一种选择是你可以直接将它们输入到命令提示符中。 由于您可能正在创建策略并对其进行调整,对于我来说,将策略添加到文本文件中似乎更容易,然后使用命令iam-groupuploadpolicy将该文本文件作为参数上载。 这是使用文本文件并上传到IAM的过程。

IAM政策有很多选择。 亚马逊有一款非常酷的工具,名为AWS Policy Generator。 该工具提供了一个GUI,您可以在其中创建策略并生成实施该策略所需的实际代码。 您还可以查看使用AWS Identity and Access Management联机文档的访问策略语言部分。

创建用户并添加到组

创建新用户并添加到组以提供访问权限的过程涉及几个步骤。

创建登录配置文件和创建密钥

此时,您创建了一个用户,但您需要为他们提供一种实际添加和从S3中删除对象的方法。

有两个选项可用于为用户提供使用IAM访问S3的权限。 您可以创建一个登录配置文件并为您的用户提供一个密码。 他们可以使用他们的凭据登录到Amazon AWS控制台。 另一种选择是给你的用户一个访问密钥和一个密钥。 他们可以在S3 Fox,CloudBerry S3 Explorer或S3 Browser等第三方工具中使用这些密钥。

创建登录资料

为您的S3用户创建一个登录配置文件为他们提供了一个用户名和密码,用于登录到Amazon AWS控制台。

创建密钥

创建AWS Secret Access Key和相应的AWS Access Key ID将允许用户使用前面提到的第三方软件。 请记住,作为安全措施,您只能在添加用户配置文件的过程中获得这些密钥。 确保您复制并粘贴命令提示符的输出并保存在文本文件中。 您可以将文件发送给您的用户。

测试访问

既然您已经创建了IAM组/用户并且已经使用策略给出了组访问权限,则您需要测试访问权限。

控制台访问

您的用户可以使用他们的用户名和密码登录AWS控制台。 但是,这不是用于主AWS账户的常规控制台登录页面。

您可以使用一个特殊的URL,它只会为您的Amazon AWS账户提供登录表单。 这是您的IAM用户登录到S3的URL。

https://AWS-ACCOUNT-NUMBER.signin.aws.amazon.com/console/s3

AWS-ACCOUNT-NUMBER是您的常规AWS账户号码。 您可以通过登录亚马逊网络服务登录表单获取此信息。 登录并点击账户| 帐户活动。 您的帐号位于右上角。 确保你删除了破折号。 该URL看起来像https://123456789012.signin.aws.amazon.com/console/s3。

使用访问密钥

您可以下载并安装本文中已经提到的任何第三方工具。 根据第三方工具文档输入您的访问密钥ID和秘密访问密钥。

我强烈建议您创建一个初始用户,并让该用户完全测试他们可以完成他们在S3中需要做的所有事情。 验证其中一个用户后,您可以继续设置所有的S3用户。

资源

以下是一些资源,可以让您更好地了解身份和访问管理(IAM)。