-1

我正在考虑使用 Amazon Location Service 作为我正在开发的 Web 应用程序的地图图块提供商。我已经能够使用 Cognito 未经身份验证的访问和 MapLibre GL JS 在一个小型的概念验证中实现这一点(但如果支持,计划转移到 OpenLayers)。

我对此的担忧是,任何使用该应用程序的人都可以从浏览器中提取身份池 ID,并使用它来代表我支付大笔账单!Web 应用程序不公开,用户通过专有数据库进行身份验证。我想只允许这些经过身份验证的用户能够检索地图图块。

使用 Cognito 开发人员身份验证的身份是否适合这种情况?还有其他建议来实现这一目标吗?

谢谢,约翰

4

1 回答 1

1

Amazon Cognito 身份验证身份池可能会有所帮助,但旨在匹配/成为您的主要登录系统,并可能使您的设计复杂化。

aws:refererIAM 条件键与您的域名一起使用将阻止其他基于浏览器的应用程序将您的凭证用于此目的,并且等同于其他提供商支持的域限制。这是一个例子:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "RestrictedMapReadOnly",
            "Effect": "Allow",
            "Action": "geo:GetMap*",
            "Resource": "*",
            "Condition": {
                "StringLike": {
                    "aws:Referer": [
                        "https://example.com/*",
                        "https://www.example.com/*"
                    ]
                }
            }
        }
    ]
}
于 2021-08-31T03:27:58.817 回答