【確認】 IAMユーザー、IAMグループにロールを付与できるか(多分できない) ロールにスイッチ(AssumeRole)することはできる。
assume:引き受けるsts:AWS Security Token Service (AWS STS)※ AWS Organizations(組織アカウント) 複数のアカウントのを管理
IAM アイデンティティ (ユーザー、グループ、またはロール) に埋め込まれたポリシーです。つまり、ポリシーは本質的にアイデンティティの一部です。
※ ARNを持つポリシーをスタンドアロンポリシーと呼ぶ
ref. https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/access_policies_managed-vs-inline.html
管理ポリシーとインラインポリシーを IAM アイデンティティ (ユーザー、ユーザーのグループ、ロール) にアタッチします。アイデンティティベースのポリシーでは、アクセス許可はアイデンティティに付与されます。
インラインポリシーをリソースにアタッチします。リソースベースのポリシーとして最も一般的な例は、Amazon S3 バケットポリシーと IAM ロールの信頼ポリシーです。リソースベースのポリシーでは、アクセス許可は、ポリシーで指定されているプリンシパルに付与されます。プリンシパルは、リソースと同じアカウントか、別のアカウントになります。
ref. https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/access_policies.html
AWSサービスやアプリケーションに対してAWSの操作権限を与える仕組み。
大きく以下から構成される。
IAMポリシー:何ができるか信頼関係(信頼ポリシー):だれができるかAssumeRolePolicyDocument The trust policy that is associated with this role. Trust policies define which entities can assume the role. You can associate only one trust policy with a role. For an example of a policy that can be used to assume a role, see Template Examples. For more information about the elements that you can use in an IAM policy, see IAM Policy Elements Reference in the IAM User Guide.
信頼関係(信頼ポリシー)についてクロスアカウントロール(ユーザーからのみスイッチできるIAMロール)を例に説明する。
AWSの薄い本 IAMのマニアックな話 p39
クロスアカウントロールのスイッチ元の制限はCondition(条件)ではなくPrincipal(信頼関係)を利用する。
信頼関係の例(JSON)
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"AWS": "arn:iam::{{アカウントID}}:user/{{username}}"
},
"Action": "sts:AssumeRole",
"Condition": {}
}
]
}
スイッチロールを例にしたがCloudFormationやCodePipelineなどAWSサービスに付与するのが一般的。
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Principal": {
"Service": [
"ecs.amazonaws.com",
"elasticloadbalancing.amazonaws.com"
]
},
"Action": "sts:AssumeRole"
}
]
}
https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/reference_policies_elements_principal.html
バウンダリーは、IAMユーザーまたはIAMロールに対するアクセス制限として動作します。 付与した権限とBoundaryで許可した権限と重なる部分のみ有効な権限として動作します。
ポリシーのレファレンスはCloudFormationのレファレンスには掲載されていない?ので以下を参照する。
https://docs.aws.amazon.com/ja_jp/IAM/latest/UserGuide/reference_policies_elements.html