[AWS] IAM Role, AssumeRole
意識の流れに従ってiam役と担当役に対する理解を整理しました...🧐🥺 注意が間違っているかもしれません!
IAM Roleはの複数のポリシーを接続することで、権限を持つことができます. 以上のオブジェクトを付与できます. 人しか利用できないユーザーとは異なり、 ロールが必要な人は を使用できます.段、信頼できる人だけ! Assume Role
例1
例えば、EC 2には、S 3を検索するロールが指定される.
role定義部分をterraformコードと見なします.以下に示します.
では、
この部分が対応する
Principalでは、役割を引き受けることができます.つまり、EC 2リソースはこのロールを有効にします.
その後、EC 2は、ロールに権限を付与され、ロールに関連するポリシーの権限、すなわちs 3の権限をリストして取得する.
例2
ユーザーの仮定ロールの定義
Bロールにs 3 list権限を付与
AはBの許可によりs 3リストを行うことができる
とても良いサイトです…!
https://jonnung.dev/posts/2021-01-28-aws-iam-role/
IAM Roleは
例1
例えば、EC 2には、S 3を検索するロールが指定される.
role定義部分をterraformコードと見なします.以下に示します.
resource "aws_iam_instance_profile" "bastion" {
name = "iam-${local.name}-instance-profile"
role = aws_iam_role.bastion.name
}
resource "aws_iam_role" "bastion" {
name = "iam-${local.name}-role"
path = "/ec2/"
assume_role_policy = <<EOF
{
"Version": "2012-10-17",
"Statement": [
{
"Action": "sts:AssumeRole",
"Principal": {
"Service": ["ec2.amazonaws.com"]
},
"Effect": "Allow"
}
]
}
EOF
}
data "aws_iam_policy_document" "bastion" {
statement {
sid = "ReadBucket"
actions = [
"s3:Get*",
"s3:List*",
]
resources = [
"arn:aws:s3:::jisun-*",
]
}
}
resource "aws_iam_policy" "bastion" {
name = "iam-${local.name}-s3"
path = "/ec2/"
policy = data.aws_iam_policy_document.bastion.json
}
resource "aws_iam_role_policy_attachment" "bastion" {
role = aws_iam_role.bastion.id
policy_arn = aws_iam_policy.bastion.arn
}
ポリシーを定義し、ロールに追加する部分は明らかです.では、
assume_role_policy
部の定義は何でしょうか.この部分が対応する
role을 사용할 수 있는 대상을 지정
の部分です.awsコンソールでは、信頼されているエンティティで確認できます.Principalでは、役割を引き受けることができます.つまり、EC 2リソースはこのロールを有効にします.
その後、EC 2は、ロールに権限を付与され、ロールに関連するポリシーの権限、すなわちs 3の権限をリストして取得する.
例2
ユーザーの仮定ロールの定義
Bロールにs 3 list権限を付与
AはBの許可によりs 3リストを行うことができる
とても良いサイトです…!
https://jonnung.dev/posts/2021-01-28-aws-iam-role/
Reference
この問題について([AWS] IAM Role, AssumeRole), 我々は、より多くの情報をここで見つけました https://velog.io/@jisun-rea/AWS-IAM-Role-AssumeRoleテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol