使用boto3脚本,创建了一个角色和策略,并试图将策略附加到该角色。我在附加时会遇到错误,但是如果我手动附着可以正常工作。
使用boto3我正在做以下操作:创建了AWS角色说"测试"创建了一个称为" POL"的策略两者都是创建的,我们可以在AWS控制台上看到。现在将策略与下面的命令
一起附加到角色response = client.attach_role_policy(
RoleName='TEST',
PolicyArn='arn:aws:iam::6929051012:policy/POL'
)
在错误以下。
raise error_class(parsed_response, operation_name)
botocore.errorfactory.NoSuchEntityException: An error occurred (NoSuchEntity) when calling the AttachRolePolicy operation: Policy arn:aws:iam::6929051012:policy/POL does not exist or is not attachable.
手动可以将此政策附加到角色上。高度赞赏您的帮助。谢谢
要重现您的情况,我做了以下操作:
- 通过管理控制台创建IAM角色(
stack-role
) - 通过管理控制台(
arn:aws:iam::123456789012:policy/stack-policy
)创建IAM策略
我跑了:
import boto3
iam_client = boto3.client('iam')
response = iam_client.attach_role_policy(
RoleName='stack-role',
PolicyArn='arn:aws:iam::123456789012:policy/stack-policy'
)
print (response)
呼叫成功返回。然后,我查看了IAM管理控制台中的角色,并附加了stack-policy
。
所以,似乎正常工作!