IAM Policy
Resumo
- Permite carregar ou remover políticas do IAM em linha para usuários, grupos ou funções do IAM.
Parâmetros
Parâmetro | Tipo | Escolhas | Valor Padrão | Comentários |
|---|---|---|---|
iam_type - required | string | Escolhas: - "user" - "group" - "role" | Tipo de recurso do IAM. |
iam_name - required | string | | Nome do recurso do IAM que você deseja direcionar para ações de política. Em outras palavras, o nome do usuário, nome do grupo ou nome da função. |
policy_name - required | string | | Nome da política a ser criada ou removida. |
policy_document | string | | Caminho para o arquivo de política formatado em json corretamente. Mutuamente exclusivo com (policy_json). |
policy_json | json | | Política devidamente formatada em json como string. Mutuamente exclusivo com (policy_document). |
state | string | Escolhas: - absent - present (default) | Se a política do IAM deve ser criada ou excluída. |
skip_duplicates | boolean | Escolhas: - false - true (default) | Quando (skip_duplicates=true) o módulo procura quaisquer políticas que correspondam ao documento que você passa. Se houver uma correspondência, ele não criará um novo objeto de política com as mesmas regras. O padrão atual é (true). Para manter o comportamento existente defina explicitamente (skip_duplicates=true). |
Exemplos
# Exemplo: Atribua uma política chamada Admin ao grupo de administradores
- iam_policy:
iam_type: group
iam_name: administrators
policy_name: Admin
state: present
policy_document: admin_policy.json
# Exemplo: Criar dois grupos, Group1 e Group2
- iam_group:
name: "{{ item }}"
state: present
loop:
- Group1
- Group2
register: new_groups
# Exemplo: Aplicar a política READ-ONLY a novos grupos que foram criados recentemente
- iam_policy:
iam_type: group
iam_name: "{{ item.iam_group.group.group_name }}"
policy_name: "READ-ONLY"
policy_json: "{{ lookup('template', 'readonly.json.j2') }}"
state: present
loop: "{{ new_groups.results }}"
# Exemplo: Criar política do S3 a partir do modelo
- iam_policy:
iam_type: user
iam_name: "{{ item.user }}"
policy_name: "s3_limited_access_{{ item.prefix }}"
state: present
policy_json: "{{ lookup('template', 's3_policy.json.j2') }}"
loop:
- user: s3_user
prefix: s3_user_prefix
Valores retornados
Chave | Tipo | Retornado quando | Descrição |
|---|---|---|---|
policies | list / elements=string | Sempre | Uma lista de nomes das políticas em linha incorporadas ao recurso do IAM especificado (usuário, grupo ou função). |