1

我开发与使用亚马逊Cognito(与我不熟悉)的认证后端的网络服务交互的Python脚本,我有困难登录Boto3 - 亚马逊Cognito不进行身份验证使用快捷键

我的主要问题是boto3需要AWS访问密钥和密钥(不提供那些我得到的“NoCredentialsError”),但由于这个脚本将驻留在多个不受信任的计算机上,我不想存储/嵌入这些密钥,出于明显的安全原因。

,这些不信任的计算机将有机会获得的信息:

  • 用户名和密码登录到Web服务
  • Cognito身份池ID
  • Cognito用户群ID
  • Cognito客户端ID

是否有可能,这些客户端的信息,正确aut与Cognito加强交流?如果是这样,怎么样?

回答

0

是。致电get_credentials_for_identity()。它不需要任何凭据。使用此如下:

import boto3 
cognito = boto3.client('cognito-identity') 
response = cognito.get_credentials_for_identity(IdentityId="id") 

其中"id"是Cognito身份池ID。 response应返回dict,包括临时访问密钥,秘密访问密钥,会话令牌和到期日期。

+1

只是为了补充一点。用户池尝试调用的操作未经身份验证,这意味着它们不需要凭据。但是,某些生成的客户端有一个特殊之处,那就是您需要使用占位符填充凭证对象。您显然可以使用未经身份验证的身份凭证。 –

相关问题