本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
使用 IAM 角色和 SigV4 插件创建用于连接 Amazon Keyspaces 的临时凭证
对于通过编程方式访问 Amazon Keyspaces,推荐的做法是通过 SigV4 插件使用临时凭证进行身份验证。在许多情况下,您并不需要永不过期的长期访问密钥(如 IAM 用户访问密钥)。相反,您可以创建一个 IAM 角色并生成临时安全凭证。临时安全证书包括访问密钥 ID 和秘密访问密钥,以及一个指示证书何时到期的安全令牌。要详细了解如何使用 IAM 角色而不是长期访问密钥,请参阅切换到 IAM 角色 (AWS API)。
要开始使用临时凭证,您首先需要创建一个 IAM 角色。
创建授予对 Amazon Keyspaces 的只读访问权的 IAM 角色。
登录 AWS Management Console 并打开 IAM 控制台,网址为https://console.aws.amazon.com/iam/
。 在导航窗格中,选择角色,然后选择创建角色。
在创建角色页面上的选择受信实体类型下,选择 AWS 服务。在 “选择用例” 下,选择 Amazon EC2,然后选择 “下一步”。
在添加权限页面的权限策略下,从策略列表中选择 Amazon Keyspaces 只读访问,然后选择下一步。
在命名、审核和创建页面上,为角色输入名称,并查看选择受信实体和添加权限部分。您还可以在此页面上为角色添加可选标签。完成后,选择创建角色。记住这个名字,因为当你启动你的 Amazon EC2 实例时,你会需要这个名字。
要在代码中使用临时安全证书,您需要以编程方式调用 AWS Security Token Service API,AssumeRole
并从您在上一步中创建的 IAM 角色中提取生成的证书和会话令牌。然后,您可以使用这些值作为后续调用的凭据 AWS。下面的示例展示了有关如何使用临时安全凭证的伪代码:
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 操作的详细信息,请参阅 AWS Security Token Service API 参考。有关从结果中获取临时安全凭证和会话令牌的信息,请参阅所用开发工具包的文档。你可以在主文档 AWS SDKs 页面的SDKs 和工具包部分找到所有文档的AWS 文档