amazon.aws.iam_managed_policy 模块 – 管理用户管理的 IAM 策略
注意
此模块是 amazon.aws 集合(版本 9.0.0)的一部分。
如果您正在使用 ansible
包,则可能已经安装了此集合。 它不包含在 ansible-core
中。要检查是否已安装,请运行 ansible-galaxy collection list
。
要安装它,请使用:ansible-galaxy collection install amazon.aws
。 您需要进一步的要求才能使用此模块,请参阅 要求 以了解详细信息。
要在剧本中使用它,请指定:amazon.aws.iam_managed_policy
。
community.aws 1.0.0 中的新功能
概要
允许创建和删除托管的 IAM 策略。
要求
执行此模块的主机需要满足以下要求。
python >= 3.6
boto3 >= 1.28.0
botocore >= 1.31.0
参数
参数 |
注释 |
---|---|
AWS 访问密钥 ID。 有关访问令牌的更多信息,请参阅 AWS 文档 https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys。 还可以按优先级递减的顺序使用 aws_access_key 和 profile 选项是互斥的。 别名 aws_access_key_id 在 5.1.0 版本中添加,以与 AWS botocore SDK 保持一致。 别名 ec2_access_key 已弃用,将在 2024-12-01 之后的版本中删除。 对 |
|
用于验证 SSL 证书的 CA 包的位置。 也可以使用 |
|
用于修改 botocore 配置的字典。 参数可以在 AWS 文档中找到 https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config。 |
|
使用 也可以使用 选择
|
|
此策略的有用描述,此值是不可变的,仅在创建新策略时设置。 该参数在 7.2.0 版本中从 |
|
要连接到的 URL,而不是默认的 AWS 端点。 虽然这可用于连接到其他与 AWS 兼容的服务,但 amazon.aws 和 community.aws 集合仅针对 AWS 进行测试。 也可以按优先级递减的顺序使用 别名 ec2_url 和 s3_url 已弃用,将在 2024-12-01 之后的版本中删除。 对 |
|
使此修订版本成为默认修订版本。 选择
|
|
托管策略的名称。 注意:策略名称在账户内是唯一的。路径( 该参数在 7.2.0 版本中从 |
|
托管策略的路径。 有关 IAM 路径的更多信息,请参阅 AWS IAM 标识符文档 https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html。 |
|
格式正确的 json 策略 |
|
用于身份验证的已命名的 AWS 配置文件。 有关已命名配置文件的更多信息,请参阅 AWS 文档 https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-profiles.html。 也可以使用 profile 选项与 aws_access_key、aws_secret_key 和 security_token 选项互斥。 |
|
如果 如果未设置 以 选择
|
|
要使用的 AWS 区域。 对于诸如 IAM、Route53 和 CloudFront 等全局服务,将忽略 region。 也可以使用 有关更多信息,请参阅 Amazon AWS 文档 http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region。
对 |
|
AWS 秘密访问密钥。 有关访问令牌的更多信息,请参阅 AWS 文档 https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys。 也可以使用 secret_key 和 profile 选项互斥。 为了与 AWS botocore SDK 保持一致,在 5.1.0 版本中添加了 aws_secret_access_key 别名。 ec2_secret_key 别名已弃用,将在 2024-12-01 之后的版本中删除。 对 |
|
用于临时凭证的 AWS STS 会话令牌。 有关访问令牌的更多信息,请参阅 AWS 文档 https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html#access-keys-and-secret-access-keys。 也可以使用 security_token 和 profile 选项互斥。 在 3.2.0 版本中添加了别名 aws_session_token 和 session_token,并在 6.0.0 版本中将参数从 security_token 重命名为 session_token。 security_token、aws_security_token 和 access_token 别名已弃用,将在 2024-12-01 之后的版本中删除。 对 |
|
此托管策略应为 present 还是 absent。设置为 absent 可从该策略中分离所有实体,并在找到时将其删除。 选择
|
|
表示要应用于资源的标签的字典。 如果未设置 |
|
设置为 强烈建议不要设置 validate_certs=false,作为替代方案,请考虑设置 aws_ca_bundle。 选择
|
备注
注意
在 7.2.0 版本中添加了对
tags
和purge_tags
的支持。注意: 对于模块,环境变量和配置文件是从 Ansible “主机” 上下文而不是 “控制器” 上下文读取的。因此,可能需要将文件显式复制到 “主机”。 对于查找和连接插件,环境变量和配置文件是从 Ansible “控制器” 上下文而不是 “主机” 上下文读取的。
Ansible 使用的 AWS SDK (boto3) 也可能从 Ansible “主机” 上下文中的配置文件(通常是
~/.aws/credentials
)读取凭证和其他设置(例如区域)的默认值。有关更多信息,请参阅 https://boto3.amazonaws.com/v1/documentation/api/latest/guide/credentials.html。
示例
# Create a policy
- name: Create IAM Managed Policy
amazon.aws.iam_managed_policy:
policy_name: "ManagedPolicy"
policy_description: "A Helpful managed policy"
policy: "{{ lookup('template', 'managed_policy.json.j2') }}"
state: present
# Update a policy with a new default version
- name: Update an IAM Managed Policy with new default version
amazon.aws.iam_managed_policy:
policy_name: "ManagedPolicy"
policy: "{{ lookup('file', 'managed_policy_update.json') }}"
state: present
# Update a policy with a new non default version
- name: Update an IAM Managed Policy with a non default version
amazon.aws.iam_managed_policy:
policy_name: "ManagedPolicy"
policy:
Version: "2012-10-17"
Statement:
- Effect: "Allow"
Action: "logs:CreateLogGroup"
Resource: "*"
make_default: false
state: present
# Update a policy and make it the only version and the default version
- name: Update an IAM Managed Policy with default version as the only version
amazon.aws.iam_managed_policy:
policy_name: "ManagedPolicy"
policy: |
{
"Version": "2012-10-17",
"Statement":[{
"Effect": "Allow",
"Action": "logs:PutRetentionPolicy",
"Resource": "*"
}]
}
only_version: true
state: present
# Remove a policy
- name: Remove an existing IAM Managed Policy
amazon.aws.iam_managed_policy:
policy_name: "ManagedPolicy"
state: absent
返回值
通用返回值记录在 这里,以下是此模块特有的字段
Key |
描述 |
---|---|
返回基本策略信息。当 返回值: 始终 |
|
策略的 Amazon 资源名称 (ARN)。 返回值: 成功 示例: |
|
策略所附加到的实体(用户、组和角色)的数量。 返回值: 成功 示例: |
|
策略创建的日期和时间,采用 ISO 8601 日期时间格式。 返回值: 成功 示例: |
|
要使用的默认策略版本。 返回值: 成功 示例: |
|
策略的友好描述。 返回值: 成功 示例: |
|
指定策略是否可以附加到 IAM 实体。 返回值: 成功 示例: |
|
策略的路径。 返回值: 成功 示例: |
|
使用该策略作为权限边界的 IAM 实体(用户、组和角色)的数量。 返回值: 成功 示例: |
|
标识策略的稳定且全局唯一的字符串。 返回值: 成功 示例: |
|
标识策略的友好名称。 返回值: 成功 示例: |
|
表示附加到托管策略的标签的字典。 返回值: 成功 示例: |
|
策略上次更新的日期和时间,采用 ISO 8601 日期时间格式。 返回值: 成功 示例: |