我的操作很简单,我喜欢使用aws cli创建一个角色,但没有外部json文件,例如
aws iam create-role --role-name authenticateDeviceCrossAccountAssumeRole --assume-role-policy-document "{
"Version": "2012-10-17",
"Statement": {
"Effect": "Allow",
"Principal": { "AWS": "arn:aws:iam::984589850232:root" },
"Action": "sts:AssumeRole"
}
}"
上面的一个不起作用,它说调用CreateRole操作时发生错误(malformmedpolicydocument):此策略包含无效的Json
因此,如果尝试删除双引号,我在终端中得到这个错误zsh: parse error near '}'
但是,如果我显式创建一个文件并运行它可以正常工作,例如:
aws iam create-role --role-name authenticateDeviceCrossAccountAssumeRole --assume-role-policy-document file://$STAGE.json
但是由于某些原因,我不能添加文件并运行它,我想用普通json运行,有人能帮助我实现这一点吗?
也许,看看下面的例子:
aws iam create-role --role-name emr-serverless-job-role --assume-role-policy-document '{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": "emr-serverless.amazonaws.com"
},
"Action": "sts:AssumeRole"
}
]
}'
查看json是如何内联提供的,而不是作为/在.json
文件中。