[英]AWS Boto3 Syntax errors in policy
運行 boto3 to create_policy
命令時出現格式錯誤的語法錯誤,令人驚訝的是,我在 AWS 控制台中沒有收到錯誤消息。 我嘗試使用 AWS 控制台的“策略編輯器”對此進行調試,然后單擊“驗證”按鈕,它會創建策略無錯誤。 有誰知道我做錯了什么?
iam_client.create_policy(PolicyName='xxxxx-policy',
PolicyDocument=json.dumps(dir_name + 'xxxxx-policy.json'))
此策略包含以下錯誤: botocore.errorfactory.MalformedPolicyDocumentException:調用 CreatePolicy 操作時發生錯誤 (MalformedPolicyDocument):策略中的語法錯誤。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ec2:Describe*",
"iam:ListRoles",
"sts:AssumeRole"
],
"Resource": "*"
}
]
}
json.dumps
會將 Python 字典轉換為 JSON 字符串。 輸入不應是文件名。 實際上,您不需要 json package 來執行此操作。
import boto3
with open('xxx-policy.json', 'r') as fp:
iam_client = boto3.client('iam')
iam_client.create_policy(
PolicyName='xxx-policy',
PolicyDocument=fp.read()
)
您正在從文件中讀取文檔:
with open(dir_name + 'xxxxx-policy.json', 'r') as f:
policy_document = f.read()
iam_client.create_policy(
PolicyName='xxxxx-policy',
PolicyDocument=policy_document)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.