Ошибка ошибки в AWS
Я пытаюсь установить групповую политику AWS через CLI AWS следующим образом:
aws iam put-group-policy --group-name my-group --policy-name \
s3-full-access --policy-document /tmp/policy.json
Это содержимое /tmp/policy.json:
{
"Version": "2012-10-17",
"Statement": [
{
"Action": [
"s3:ListAllMyBuckets"
],
"Effect": "Allow",
"Resource": "arn:aws:s3:::*"
},
{
"Action": "s3:*",
"Effect": "Allow",
"Resource": "arn:aws:s3:::my-bucket*"
}
]
}
Я продолжаю получать следующую ошибку:
A client error (MalformedPolicyDocument) occurred when calling the PutGroupPolicy operation: The policy is not in the valid JSON format.
Я не знаю, как действовать, ошибка слишком неспецифична. Кто может помочь?
Ответы
Ответ 1
Решил эту загадку!
Там имеет префикс file://
перед именем файла политики:
aws iam put-group-policy --group-name my-group --policy-name s3-full-access --policy-document file:///tmp/policy.json
Исходное сообщение об ошибке очень вводит в заблуждение, так как вы получаете одно и то же сообщение, если вы указываете имя файла, которого не существует вообще.
Таким образом, не синтаксис политики в файле, но тот факт, что CLI не видит файл вообще, который вызывает ошибку.
Ответ 2
+++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++++
Команда PS: Пример 1.
aws iam create-role --role-name vmimport - файл файл-политика-материал-политика файл:///policy/trust-policy.json
**** Фактический путь ******: C:\policy\trust-policy.json
++++++++++++++++++++++++++++++++++++++++++++++++++ ++++++++++++++++++++++++++
Команда PS: пример 2.
aws iam put-role-policy --role-имя vmimport --policy-name vmimport - файл документа-документа:///policy/role-policy.json
**** Фактический путь ******: C:\policy\role-policy.json
++++++++++++++++++++++++++++++++++++++++++++++++++ +++++++++++++++++++++++++