感觉我在这里遗漏了一些明显的东西,但是我找不到它。
我正在尝试使用JSON应用IAM策略,但是gcloud似乎总是尝试将策略文件解释为YAML。
我已经用等效的YAML测试了它,并且可以正常工作。我确定policy.json
文件是正确的,我使用gcloud projects get-iam-policy ${proj}
来创建它。
据我所知,我已经正确遵循了documentation,似乎没有额外的标记或选项可用于将其读取为JSON。
命令:
gcloud projects set-iam-policy ${proj} policy.json
错误:
ERROR: (gcloud.projects.set-iam-policy) Failed to parse YAML from [policy.json]: while scanning for the next token found character '\t' that cannot start any token
in "policy.json", line 3, column 1
GCloud SDK版本: 228.0.0
答案 0 :(得分:0)
默认情况下,get-iam-policy输出为YAML格式。为了确保输出正确,请尝试以下命令:
gcloud projects get-iam-policy your-project --format=json >> policy.json
这会将格式化为JSON的输出写到policy.json文件中。