View a markdown version of this page

容器凭证提供者 - AWS 软件开发工具包和工具

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

容器凭证提供者

注意

要帮助了解设置页面的布局或解释下方的 “ AWS SDK 和工具支持” 表格,请参阅了解本指南的设置页面。

容器凭证提供者会为客户的容器化应用程序获取凭证。该凭证提供程序对 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_URI 和 AWS_CONTAINER_AUTHORIZATION_TOKEN_FILE 环境变量。有关设置信息,请参阅亚马逊 EKS 用户指南中的设置亚马逊 EKS Pod 身份代理或 AWS 博客网站上的 A mazon EKS Pod Identity 简化亚马逊 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

支持者 AWS SDK 和工具

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

SDK 支持 备注或更多信息
AWS CLI v2 是
适用于 C++ 的 SDK 是
适用于 Go V2 (1.x) 的 SDK 是
适用于 Go 1.x(V1)的 SDK 是
适用于 Java 2.x 的 SDK 是 当 Lambda SnapStart 被激活时AWS_CONTAINER_CREDENTIALS_FULL_URI,AWS_CONTAINER_AUTHORIZATION_TOKEN它会自动用于身份验证。
适用于 Java 1.x 的 SDK 是 当 Lambda SnapStart 被激活时AWS_CONTAINER_CREDENTIALS_FULL_URI,AWS_CONTAINER_AUTHORIZATION_TOKEN它会自动用于身份验证。
适用于 JavaScript 3.x 的 SDK 是
适用于 JavaScript 2.x 的 SDK 是
适用于 Kotlin 的 SDK 是
.NET 4.x 软件开发工具包 是 当 Lambda SnapStart 被激活时AWS_CONTAINER_CREDENTIALS_FULL_URI,AWS_CONTAINER_AUTHORIZATION_TOKEN它会自动用于身份验证。
适用于 .NET 3.x 的 SDK 是 当 Lambda SnapStart 被激活时AWS_CONTAINER_CREDENTIALS_FULL_URI,AWS_CONTAINER_AUTHORIZATION_TOKEN它会自动用于身份验证。
适用于 PHP 3.x 的 SDK 是
适用于 Python (Boto3) 的 SDK 是 当 Lambda SnapStart 被激活时AWS_CONTAINER_CREDENTIALS_FULL_URI,AWS_CONTAINER_AUTHORIZATION_TOKEN它会自动用于身份验证。
适用于 Ruby 3.x 的 SDK 是
适用于 Rust 的 SDK 是
适用于 Swift 的 SDK 是
PowerShell V5 工具 是
PowerShell V4 工具 是