Spec-Zone.ru › Ansible 2.8

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

Новое в версии 2.3.

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

Обзор

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

Требования

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

  • python >= 2.6
  • boto

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
alias
-
Псевдоним для ключа. Для безопасности, хотя KMS не требует, чтобы ключи имели псевдоним, этот модуль ожидает, что все новые ключи будут иметь псевдоним, чтобы их было легче управлять. Существующие ключи без псевдонима могут быть указаны по key_id. Используйте aws_kms_facts для поиска идентификаторов ключей. Требуется, если не указан 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
clean_invalid_entries
логическое
    Варианты:
  • нет
  • да ←
Если добавляется/удаляется роль и обнаружены недействительные получатели, они удаляются. Эти записи приведут к неудачному обновлению во всех известных случаях.
Очистка выполняется только при внесении изменений.
debug_botocore_endpoint_logs
логическое
добавлен в 2.8
    Варианты:
  • нет ←
  • да
Используйте регистрирующий элемент botocore.endpoint для анализа уникальных (а не общих) API-вызовов «ресурс:действие» во время выполнения задачи, выводя набор в ключ resource_actions результатов задачи. Используйте обратный вызов aws_resource_action, чтобы вывести в список всех вызовов, выполненных во время исполнения playbooks. Переменная окружения ANSIBLE_DEBUG_BOTOCORE_LOGS также может быть использована.
description
-
добавлен в 2.8
Описание CMK. Используйте описание, которое поможет вам определить, подходит ли CMK для задачи.
ec2_url
строка
URL для подключения к EC2 или вашей облачной платформе Eucalyptus (по умолчанию модуль будет использовать конечные точки EC2). Игнорируется для модулей, где требуется регион. Должен быть указан для всех остальных модулей, если регион не используется. Если не задан, используется значение переменной окружения EC2_URL (если таковая имеется).
enabled
логическое
добавлен в 2.8
    Варианты:
  • нет
  • да ←
Включен ли ключ.
grant_types
-
Список разрешений, которые нужно предоставить пользователю/роли. Вероятно, «роль, разрешение роли» или «роль, разрешение роли, админ». Требуется, когда mode=grant.
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
mode
-
    Варианты:
  • разрешение ←
  • отказ
Разрешить или запретить доступ.
policy
-
добавлен в 2.8
Политика для применения к ключу KMS
См. https://docs.aws.amazon.com/kms/latest/developerguide/key-policies.html
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
role_arn
-
ARN роли, для которой разрешен/запрещен доступ. Требуется один из role_name или role_arn.
role_name
-
Роль, для которой разрешен/запрещен доступ. Требуется один из role_name или role_arn.
security_token
строка
AWS STS security token. Если не задан, используется значение переменной окружения AWS_SECURITY_TOKEN или EC2_SECURITY_TOKEN.

псевдонимы: access_token
state
-
добавлен в 2.8
    Варианты:
  • наличие ←
  • отсутствие
Указывает, должен ли ключ присутствовать или отсутствовать. Обратите внимание, что установка ключа в состояние «отсутствует» только запланирует его удаление. Передача ключа, запланированного на удаление, в состояние «наличие», отменит удаление.
tags
-
добавлен в 2.8
Словарь тегов для применения к ключу.
validate_certs
логическое
    Варианты:
  • нет
  • да ←
При установке в «нет», сертификаты 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

Примеры

- name: grant user-style access to production secrets
  aws_kms:
  args:
    mode: grant
    alias: "alias/my_production_secrets"
    role_name: "prod-appServerRole-1R5AQG2BSEL6L"
    grant_types: "role,role grant"
- name: remove access to production secrets from role
  aws_kms:
  args:
    mode: deny
    alias: "alias/my_production_secrets"
    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': 'Allow access through EBS for all principals in the account that are authorized to use 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': 'Allow direct access to key metadata to the account', 'Effect': 'Allow', 'Principal': {'AWS': 'arn:aws:iam::111111111111:root'}, 'Action': ['kms:Describe*', 'kms:Get*', 'kms:List*', 'kms:RevokeGrant'], 'Resource': '*'}]}
tags
словарь
всегда
словарь тегов, применённых к ключу

Пример:
{'Name': 'myKey', 'Purpose': 'protecting_stuff'}


Статус

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

Авторы

  • Ted Timmons (@tedder)
  • Will Thames (@willthames)

Подсказка

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

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

Spec-Zone.ru

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