我正在使用客戶端Cognit Javascript SDK。部分設置需要配置region, UserPoolId, ClientId, and identityPoolId
。在測試過程中,我通過一個單獨的文件包含數據,用戶可以查看並使用它來發現這些Cognito ID。公開AWS Cognito ID是否安全?
將這些ID暴露給最終用戶是否安全?
否則,我該如何安全地做到這一點?
我正在使用客戶端Cognit Javascript SDK。部分設置需要配置region, UserPoolId, ClientId, and identityPoolId
。在測試過程中,我通過一個單獨的文件包含數據,用戶可以查看並使用它來發現這些Cognito ID。公開AWS Cognito ID是否安全?
將這些ID暴露給最終用戶是否安全?
否則,我該如何安全地做到這一點?
AWS在他們的論壇上發表了一篇文章,解決了這個問題。
請注意,userPoolId和的clientId,只有未經身份驗證的API可以調用,用於如:註冊,認證,forgotPassword等,所以userPoolId和單獨客戶端ID是不夠的,做你的用戶羣的任何惡意活動。
源是https://forums.aws.amazon.com/thread.jspa?threadID=245752&tstart=200
一種替代方法是使用API網關與Cognito授權用於處理到其它後端服務(如DynamoDB或S3)的呼叫,而不是直接使用這些從前端JS 。這是這裏描述:
https://aws.amazon.com/blogs/mobile/aws-mobile-app-backend-with-hybrid-apps/
如果您使用的是身份驗證身份(當您使用Cognito用戶池,那麼它是身份驗證身份),那麼即使攻擊者獲得了identityId,他們也無法獲得AWS憑證,而不提供只能使用id令牌通過提供認證憑證(用戶名和密碼)獲得。 P:始終建議使用經過身份驗證的身份,即使您有未經身份驗證的身份的用例,最好將未經身份驗證的身份的訪問權限保持爲最小。
我使用驗證的身份。我不暴露我的新聞憑據。我如何避免暴露'region,UserPoolId,ClientId和identityPoolId'? –
不,這不是安全 –