为IAM用户存储访问密钥 - Amazon Keyspaces(Apache Cassandra 兼容)

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

为IAM用户存储访问密钥

作为最佳实践,我们建议您不要直接将访问密钥嵌入到代码中。这些区域有: AWS SDKs还有 AWS 命令行工具使您可以将访问密钥放在已知位置,这样您就不必将其保存在代码中。在以下任一位置中放置访问密钥:

  • 环境变量:在多租户系统上,选择用户环境变量,而不是系统环境变量。

  • CLI凭据文件credentialsconfig文件将在您运行命令时更新aws configurecredentials 文件在 Linux、macOS 或 Unix 上位于 ~/.aws/credentials,在 Windows 上位于 C:\Users\USERNAME\.aws\credentials。该文件可以包含 default 配置文件和任何命名配置文件的凭证详细信息。

  • CLI配置文件-运行命令时会更新credentialsconfig文件aws configureconfig 文件在 Linux、macOS 或 Unix 上位于 ~/.aws/config,在 Windows 上位于 C:\Users\USERNAME\.aws\config。该文件包含原定设置配置文件和任何命名配置文件的配置设置。

将访问密钥存储为环境变量是实现的先决条件使用适用于 Apache Cassandra 的 4.x DataStax Java 驱动程序和 Sigv4 身份验证插件连接亚马逊密钥空间的tep-by-step 教程。客户端使用默认凭证提供程序链来搜索凭证,存储为环境变量的访问密钥优先于所有其他位置,例如配置文件。有关更多信息,请参阅配置设置和优先顺序

下面的示例介绍您如何可以为默认用户配置环境变量。

Linux, macOS, or Unix
$ export AWS_ACCESS_KEY_ID=AKIAIOSFODNN7EXAMPLE $ export AWS_SECRET_ACCESS_KEY=wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY $ export AWS_SESSION_TOKEN=AQoDYXdzEJr...<remainder of security token>

设置环境变量会更改使用的值,直到 Shell 会话结束或直到您将该变量设置为其他值。通过在 shell 的启动脚本中设置变量,可使变量在未来的会话中继续有效。

Windows Command Prompt
C:\> setx AWS_ACCESS_KEY_ID AKIAIOSFODNN7EXAMPLE C:\> setx AWS_SECRET_ACCESS_KEY wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY C:\> setx AWS_SESSION_TOKEN AQoDYXdzEJr...<remainder of security token>

使用 set 设置环境变量会更改使用的值,直到当前命令提示符会话结束,或者直到您将该变量设置为其他值。使用 setx 设置环境变量会更改当前命令提示符会话和运行该命令后创建的所有命令提示符会话中使用的值。它 影响在运行该命令时已经运行的其他命令 shell。

PowerShell
PS C:\> $Env:AWS_ACCESS_KEY_ID="AKIAIOSFODNN7EXAMPLE" PS C:\> $Env:AWS_SECRET_ACCESS_KEY="wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY" PS C:\> $Env:AWS_SESSION_TOKEN="AQoDYXdzEJr...<remainder of security token>"

如果您在 PowerShell 提示符处设置环境变量(如前面的示例所示),则它只会在当前会话的持续时间内保存该值。要使环境变量设置在所有会话 PowerShell 和命令提示符会话中保持不变,请使用控制面板中的系统应用程序将其存储。或者,您可以通过将变量添加到您的 PowerShell 个人资料中来为所有未来 PowerShell 会话设置该变量。有关存储环境变量或跨会话保存环境变量的更多信息,请参阅PowerShell 文档