信任身份(Principal) 指权限的信任对象。在为IAM用户、用户组或角色授权时,信任身份在策略与用户、用户组或角色的绑定关系中就完成了定义,因此当您创建自定义策略时,无需再定义该元素。
与IAM身份(用户、用户组或角色)绑定的策略称为”基于身份的策略“,在某些场景,策略可与资源进行绑定(而非与身份绑定),这类策略称为”基于资源的策略“。在基于资源的策略中,因为缺少与身份的绑定关系,因此策略内容中必须包含Principal元素,同时因为基于资源的策略天然拥有与资源的绑定关系,因此策略中Resource元素无需定义。目前火山引擎支持以下两种资源使用基于资源的策略:
{ "Statement": [ { "Effect": "Allow", "Action": [ "sts:AssumeRole" ], "Principal": { "Service": [ "vke" ] } } ] }
又例如,以下角色信任策略定义了信任对象为账号ID=2000000001的账号,允许该账号内的身份扮演该角色:
{ "Statement": [ { "Effect": "Allow", "Action": [ "sts:AssumeRole" ], "Principal": { "IAM": [ "trn:iam::2000000001:root" ] } } ] }
注意
角色的信任策略不支持Condition元素。