容器凭证提供者 - Amazon 软件开发工具包和工具
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

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

容器凭证提供者

容器凭证提供者为客户的容器化应用程序获取凭证。该凭证提供程序对 Amazon Elastic Container Service(Amazon ECS)和 Amazon Elastic Kubernetes Service(Amazon EKS)客户很有用。SDK 尝试通过 GET 请求从指定的 HTTP 端点加载凭证。

如果您使用 Amazon ECS,我们建议您使用任务 IAM 角色来改进凭证隔离、授权和提高可审计性。配置后,Amazon ECS 会设置 SDK 和工具用来获取凭证的 AWS_CONTAINER_CREDENTIALS_RELATIVE_URI 环境变量。要配置 Amazon ECS 以使用此功能,请参阅《Amazon Elastic Container Service 开发人员指南》中的任务 IAM 角色

如果您使用 Amazon EKS,我们建议您使用 Amazon EKS 容器组身份来改进凭证隔离,提高最低权限、可审计性,改善独立操作、可重用性和可扩展性。您的容器组(pod)和 IAM 角色都与 Kubernetes 服务账户相关联,以管理应用程序的证书。要了解有关 Amazon EKS 容器组身份的更多信息,请参阅《Amazon EKS 用户指南》中的 Amazon EKS 容器组身份。配置后,Amazon EKS 会设置 SDK 和工具用来获取凭证的 AWS_CONTAINER_CREDENTIALS_FULL_URIAWS_CONTAINER_AUTHORIZATION_TOKEN_FILE 环境变量。有关设置信息,请参阅 Amazon EKS 用户指南中的设置 Amazon EKS Pod 身份代理,或者在 Amazon 博客网站上的 A mazon EKS Pod Identity 简化了 Amazon EKS 集群上应用程序的 IAM 权限

使用以下方法配置此功能:

AWS_CONTAINER_CREDENTIALS_FULL_URI - 环境变量

指定完整的 HTTP URL 端点,供 SDK 在请求凭证时使用。这包括方案和主机。

默认值:无。

有效值:有效的 URI。

注意:此设置是 AWS_CONTAINER_CREDENTIALS_RELATIVE_URI 的替代设置,只有在未设置 AWS_CONTAINER_CREDENTIALS_RELATIVE_URI 时才会使用。

Linux/macOS 通过命令行设置环境变量的示例:

export AWS_CONTAINER_CREDENTIALS_FULL_URI=http://localhost/get-credentials

或者

export AWS_CONTAINER_CREDENTIALS_FULL_URI=http://localhost:8080/get-credentials
AWS_CONTAINER_CREDENTIALS_RELATIVE_URI - 环境变量

指定 HTTP URL 端点,供 SDK 在请求凭证时使用。该值将附加到默认的 Amazon ECS 的主机名 169.254.170.2 上。

默认值:无。

有效值:有效的相对 URI。

Linux/macOS 通过命令行设置环境变量的示例:

export AWS_CONTAINER_CREDENTIALS_RELATIVE_URI=/get-credentials?a=1
AWS_CONTAINER_AUTHORIZATION_TOKEN - 环境变量

指定纯文本的授权令牌。如果设置了此变量,SDK 将使用环境变量的值在 HTTP 请求上设置授权标头。

默认值:无。

有效值:字符串。

注意:此设置是 AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE 的替代设置,只有在未设置 AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE 时才会使用。

Linux/macOS 通过命令行设置环境变量的示例:

export AWS_CONTAINER_CREDENTIALS_FULL_URI=http://localhost/get-credential export AWS_CONTAINER_AUTHORIZATION_TOKEN=Basic abcd
AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE - 环境变量

指定至包含纯文本授权令牌的文件的绝对文件路径。

默认值:无。

有效值:字符串。

Linux/macOS 通过命令行设置环境变量的示例:

export AWS_CONTAINER_CREDENTIALS_FULL_URI=http://localhost/get-credential export AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE=/path/to/token

与 Amazon SDK 的兼容性

以下 SDK 支持本主题中所述的功能和设置。所有部分例外情况均已注明。 Amazon SDK for Java 和 Amazon SDK for Kotlin 唯一支持任何 JVM 系统属性设置。

SDK 支持 备注或更多信息
Amazon CLI v2 支持
适用于 C++ 的 SDK 支持
适用于 Go V2 (1.x) 的 SDK 支持
适用于 Go 1.x(V1)的 SDK 支持
适用于 Java 2.x 的 SDK 支持
适用于 Java 1.x 的 SDK 部分 不支持 Amazon EKS 容器组身份和 AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE
适用于 JavaScript 3.x 的软件开发工具包 支持
适用于 JavaScript 2.x 的 SDK 部分 不支持 Amazon EKS 容器组身份和 AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE
适用于 Kotlin 的 SDK 支持
适用于 .NET 3.x 的 SDK 支持
适用于 PHP 3.x 的 SDK 支持
适用于 Python (Boto3) 的 SDK 支持
适用于 Ruby 3.x 的 SDK 支持
适用于 Rust 的 SDK 部分 不支持 Amazon EKS 容器组身份和 AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE
用于 PowerShell 支持