由于附加政策,无法删除角色

时间:2018-09-05 21:25:06

标签: amazon-web-services

我将动态创建带有附加策略的角色。

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)-但是,控制台显示该策略确实已附加。

enter image description here

我在这里想念什么?

1 个答案:

答案 0 :(得分:2)

list-role-policies API返回内联策略。要查询附加的策略,请改用list-attached-role-policies API。

当然可以说list-inline-role-policies对于前者来说是一个不太混乱的名称。


有关AWS Docs和IAM术语的说明

起初对我来说,“附加”和“托管”本质上是同一回事,这并不明显。附加策略是“ AWS管理”或“客户管理”。 More details here