信任身份(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元素。