如何通过aws cli使用JSON而不是显式文件创建角色



我的操作很简单,我喜欢使用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文件中。

最新更新