本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
设置开源 OpenSearch 权限
如果您使用开源 OpenSearch,则必须能够从开源集群访问您的 Amazon Personalize 资源。要授予访问权限,请执行以下操作:
-
如果您是从头开始设置 OpenSearch,则可以使用快速入门 bash 脚本
在 Docker 容器中运行 OpenSearch 集群。该脚本使用您 Amazon 配置文件中的默认凭证。您可以在运行该脚本时指定备用配置文件。 这些凭证必须与有权为 Amazon Personalize 市场活动执行 GetPersonalizedRanking 操作的用户或角色相关联。如需 IAM 策略示例,请参阅 IAM 策略示例。或者,此类凭证必须有权代入具有这些权限的角色。您可以在为 Amazon Personalize 搜索排名插件创建管道时,为此角色提供 Amazon 资源名称 (ARN)。
-
如果您不使用快速入门 bash 脚本
,则可以手动将凭证添加到 OpenSearch 密钥库中。这些凭证必须与有权为 Amazon Personalize 市场活动执行 GetPersonalizedRanking 操作的用户或角色相对应。 要手动将您的 Amazon 凭证添加到 OpenSearch 密钥库中,请在运行 OpenSearch 集群的位置(例如 Docker 容器)运行以下命令。然后,提供每个凭证。如果您不使用会话令牌,则可以省略命令中的最后一行。
opensearch-keystore add \ personalized_search_ranking.aws.access_key \ personalized_search_ranking.aws.secret_key \ personalized_search_ranking.aws.session_token
-
如果您在 Amazon EC2 实例上运行 OpenSearch 集群,则可使用 IAM 实例配置文件授予权限。附加到该角色的策略必须向其授予对 Amazon Personalize 市场活动执行 GetPersonalizedRanking 操作的权限。它还必须向 Amazon EC2 授予代入角色的权限。
IAM 策略示例
以下策略示例向用户或角色授予从 Amazon Personalize 市场活动中获得个性化排名的最低权限。对于 Campaign ARN
,为 Amazon Personalize 市场活动指定 Amazon 资源名称 (ARN)。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "personalize:GetPersonalizedRanking" ], "Resource": "
Campaign ARN
" } ] }
此外,如果您在 Amazon EC2 实例上运行 OpenSearch 集群并使用 IAM 实例配置文件授予权限,则该角色的信任策略必须按如下方式向 Amazon EC2 授予 AssumeRole
权限。有关 Amazon EC2 实例配置文件的信息,请参阅使用实例配置文件。
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }