Spec-Zone.ru › Ansible 2.9

aws_kms – Выполнение различных задач управления KMS

  • Обзор
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения
  • Статус

Обзор

  • Управление доступом ролей/пользователей к ключу KMS. Не предназначено для шифрования/дешифрования.

Требования

Ниже перечислены требования к хосту, на котором будет выполняться этот модуль.

  • python >= 2.6
  • boto

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
alias
-
Псевдоним для ключа. Для безопасности, хотя KMS не требует, чтобы ключи имели псевдоним, этот модуль ожидает, что все новые ключи будут иметь псевдоним для удобства управления. Существующие ключи без псевдонима могут ссылаться на них по key_id. Используйте aws_kms_info для поиска идентификаторов ключей. Требуется, если не указан key_id. Обратите внимание, что передача key_id и alias приведет только к добавлению нового псевдонима, псевдоним никогда не будет переименован. Префикс 'alias/' необязателен.

Псевдонимы: key_alias
aws_access_key
строка
AWS ключ доступа. Если не задано, используется значение переменной окружения AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY или EC2_ACCESS_KEY.

Псевдонимы: ec2_access_key, access_key
aws_secret_key
строка
AWS секретный ключ. Если не задано, используется значение переменной окружения AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY или EC2_SECRET_KEY.

Псевдонимы: ec2_secret_key, secret_key
debug_botocore_endpoint_logs
логический тип
добавлен в 2.8
    Варианты:
  • нет ←
  • да
Используйте логирование botocore.endpoint для анализа уникальных (а не общих) API-вызовов «ресурс:действие», выполненных во время задачи, выводит набор в ключ resource_actions в результатах задачи. Используйте обратный вызов aws_resource_action для вывода в общий список, составленный во время выполнения playbook. Также может использоваться переменная среды ANSIBLE_DEBUG_BOTOCORE_LOGS.
description
-
добавлен в 2.8
Описание CMK. Используйте описание, которое поможет вам определить, подходит ли CMK для задачи.
ec2_url
строка
URL для подключения к EC2 или вашему облаку Eucalyptus (по умолчанию модуль будет использовать конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех остальных модулей, если регион не используется. Если не задано, используется значение переменной окружения EC2_URL, если таковая имеется.
enabled
логический тип
добавлен в 2.8
    Варианты:
  • нет
  • да ←
Включен или выключен ключ.
grants
-
добавлен в 2.8
Список разрешений для применения к ключу. Каждый элемент должен содержать grantee_principal. Каждый элемент может также содержать retiring_principal, operations, constraints, name.
Допустимые операции: Decrypt, Encrypt, GenerateDataKey, GenerateDataKeyWithoutPlaintext, ReEncryptFrom, ReEncryptTo, CreateGrant, RetireGrant, DescribeKey, Verify и Sign
Constraints — это словарь, содержащий encryption_context_subset или encryption_context_equals, либо оба, являющиеся словарями, определяющими соответствие контексту шифрования. См. https://docs.aws.amazon.com/kms/latest/APIReference/API_GrantConstraints.html
grantee_principal и retiring_principal должны быть ARNs
key_id
-
Идентификатор ключа или ARN ключа. Необходимо указать один из alias или key_id.

Псевдонимы: key_arn
policy
-
добавлен в 2.8
Политика, применяемая к ключу KMS.
См. https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html
policy_clean_invalid_entries
логический тип
    Варианты:
  • нет
  • да ←
(устарело) Если добавляется/удаляется роль и найдены недействительные гранты, удалить их. Эти записи приведут к ошибке обновления во всех известных случаях.
Очищаются только при внесении изменений.
Используется для изменения политики ключа, а не для изменения разрешения, и работает только с политикой по умолчанию, созданной через AWS Console.
Этот параметр устарел и будет удален в версии 2.13. Используйте policy вместо него.

Псевдонимы: clean_invalid_entries
policy_grant_types
-
(устарело) Список разрешений, которые нужно предоставить пользователю/роли. Вероятно, "роль, разрешение роли" или "роль, разрешение роли, администратор". Требуется при policy_mode=grant.
Используется для изменения политики ключа, а не для изменения разрешения, и работает только с политикой по умолчанию, созданной через AWS Console.
Этот параметр устарел и будет удален в версии 2.13. Используйте policy вместо него.

Псевдонимы: grant_types
policy_mode
-
    Варианты:
  • разрешить ←
  • запретить
(устарело) Разрешить или запретить доступ.
Используется для изменения политики ключа, а не для изменения разрешения, и работает только с политикой по умолчанию, созданной через AWS Console.
Этот параметр устарел и будет удален в версии 2.13. Используйте policy вместо него.

Псевдонимы: mode
policy_role_arn
-
(устарело) ARN роли для разрешения/запрещения доступа. Необходимо указать один из policy_role_name или policy_role_arn.
Используется для изменения политики ключа, а не для изменения разрешения, и работает только с политикой по умолчанию, созданной через AWS Console.
Этот параметр устарел и будет удален в версии 2.13. Используйте policy вместо него.

Псевдонимы: role_arn
policy_role_name
-
(устарело) Роль для разрешения/запрещения доступа. Необходимо указать один из policy_role_name или policy_role_arn.
Используется для изменения политики ключа, а не для изменения разрешения, и работает только с политикой по умолчанию, созданной через AWS Console.
Этот параметр устарел и будет удален в версии 2.13. Используйте policy вместо него.

Псевдонимы: role_name
profile
строка
Использует профиль boto. Работает только с boto >= 2.24.0.
purge_grants
логический тип
добавлен в 2.8
    Варианты:
  • нет ←
  • да
Указывает, должны ли разрешения, отсутствующие в списке grants, быть удалены.
purge_tags
логический тип
добавлен в 2.8
    Варианты:
  • нет ←
  • да
Указывает, должны ли метки, отсутствующие в списке tags, быть удалены.
region
строка
AWS регион для использования. Если не указан, используется значение переменной окружения AWS_REGION или EC2_REGION, если таковая имеется. См. http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region

Псевдонимы: aws_region, ec2_region
security_token
строка
AWS STS токен безопасности. Если не задано, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN.

Псевдонимы: access_token
state
-
добавлен в 2.8
    Варианты:
  • present ←
  • absent
Ключ должен быть present или absent. Обратите внимание, что установка существующего ключа в состояние absent только запланирует его удаление. Передача ключа, который запланирован на удаление со state present, отменит удаление ключа.
tags
-
добавлен в 2.8
Словарь меток для применения к ключу.
validate_certs
boolean
    Выбираемые значения:
  • no
  • yes ←
Если установлено значение "no", сертификаты SSL не будут проверяться для версий boto >= 2.6.0.

Примечания

Примечание

  • Если параметры не заданы в модуле, можно использовать следующие переменные среды в порядке убывания приоритета AWS_URL или EC2_URL, AWS_ACCESS_KEY_ID или AWS_ACCESS_KEY или EC2_ACCESS_KEY, AWS_SECRET_ACCESS_KEY или AWS_SECRET_KEY или EC2_SECRET_KEY, AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN, AWS_REGION или EC2_REGION
  • Ansible использует файл конфигурации boto (обычно ~/.boto), если учетные данные не предоставлены. См. https://boto.readthedocs.io/en/latest/boto_config_tut.html
  • AWS_REGION или EC2_REGION обычно используются для указания региона AWS, когда это необходимо, но это также можно настроить в файле конфигурации boto

Примеры

# Managing the KMS IAM Policy via policy_mode and policy_grant_types is fragile
# and has been deprecated in favour of the policy option.
- name: grant user-style access to production secrets
  aws_kms:
  args:
    alias: "alias/my_production_secrets"
    policy_mode: grant
    policy_role_name: "prod-appServerRole-1R5AQG2BSEL6L"
    policy_grant_types: "role,role grant"
- name: remove access to production secrets from role
  aws_kms:
  args:
    alias: "alias/my_production_secrets"
    policy_mode: deny
    policy_role_name: "prod-appServerRole-1R5AQG2BSEL6L"

# Create a new KMS key
- aws_kms:
    alias: mykey
    tags:
      Name: myKey
      Purpose: protect_stuff

# Update previous key with more tags
- aws_kms:
    alias: mykey
    tags:
      Name: myKey
      Purpose: protect_stuff
      Owner: security_team

# Update a known key with grants allowing an instance with the billing-prod IAM profile
# to decrypt data encrypted with the environment: production, application: billing
# encryption context
- aws_kms:
    key_id: abcd1234-abcd-1234-5678-ef1234567890
    grants:
      - name: billing_prod
        grantee_principal: arn:aws:iam::1234567890123:role/billing_prod
        constraints:
          encryption_context_equals:
            environment: production
            application: billing
        operations:
          - Decrypt
          - RetireGrant

Значения возврата

Общие значения возврата документированы здесь, следующие являются полями, уникальными для данного модуля:

Ключ Возвращаемое значение Описание
aliases
список
всегда
список псевдонимов, связанных с ключом

Пример:
['aws/acm', 'aws/ebs']
aws_account_id
строка
всегда
Идентификатор учетной записи AWS, к которой относится ключ

Пример:
1234567890123
changes_needed
словарь
всегда
типы разрешений, которые будут изменены/были изменены.

Пример:
{'role': 'add', 'role grant': 'add'}
creation_date
строка
всегда
Дата создания ключа

Пример:
2017-04-18T15:12:08.551000+10:00
description
строка
всегда
Описание ключа

Пример:
Мой ключ для защиты важных данных
enabled
строка
всегда
Включен ли ключ. True, если KeyState равно true.

grants
сложный
всегда
список разрешений, связанных с ключом

constraints
словарь
всегда
Ограничения для контекста шифрования, разрешенные разрешением. Подробнее см. https://docs.aws.amazon.com/kms/latest/APIReference/API_GrantConstraints.html

Пример:
{'encryption_context_equals': {'aws:lambda:_function_arn': 'arn:aws:lambda:ap-southeast-2:012345678912:function:xyz'}}
creation_date
строка
всегда
Дата создания разрешения

Пример:
2017-04-18T15:12:08+10:00
grant_id
строка
всегда
Уникальный идентификатор разрешения

Пример:
abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234abcd1234
grantee_principal
строка
всегда
Субъект, который получает разрешения разрешения

Пример:
arn:aws:sts::0123456789012:assumed-role/lambda_xyz/xyz
issuing_account
строка
всегда
Учетная запись AWS, под которой было выдано разрешение

Пример:
arn:aws:iam::01234567890:root
key_id
строка
всегда
ARN ключа, к которому применяется разрешение.

Пример:
arn:aws:kms:ap-southeast-2:123456789012:key/abcd1234-abcd-1234-5678-ef1234567890
name
строка
всегда
Наименование разрешения, которое его идентифицирует

Пример:
xyz
operations
список
всегда
Список операций, разрешенных разрешением

Пример:
['Decrypt', 'RetireGrant']
retiring_principal
строка
всегда
Субъект, который может отозвать разрешение

Пример:
arn:aws:sts::0123456789012:assumed-role/lambda_xyz/xyz
had_invalid_entries
логическое
всегда
В записи KMS есть недействительные (не-ARN) записи. Они не считаются изменением, но будут удалены, если какие-либо изменения будут внесены.

key_arn
строка
всегда
ARN ключа

Пример:
arn:aws:kms:ap-southeast-2:123456789012:key/abcd1234-abcd-1234-5678-ef1234567890
key_id
строка
всегда
Идентификатор ключа

Пример:
abcd1234-abcd-1234-5678-ef1234567890
key_state
строка
всегда
Состояние ключа

Пример:
PendingDeletion
key_usage
строка
всегда
Криптографические операции, которые можно выполнить с помощью ключа.

Пример:
ENCRYPT_DECRYPT
origin
строка
всегда
Источник материала ключа. Когда это значение равно AWS_KMS, материал ключа создан AWS KMS. Когда это значение равно EXTERNAL, материал ключа был импортирован или у CMK отсутствует материал ключа.

Пример:
AWS_KMS
policies
список
всегда
список документов политики для ключей. Пустой, когда доступ запрещён, даже если политики существуют.

Пример:
{'Version': '2012-10-17', 'Id': 'auto-ebs-2', 'Statement': [{'Sid': 'Разрешить доступ через EBS для всех принципалов в учетной записи, имеющих право использовать EBS', 'Effect': 'Allow', 'Principal': {'AWS': '*'}, 'Action': ['kms:Encrypt', 'kms:Decrypt', 'kms:ReEncrypt*', 'kms:GenerateDataKey*', 'kms:CreateGrant', 'kms:DescribeKey'], 'Resource': '*', 'Condition': {'StringEquals': {'kms:CallerAccount': '111111111111', 'kms:ViaService': 'ec2.ap-southeast-2.amazonaws.com'}}}, {'Sid': 'Разрешить прямой доступ к метаданным ключа для учетной записи', 'Effect': 'Allow', 'Principal': {'AWS': 'arn:aws:iam::111111111111:root'}, 'Action': ['kms:Describe*', 'kms:Get*', 'kms:List*', 'kms:RevokeGrant'], 'Resource': '*'}]}
tags
словарь
всегда
словарь тегов, примененных к ключу

Пример:
{'Name': 'мойКлюч', 'Purpose': 'защита_данных'}


Статус

  • Данный модуль не гарантирует обратную совместимость интерфейса. [превью]
  • Данный модуль поддерживается сообществом Ansible. [сообщество]

Авторы

  • Ted Timmons (@tedder)
  • Will Thames (@willthames)
  • Mark Chappell (@tremble)

Подсказка

Если вы заметили какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.

© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.9/modules/aws_kms_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API