AWS Identity and Access Management (IAM) 是一项AWS服务,用于管理用户、组、角色和权限策略。其中,aws_iam_role和aws_iam_role_policy是IAM中的两个重要概念。
aws_iam_role:
含义:aws_iam_role是IAM中的角色(Role),用于定义一组权限,以便其他AWS服务或资源可以以安全的方式访问它们。
示例代码:
resource "aws_iam_role" "example" {
name = "example-role"
assume_role_policy = <
上述示例创建了一个名为"example-role"的IAM角色,该角色允许EC2服务以sts:AssumeRole的权限扮演该角色。
aws_iam_role_policy:
含义:aws_iam_role_policy是IAM中的角色策略(Role Policy),用于为特定角色定义一组权限,以控制其对AWS资源的访问。
示例代码:
resource "aws_iam_role_policy" "example" {
name = "example-role-policy"
role = aws_iam_role.example.id
policy = <
上述示例创建了一个名为"example-role-policy"的角色策略,并将其关联到名为"example-role"的IAM角色上。该策略允许该角色对名为"example-bucket"的S3存储桶中的对象进行GetObject和PutObject操作。
总结:aws_iam_role用于定义角色,aws_iam_role_policy用于定义角色的权限策略。角色可以被其他AWS服务或资源进行扮演,策略定义了角色对AWS资源的具体访问权限。