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