本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
为您的 Amazon Location 应用程序设置身份验证
您在本教程中创建的应用程序是匿名使用的,这意味着您的用户无需登录 AWS 即可使用该应用程序。但是,Amazon Location Service APIs 需要身份验证才能使用。您可以使用API密钥或 Amazon Cognito 为匿名用户提供身份验证和授权。本教程将使用 Amazon Cognito 和API密钥对您的应用程序进行身份验证。
注意
有关在亚马逊定位服务中使用 Amazon Cognito 或API密钥的更多信息,请参阅。授予使用 Amazon Location Service
以下教程向您展示如何为在中创建的地图、地点索引和追踪器设置身份验证,以及如何为 Amazon Location 设置权限。
设置身份验证
导航至 Amazon Location 控制台
,然后从左侧菜单中选择API按键。 点击 “创建API密钥”。请记住,API密钥必须与之前创建的 Amazon Location Service 资源位于相同的 AWS 账户和区域。
在 “创建API密钥” 页面上填写所需的详细信息:
名称:为您的API密钥提供一个名称,比如
MyAppKey
。资源:选择之前创建的 Amazon Location Service 地图和地点索引资源。您可以通过选择 “添加资源” 来添加多个资源。这允许API密钥与指定资源一起使用。
操作:指定此API密钥的授权操作。至少要选择
geo:GetMap
和,geo:SearchPlaceIndexForPosition
以确保教程按预期运行。(可选)您可以添加描述、过期时间、标签或反
https://www.example.com
向链接,例如,将密钥的使用限制在特定域中,从而使本教程只能在该域中运行。
单击 “创建API密钥” 以生成API密钥。
选择 Show API Ke y 并复制密钥值以
v1.public.a1b2c3d4
供以后在本教程中使用。
创建追踪IAM政策
使用 https://console.aws.amazon.com/iam/具有管理员权限的用户登录IAM控制台。
在导航窗格中,选择策略。
在内容窗格中,选择创建策略。
-
选择该JSON选项,然后将此JSON策略复制并粘贴到JSON文本框中。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "geo:GetMapTile", "geo:GetMapStyleDescriptor", "geo:GetMapSprites", "geo:GetMapGlyphs", "geo:SearchPlaceIndexForPosition", "geo:GetDevicePositionHistory", "geo:BatchUpdateDevicePosition" ], "Resource": [ "arn:aws:geo:{Region}:{Account}:map/{MapName}", "arn:aws:geo:{Region}:{Account}:place-index/{IndexName}", "arn:aws:geo:{Region}:{Account}:tracker/{TrackerName}" ] } ] }
这是跟踪的政策示例。要将示例用于您自己的策略,请替换
Region
Account
、和TrackerName占位符。注意
虽然未经身份验证的身份池旨在在不安全的互联网站点上公开,但请注意,它们将被交换为标准的、有时间限制AWS的凭证。
适当确定与未经身份验证的身份池关联的IAM角色范围很重要。有关在亚马逊定位服务的 Amazon Cognito 中使用策略和适当确定政策范围的更多信息,请参阅授予亚马逊定位服务访问权限。
在 “查看并创建” 页面上,为策略名称字段提供一个名称。查看您的策略授予的权限,然后选择创建策略以保存您所做的工作。
将在托管策略列表中显示新策略,并已准备好附加该策略。
为追踪设置身份验证
在 Amazon Cognito
控制台中为您的地图应用程序设置身份验证。 打开身份池页面。
注意
您创建的资源池必须与您在上一节中创建的 Amazon Location Service 资源位于相同的 AWS 账户和 AWS 区域。
选择创建身份池。
从配置身份池信任步骤开始。要进行用户访问身份验证,请选择访客访问权限,然后按下一步。
在 “配置权限” 页面上,选择 “使用现有IAM角色”,然后输入您在上一步中创建的IAM角色的名称。准备就绪后,按下一步继续下一步。
在配置属性页面上,为您的身份池提供一个名称。然后按 “下一步”。
在 “查看并创建” 页面上,查看所有存在的信息,然后按创建身份池。
打开身份池页面,然后选择您刚刚创建的身份池。然后复制或写下 IdentityPoolId 稍后将在浏览器脚本中使用的内容。