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

只是爲了補充一點。用戶池嘗試調用的操作未經身份驗證,這意味着它們不需要憑據。但是,某些生成的客戶端有一個特殊之處,那就是您需要使用佔位符填充憑證對象。您顯然可以使用未經身份驗證的身份憑證。 –

相關問題