本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
Amazon CodeBuild 中的 Identity and Access Management
访问 Amazon CodeBuild 需要凭证。这些凭证必须具有访问Amazon资源的权限,例如在 S3 存储桶中存储和检索构建构件以及查看 Amazon CloudWatch Logs 以获取构建内容。下面几部分介绍如何使用 Amazon Identity and Access Management(IAM) 和 CodeBuild 如何帮助保护对您的资源的访问:
身份验证
您可以以下面任一类型的身份访问Amazon:
-
Amazon账户根用户 - 注册Amazon时,您需要提供与您的Amazon账户关联的电子邮件地址和密码。这些是您的根凭证,它们提供对您所有Amazon资源的完全访问权限。
-
IAM 用户 — IAM 用户只是您的Amazon账户中具有自定义权限(例如,在中创建构建项目的权限 CodeBuild)的身份。您可以使用 IAM 用户名和密码登录以保护 Amazon 网页(如Amazon Web Services Management Console
、Amazon 开发论坛 或 Amazon Web Services Support 中心 )。 除了用户名和密码之外,您还可以为每个用户生成访问密钥。在通过Amazon 软件开发工具包之一Amazon或使用
(Amazon Command Line Interface)Amazon CLI 以编程方式访问 服务时,可以使用这些密钥。Amazon 开发工具包和 Amazon CLI 工具使用访问密钥对您的请求进行加密签名。如果您不使用Amazon工具,则必须自行对请求签名。 CodeBuild 支持签名版本 4,这是用于对入站 API 请求进行验证的协议。有关验证请求的更多信息,请参阅《Amazon一般参考》中的签名版本 4 签名流程。 -
IAM 角色 — IAM 角色类似于 IAM 用户,但未与特定人员相关联。利用 IAM 角色,可以获得临时访问密钥,用于访问 Amazon 服务和资源。具有临时凭证的 IAM 角色在以下情况下很有用:
-
联合身份用户访问 – 您可以不创建 IAM 用户,而是使用来自 Amazon Directory Service、您的企业用户目录或 Web 身份提供程序的既有用户身份。这些用户被称为Amazon联合身份用户。在通过身份提供商请求访问权限时, 将为联合身份用户分配角色。有关联合身份用户的更多信息,请参阅 IAM 用户指南中的联合身份用户和角色。
-
跨账户访问 – 您可以使用您账户中的 IAM 角色向另一个Amazon账户授予对您账户的资源的访问权限。有关示例,请参阅 IAM 用户指南中的教程:使用 IAM 角色委派跨Amazon账户的访问权限。
-
Amazon服务访问 — 可以使用您账户中的 IAM 角色向Amazon服务授予访问您账户的资源的权限。例如,您可以创建一个角色,此角色允许 Amazon Redshift 代表您访问 S3 存储桶,然后将存储在该存储桶中的数据加载到 Amazon Redshift 集群中。有关更多信息,请参阅 IAM 用户指南中的创建向 Amazon 服务委派权限的角色。
-
在 Amazon EC2 上运行的应用程序-您不用将访问密钥存储在 Amazon EC2 实例中以供实例上运行的应用程序使用并发出Amazon API 请求,而是可以使用 IAM 角色管理这些应用程序的临时凭证。要将Amazon角色分配给 Amazon EC2 实例并使其对该实例的所有应用程序可用,您可以创建一个附加到实例的实例配置文件。实例配置文件包含角色,并使 Amazon EC2 实例上运行的程序能够获得临时凭证。有关更多信息,请参阅 IAM 用户指南中的对 Amazon EC2 上的应用程序使用角色。
-
访问控制
您可以使用有效的凭证来对自己的请求进行身份验证,但您还必须拥有权限才能创建或访问 Amazon CodeBuild 资源。例如,您必须拥有权限才能创建、查看或删除构建项目并启动、停止或查看构建项目。
下面几节介绍如何管理的权限 CodeBuild。我们建议您先阅读概述。