Можно ли создать ключ доступа AWS через IAM для использования с API рекламы продукта?
Мне нравится использовать IAM (Identity and Access Management) для создания пользователей/групп с определенными разрешениями для определенных целей.
API рекламы продукта требует использования ключа доступа (параметр запроса AWSAccessKeyId), и IAM может генерировать ключи доступа, но я не вижу способа дать Пользователи/группы IAM получают доступ к только API рекламы продукта.
Кто-нибудь знает, можно ли это сделать? Или вы знаете об обходном пути?
Ответы
Ответ 1
Update
Чтение указанной политики IAM для API продуктов Amazon полностью показывает, что опросник действительно пытался это сделать, то есть использовать ключи доступа IAM для доступа к рекламе продукта API, но, видимо, безрезультатно. Поэтому я боюсь, что упомянутый ответ команды AWS должен быть взят буквально, и ваш прецедент не распространяется на IAM, к сожалению.
Исходный ответ
AWS Identity and Access Management (IAM) в настоящее время не поддерживает Product Advertising API (см. ответ команды AWS на политики IAM для API продуктов Amazon), но при условии, что ключи доступа IAM как таковые работают там также, вы можете лишить ваших пользователей/групп доступа к любой другой службы AWS, поддерживающей IAM с помощью соответствующей политики IAM по крайней мере (которая должна охватывать большинство критических). Рекомендуемый AWS Policy Generator может помочь в разработке соответствующей политики, которая на самом деле может быть такой простой (я только что выбрал Effect → Deny и проверил сервис AWS → Все сервисы):
{
"Statement": [
{
"Sid": "Stmt1331670627168",
"Action": "*",
"Effect": "Deny",
"Resource": "*"
}
]
}
Ответ 2
Поскольку API-интерфейс Amazon API еще не охвачен политиками IAM, можно ожидать, что этого будет достаточно, чтобы иметь пользователя без какой-либо политики прикреплен, потому что default запрещает. (Другими словами, для такого пользователя всем будет отказано, за исключением API продукта, который не защищен IAM.)
Но это не так. Независимо от того, что я пробовал, я мог получить доступ к API с помощью моего корневого ключа. (Чтобы избежать последствий для безопасности, я решил зарегистрировать дополнительную учетную запись без прикрепленной кредитной карты.)
Ответ 3
API продукта Amazon работает с IAM.
Я создал пользователя IAM. Это не в группе и не имеет ролей. Я только приложил к ней политику "AdministratorAccess". Я тестировал его в операциях "ItemSearch" и "CartCreate". Он работает очень хорошо.
Вы также можете создать новую политику отказа, чтобы ограничить доступ пользователей к другим службам, как описано byronicM здесь: https://forums.aws.amazon.com/message.jspa?messageID=289929#289929
Ответ 4
До тех пор, пока Amazon не поддержит это, рекомендуется создать отдельный полный ключ и удалить их позже, когда вы закончите разработку. Таким образом, первый ключ производства не отображается и не нуждается в изменении, что сэкономит ваше время.
Ответ 5
Это было незаметно добавлено ранее в этом году (документация). Используйте эту политику:
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": "ProductAdvertisingAPI:*",
"Resource": "*"
}
]
}