16

我喜欢使用 IAM(身份和访问管理)为特定目的创建具有特定权限的用户/组。

产品广告 API 需要使用访问密钥(请求参数是AWSAccessKeyId)并且 IAM 可以生成访问密钥,但我没有看到让 IAM 用户/组访问产品广告 API 的方法。

有人知道这是否可以做到吗?或者您知道解决方法吗?

4

5 回答 5

11

更新

阅读提到的亚马逊产品 API的线程IAM 策略完全表明,提问者实际上试图这样做,即使用 IAM 访问密钥来访问产品广告 API,但显然无济于事。因此,恐怕必须从字面上理解所提到的AWS 团队的响应,不幸的是,IAM 尚未涵盖您的用例。


初步答案

AWS Identity and Access Management (IAM)目前不支持Product Advertising API(请参阅 AWS 团队对 Amazon Product API 的 IAM 政策的回应),但假设 IAM 访问密钥也在那里工作,您可以拒绝您的用户/组至少通过相应的IAM 策略访问支持 IAM 的所有其他AWS 服务(应该涵盖大多数关键策略)。推荐的AWS 策略生成器可以帮助制定相应的策略,实际上可能就这么简单(我刚刚选择了效果 -> 拒绝并选中了AWS 服务 -> 所有服务复选框):

{
  "Statement": [
    {
      "Sid": "Stmt1331670627168",
      "Action": "*",
      "Effect": "Deny",
      "Resource": "*"
    }
  ]
}
于 2012-03-13T20:35:53.800 回答
2

由于IAM 策略尚未涵盖Amazon 产品 API ,因此可以预期拥有一个没有附加任何策略的用户就足够了,因为默认设置是拒绝。(换句话说,对于此类用户,除了不受 IAM 保护的产品 API 之外,所有内容都将被拒绝。)

但事实并非如此。无论我尝试什么,我都只能使用我的根密钥访问 API。(为了避免安全隐患,我决定注册一个没有附加信用卡的额外帐户。)

于 2015-01-13T09:09:46.747 回答
1

亚马逊产品 API可以与IAM一起使用。

我创建了一个 IAM 用户。它不在一个组中,也没有角色。我只附加了“AdministratorAccess”策略。我在“ItemSearch”和“CartCreate”操作中对其进行了测试。它工作得很好。

您还可以创建一个新的拒绝策略来限制用户访问其他服务,如 byronicM 所述:https ://forums.aws.amazon.com/message.jspa?messageID=289929#289929

于 2016-09-07T16:13:39.603 回答
1

This was quietly added earlier this year (documentation). Use this policy:

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "ProductAdvertisingAPI:*",
            "Resource": "*"
        }
    ]
}
于 2018-12-14T17:26:09.557 回答
0

在 Amazon 支持之前,建议您创建一个单独的完整密钥,然后在完成开发后将其删除。因此,第一个生产密钥不会暴露,也不需要更改,这将节省您的时间。

于 2013-12-17T23:10:09.307 回答