我们希望能够匿名访问我们的一些AWS资源,例如DynamoD,Polly等。 我们已经搜索了互联网,试图寻找一些可用的文档或示例但却找不到任何文档。
答案 0 :(得分:1)
当您需要提供对AWS资源的匿名访问时,您需要遵循几个最佳实践以避免潜在的安全问题。
答案 1 :(得分:0)
在您对这些资源的政策中,您的校长应该是*。
匿名用户的参考文档,
http://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html(搜索所有人(匿名用户)了解更多信息)
如,
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "DescribeQueryScanBooksTable",
"Effect": "Allow",
"Action": [
"dynamodb:DescribeTable",
"dynamodb:Query",
"dynamodb:Scan"
],
"Principal": "*"
}
]
}
希望它有所帮助。
答案 2 :(得分:0)
IAM和匿名访问
这些类型的资源通常由IAM保护。因此,允许访问这些资源的应用程序将需要IAM密钥。正如@Ashan指出的那样,您不希望在应用程序中对这些键进行硬编码。
亚马逊的建议可以在这里找到: http://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_temp.html
Javascript示例(使用Cognito SDK)
有一个javascript example here。您只需调用Cognito一次即可获得身份,第二次调用IAM密钥。然后,您可以使用S3,DynamoDB或其他SDK来访问您的资源。
<强> Cognito 强>
最后,我建议您自己使用Cognito而不是调用STS API。亚马逊在Cognito保护伞下为此提供了一个很好的SDK,这个特殊的Cognito功能可以免费使用。
设置启用了Unauthenticated Indentities的联合身份池后,您可以使用上面javascript示例中的代码。
从Cognito获取IAM密钥后访问服务: http://docs.aws.amazon.com/cognito/latest/developerguide/accessing-aws-services.html