使用另一个帐户的角色调用 Terraform 时,"calling entity" 是哪个?

Which is the "calling entity" when invoking Terraform with a role from another account?

我正在使用跨账户授权通过 Terraform 创建 AWS 资源。也就是说:

provider "aws" {
  assume_role {
    role_arn = "<ARN of roleB>"
  }
}

aws_caller_identity 数据源的文档说它公开了有关“调用实体”的详细信息,但我不清楚在我的情况下这应该是哪个“实体”:是 userAroleB?

虽然我一直找不到任何官方文档来指定它指的是哪个实体,但通过实验我确定在这种情况下“调用实体”是角色 session 在帐户“B”中(请注意,虽然这与角色相关,但实际上并不是角色本身)。

这个数据源公开的ARN看起来像

"arn:aws:sts::<account B ID>:assumed-role/<name of role B>/<session name>"

session name 可以在 assume_role 块中显式指定,但如果省略则它是一个半随机的 19 位数字(我不确定这是否数字由 Terraform 或 AWS 生成)。