本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
如何为 Amazon Keyspaces 创建和配置 Amazon 凭证
要使用 Amazon CLI、Amazon 或 Cassandra 客户端驱动程序和 SigV4 插件以编程方式访问 Amazon Keyspaces,您需要一个具有访问密钥的 IAM 用户或角色。当您以编程方式使用 Amazon 时,您需要提供您的 Amazon访问密钥,以便 Amazon 可以在编程调用中验证您的身份。访问密钥由一个访问密钥 ID(例如 AKIAIOSFODNN7EXAMPLE)和一个秘密访问密钥(例如 wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY)组成。本主题将引导您完成此过程中的必要步骤。
主题
Amazon CLI、Amazon SDK 或 Cassandra 客户端驱动程序的 Amazon Keyspaces SigV4 插件所需的凭证
对 IAM 用户或角色进行身份验证需要以下凭证:
AWS_ACCESS_KEY_ID
-
指定与 IAM 用户或角色关联的 Amazon 访问密钥。
以编程方式连接 Amazon Keyspaces 需要使用访问密钥
aws_access_key_id
。 AWS_SECRET_ACCESS_KEY
-
指定与访问密钥关联的私有密钥。这基本上是访问密钥的“密码”。
以编程方式连接 Amazon Keyspaces 需要使用
aws_secret_access_key
。 AWS_SESSION_TOKEN
– 可选。-
指定在使用您直接从 Amazon Security Token Service 操作中检索的临时安全凭证时需要的会话令牌值。有关更多信息,请参阅使用 IAM 角色和 Sigv4 插件以及临时凭证连接 Amazon Keyspaces。
如果您使用 IAM 用户进行连接,则不需要
aws_session_token
。
在 Amazon 账户中创建 IAM 用户以便通过编程方式访问 Amazon Keyspaces
要获取使用 Amazon CLI、Amazon SDK 或 SigV4 插件对 Amazon Keyspaces 进行编程访问的凭证,首先需要创建一个 IAM 用户或角色。以下步骤显示了创建 IAM 用户并将该 IAM 用户配置为以编程方式访问 Amazon Keyspaces 的过程:
-
在 Amazon Web Services Management Console、Amazon CLI、Tools for Windows PowerShell 中或使用 Amazon API 操作创建用户。如果您在 Amazon Web Services Management Console中创建用户,则系统会自动创建凭证。
-
如果以编程方式创建用户,您必须通过额外步骤为该用户创建访问密钥(访问密钥 ID 和秘密访问密钥)。
-
向用户授予访问 Amazon Keyspaces 的权限。
有关创建用户所需的权限的信息,请参阅访问 IAM 资源所需的权限。
创建 IAM 用户(控制台)
您可以使用 Amazon Web Services Management Console 创建 IAM 用户。
创建具有编程访问权限的 IAM 用户(控制台)
登录Amazon Web Services Management Console,然后通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/
。 -
在导航窗格中,选择 Users(用户),然后选择 Add users(添加用户)。
-
为新用户键入用户名。这是 Amazon 的登录名。
注意
用户名可以是一个最多由 64 个字母、数字和以下字符构成的组合:加号 (+)、等号 (=)、逗号 (,)、句点 (.)、at 符号 (@)、下划线 (_) 和连字符 (-)。账户中的名称必须唯一。名称不区分大小写。例如,您不能创建名为 TESTUSER 和 testuser 的两个用户。
-
选择访问密钥 - 编程访问,为新用户创建一个访问密钥。您可以在转到最终页面后查看或下载访问密钥。
选择Next: Permissions(下一步: 权限)。
-
在设置权限页面,选择直接附加现有策略,为新用户分配权限。
此选项会显示账户中可用的 Amazon 托管策略和客户托管策略列表。您可以在搜索字段中输入
keyspaces
,以仅显示与 Amazon Keyspaces 相关的策略。对于 Amazon Keyspaces,可用的托管策略是
AmazonKeyspacesFullAccess
和AmazonKeyspacesReadOnlyAccess
。有关每项策略的更多信息,请参阅 适用于 Amazon Keyspaces 的 Amazon 托管式策略。要进行测试和学习连接教程,请为新用户选择
AmazonKeyspacesReadOnlyAccess
策略。注意:作为最佳实践,我们建议您遵循最低权限原则并创建自定义策略,限制对特定资源的访问并仅允许所需操作。有关 IAM policy 的更多信息以及查看 Amazon Keyspaces 的示例策略,请参阅Amazon Keyspaces 基于身份的策略。创建自定义策略后,请将策略附加到组,然后使用户成为相应组的成员。请选择下一步:标签。
-
在添加标签(可选)页面,您可以为用户添加标签,或选择下一步:审核。
在审核页面,您可以看到目前所做的所有选择。如果您已准备好继续,请选择创建用户。
-
要查看用户的访问密钥(访问密钥 ID 和秘密访问密钥),请选择密码和访问密钥旁边的 Show (显示)。要保存访问密钥,请选择下载 .csv,然后将文件保存到安全位置。
重要
这是您查看或下载秘密访问密钥的唯一机会,您需要提供这些信息,他们才能使用 SigV4 插件。将用户的新访问密钥 ID 和秘密访问密钥保存在安全的地方。完成此步骤后,您再也无法访问这些秘密访问密钥。
创建 IAM 用户 (Amazon CLI)
您可以使用 Amazon CLI 创建 IAM 用户。
创建具有编程访问权限的 IAM 用户 (Amazon CLI)
-
使用以下 Amazon CLI 代码创建用户。
-
向用户提供编程访问权限。这需要访问密钥,访问密钥可通过以下方式生成。
-
Amazon CLI: aws iam create-access-key
-
Tools for Windows PowerShell: New-IAMAccessKey
-
IAM API:CreateAccessKey
重要
这是您查看或下载秘密访问密钥的唯一机会,您需要提供这些信息,他们才能使用 SigV4 插件。将用户的新访问密钥 ID 和秘密访问密钥保存在安全的地方。完成此步骤后,您再也无法访问这些秘密访问密钥。
-
-
将
AmazonKeyspacesReadOnlyAccess
策略(用于定义用户权限的)附加到用户。注意:作为最最佳实践,我们建议您通过将用户添加到组并向该组附加策略(而不是直接附加到用户)来管理用户权限。-
Amazon CLI: aws iam attach-user-policy
-
为 IAM 用户创建新访问密钥
如果您已经有 IAM 用户,可以随时创建新的访问密钥。有关密钥管理的更多信息(例如如何轮换访问密钥),请参阅管理 IAM 用户的访问密钥。
为 IAM 用户创建访问密钥(控制台)
登录 Amazon Web Services Management Console,单击 https://console.aws.amazon.com/iam/
打开 IAM 控制台。 -
在导航窗格中,选择 Users(用户)。
选择所需用户的名称,以便为其创建访问密钥。
在用户的摘要页面身上,选择安全凭证选项卡。
-
在 Access keys(访问密钥)部分中,选择 Create access key(创建访问密钥)。
要查看新访问密钥对,请选择 Show (显示)。您的凭证与下面类似:
访问密钥 ID:AKIAIOSFODNN7EXAMPLE
秘密访问密钥:wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
注意
关闭此对话框后,您将无法再次访问该秘密访问密钥。
-
要下载密钥对,请选择 Download .csv file(下载 .csv 文件)。将密钥存储在安全位置。
-
下载 csv 格式文件之后,选择 Close(关闭)。
在创建访问密钥时,预设情况下,密钥对处于活动状态,并且您可以立即使用此密钥对。
如何管理 IAM 用户的访问密钥
作为最佳实践,我们建议您不要直接将访问密钥嵌入到代码中。利用 Amazon SDK 和 Amazon 命令行工具,您可以将访问密钥放在已知位置,这样就无需将其保留在代码中。在以下任一位置中放置访问密钥:
环境变量:在多租户系统上,选择用户环境变量,而不是系统环境变量。
CLI 凭证文件 – 在运行
credentials
命令时,将更新config
和aws configure
文件。credentials
文件在 Linux、macOS 或 Unix 上位于~/.aws/credentials
,在 Windows 上位于C:\Users\
。该文件可以包含USERNAME
\.aws\credentialsdefault
配置文件和任何命名配置文件的凭证详细信息。CLI 配置文件 – 在运行
credentials
命令时,将更新config
和aws configure
文件。config
文件在 Linux、macOS 或 Unix 上位于~/.aws/config
,在 Windows 上位于C:\Users\
。该文件包含原定设置配置文件和任何命名配置文件的配置设置。USERNAME
\.aws\config
将访问密钥存储为环境变量是使用适用于 Apache Cassandra 的 4.x DataStax Java 驱动程序和 Sigv4 身份验证插件连接亚马逊密钥空间的tep-by-step 教程的前提条件。客户端使用默认凭证提供程序链来搜索凭证,存储为环境变量的访问密钥优先于所有其他位置,例如配置文件。有关更多信息,请参阅配置设置和优先顺序。
下面的示例介绍您如何可以为默认用户配置环境变量。
使用 IAM 角色和 Sigv4 插件以及临时凭证连接 Amazon Keyspaces
为增强安全性,您可以使用临时凭证和 SigV4 插件进行身份验证。在许多情况下,您并不需要永不过期的长期访问密钥(如 IAM 用户访问密钥)。相反,您可以创建一个 IAM 角色并生成临时安全凭证。临时安全证书包括访问密钥 ID 和秘密访问密钥,以及一个指示证书何时到期的安全令牌。要详细了解如何使用 IAM 角色而不是长期访问密钥,请参阅切换到 IAM 角色 ( API)。
要开始使用临时凭证,您首先需要创建一个 IAM 角色。
创建授予对 Amazon Keyspaces 的只读访问权的 IAM 角色。
登录Amazon Web Services Management Console,然后通过以下网址打开 IAM 控制台:https://console.aws.amazon.com/iam/
。 在导航窗格中,选择角色,然后选择创建角色。
在创建角色页面上的选择受信实体类型下,选择 Amazon 服务。在使用案例下,选择 Amazon EC2,然后选择下一步。
在添加权限页面的权限策略下,从策略列表中选择 Amazon Keyspaces 只读访问,然后选择下一步。
在命名、审核和创建页面上,为角色输入名称,并查看选择受信实体和添加权限部分。您还可以在此页面上为角色添加可选标签。完成后,选择创建角色。请记住此名称,因为您在启动 Amazon EC2 实例时会用到它。
要在代码中使用临时安全凭据,您可以通过以编程方式调用 Amazon Security Token Service API(如 AssumeRole
),并从您在上一步中创建的 IAM 角色中提取生成的凭证和会话令牌。然后,您可以使用这些值作为对 Amazon 的后续调用的凭证。下面的示例展示了有关如何使用临时安全凭证的伪代码:
assumeRoleResult = AssumeRole(role-arn); tempCredentials = new SessionAWSCredentials( assumeRoleResult.AccessKeyId, assumeRoleResult.SecretAccessKey, assumeRoleResult.SessionToken); cassandraRequest = CreateAmazoncassandraClient(tempCredentials);
有关使用 Python 驱动程序实施临时凭证以访问 Amazon Keyspaces 的示例,请参阅使用适用于 Apache Cassandra 的 Pyt DataStax hon 驱动程序和 SigV4 身份验证插件连接到亚马逊密钥空间。
有关如何调用 AssumeRole
、GetFederationToken
和其他 API 操作的详细信息,请参阅 Amazon Security Token Service API 参考。有关从结果中获取临时安全凭证和会话令牌的信息,请参阅所用开发工具包的文档。可以在主 Amazon 文档页