亚马逊位置服务认证

Amazon Location Service Authentication

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

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

使用 Cognito 开发人员经过身份验证的身份是否适用于此?还有其他建议可以实现这一目标吗?

谢谢, 约翰

Amazon Cognito 经过身份验证的身份池可能会有所帮助,但旨在 match/be 您的主要登录系统,可能会使您的设计复杂化。

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

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "RestrictedMapReadOnly",
            "Effect": "Allow",
            "Action": "geo:GetMap*",
            "Resource": "*",
            "Condition": {
                "StringLike": {
                    "aws:Referer": [
                        "https://example.com/*",
                        "https://www.example.com/*"
                    ]
                }
            }
        }
    ]
}