【確認】 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