我将动态创建带有附加策略的角色。
aes
这似乎工作正常,但我也需要删除此角色。要删除该角色,我需要先分离策略。
var pr = new CreateRoleRequest
{
RoleName = roleName,
AssumeRolePolicyDocument = asspoly.ToJson(),
};
var resp = await _iamService.CreateRoleAsync(pr);
if (resp == null || resp.HttpStatusCode != HttpStatusCode.OK)
{
throw new Exception($"Could not create role: {resp.HttpStatusCode}");
}
var gresp = await _iamService.AttachRolePolicyAsync(new AttachRolePolicyRequest { RoleName = roleName, PolicyArn = GetPolicyARN(MakeRolePolicyName(agentID)) });
if (gresp == null || gresp.HttpStatusCode != HttpStatusCode.OK)
{
throw new Exception($"Could not attach policy to role: {resp.HttpStatusCode}");
}
问题是,ListRolePolicies返回一个空列表(来自c#和cli)-但是,控制台显示该策略确实已附加。
我在这里想念什么?
答案 0 :(得分:2)
list-role-policies
API返回内联策略。要查询附加的策略,请改用list-attached-role-policies
API。
当然可以说list-inline-role-policies
对于前者来说是一个不太混乱的名称。
有关AWS Docs和IAM术语的说明:
起初对我来说,“附加”和“托管”本质上是同一回事,这并不明显。附加策略是“ AWS管理”或“客户管理”。 More details here。