#amazon-web-services #aws-cli #assume-role
#amazon-web-services #aws-cli #предположим, что роль
Вопрос:
Я получаю сообщение об ошибке при попытке создать новую роль с помощью aws cli.
Вот сообщение об ошибке.
An error occurred (MalformedPolicyDocument) when calling the CreateRole operation: This policy contains invalid Json
Другими словами, чтобы создать роль, я запускаю следующую команду.
aws iam create-role --path /role-service/ --role-name Test-Role --assume-role-policy-document policy.json
и policy.json является
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "",
"Effect": "Allow",
"Principal": {
"Service": "cognito-idp.amazonaws.com"
},
"Action": "sts:AssumeRole",
"Condition": {
"StringEquals": {
"sts:ExternalId": "d611c8fd-0fd1-469a-a5ea-b02186042023"
}
}
}
]
}
Комментарии:
1. Как все прошло? Проблема все еще сохраняется?
Ответ №1:
Вы должны использовать file://
, как описано в:
Поэтому вы можете попробовать следующее, если policy.json
в вашем текущем рабочем каталоге:
aws iam create-role --path /role-service/ --role-name Test-Role --assume-role-policy-document file://policy.json
Комментарии:
1. Но, если файл policy.json находится в определенном каталоге в текущем каталоге, как указать путь?
2. @Venus713 Вы можете указать полный путь к нему. Например, если
/tmp/
это возможноfile:///tmp/policy.json
. Ссылка в ответе содержит больше примеров.3.
aws iam create-role --path /service-role/ --role-name test-role --assume-role-policy-document file:///src/actions/export/server/role-trust-policy.json
Я запустил приведенную выше команду и получил следующую ошибку.Error parsing parameter '--assume-role-policy-document': Unable to load paramfile file:///src/actions/export/server/role-trust-policy.json: [Errno 2] No such file or directory: '/src/actions/export/server/role-trust-policy.json'
4. @Venus713 вероятно, у вас неправильный путь. Если
/src/actions/export/server/role-trust-policy.json
на самом деле существует, команда верна.