Использование ключей шифрования как профессионал с AWS Key Management

Ищете способ шифрования и дешифровки ваших данных быстро? Посмотрите на AWS Key Management! Этот сервис предлагает высокий уровень безопасности для ваших данных, позволяя создавать и управлять криптографическими ключами. Вы также можете контролировать, кто имеет доступ к вашим ключам и какие действия они могут с ними совершать.

Этот учебник, безусловно, не охватывает всего, что нужно знать о AWS Key Management. Но он даст вам хорошее представление о основах использования этого мощного инструмента.

Читайте далее, чтобы воспользоваться преимуществами безопасности AWS Key Management!

Предварительные требования

Этот учебник будет практической демонстрацией. Если вы хотите следовать за ним, убедитесь, что у вас есть следующее.

  • Учетная запись AWS с активным биллингом. Вы можете создать учетную запись AWS бесплатно здесь. Бесплатный уровень включает достаточно услуг, чтобы начать работу с этим учебником.
  • У вас есть AWS CLI установлен и настроен на вашем компьютере. Посмотрите этот учебник для получения дополнительной информации.

Создание ключа KMS с помощью консоли AWS.

Продолжайте чтение, если вы предпочитаете консоль AWS (GUI) вместо AWS CLI. В следующем разделе будет показано, как создать ключ KMS с помощью консоли.

Создание пользователя IAM

Для начала вам необходимо создать пользователя IAM, которым вы будете пользоваться для доступа к сервису управления ключами AWS из интерфейса командной строки AWS (CLI).

Пользователи IAM являются отдельными от учетных данных вашей учетной записи корневого пользователя AWS. Использование пользователей IAM является рекомендуемой практикой, поскольку это позволяет управлять доступом к ресурсам вашей учетной записи AWS с точностью до деталей.

Выполните следующие шаги для создания пользователя IAM с доступом по паролю к сервису управления ключами AWS:

1. Войдите в консоль управления AWS от имени корневого пользователя.

2. Введите IAM в строку поиска сервисов и выберите IAM в результатах, чтобы открыть консоль IAM. В этой консоли вы можете управлять пользователями IAM и их разрешениями.

Opening the IAM console

3. Перейдите в Пользователи → Добавить пользователей, чтобы добавить нового пользователя IAM.

Adding a new IAM user

4. Выполните следующие шаги на странице “Добавить пользователя”.

Введите имя для нового пользователя. В данном примере он называется KMSUserConsole.

Выберите параметр “Пароль – доступ к консоли управления AWS” > “Автоматически сгенерированный пароль”. Этот параметр сгенерирует случайный пароль для вашего пользователя.

Убедитесь, что флажок “Пользователь должен создать новый пароль при следующем входе” не установлен. Это позволит вам войти в систему от имени этого пользователя без необходимости сначала сбросить пароль.

Перейдите к следующему: Разрешения, чтобы продолжить.

Adding the IAM user details

5. На странице установки разрешений выберите Присоединить существующие политики напрямую. Выберите AdministratorAccess из списка доступных политик. Эта политика предоставляет пользователю полный доступ к AWS, включая возможность создавать и управлять ключами.

Нажмите Далее: Метки, чтобы продолжить.

Setting permissions

6. На странице Добавить метки (по желанию) вы можете добавить любые соответствующие метки для вашего пользователя. Для этого учебного пособия вы не будете добавлять метки. Нажмите Далее: Проверка, чтобы проверить разрешения и информацию о пользователе.

Viewing the Add tags (optional) page

7. Убедитесь, что выбрана политика AdministratorAccess, и нажмите Создать пользователя, чтобы завершить создание нового пользователя IAM.

AdministratorAccess

8. Создание пользователя IAM завершится через несколько минут, и вы увидите сообщение о успешном завершении.

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

Нажмите на URL рядом с сообщением, чтобы перейти на страницу входа пользователя IAM.

Нажмите Закрыть, чтобы закрыть окно сообщения.

IAM User creation completion

9. На следующей странице введите имя пользователя и пароль, которые вы только что создали, и нажмите Войти, чтобы войти под вашим новым пользователем IAM.

Signing in as the IAM user

Создание ключа KMS с использованием консоли AWS

Теперь, когда вы вошли в консоль управления AWS от имени вашего пользователя IAM, вы готовы создать свой первый ключ KMS.

Следуйте этим шагам, чтобы создать ключ KMS с использованием консоли AWS.

1. Введите KMS в строке поиска служб. Выберите Служба управления ключами в результатах, чтобы открыть консоль KMS.

Opening the KMS console

2. Нажмите на “Управляемые клиентом ключи” в боковой панели слева > Создать ключ для создания нового ключа KMS.

Creating a new key

3. Выполните следующее на следующем экране.

Тип ключа: Выберите Симметричный. Этот тип ключа предназначен для шифрования и расшифровки и наилучшим образом подходит для большинства случаев использования.

Использование ключа: Выберите Шифрование и расшифровка. Это использование ключа позволяет вам использовать ваш ключ для шифрования и расшифровки.

Оставьте все остальные настройки со значениями по умолчанию и нажмите Далее.

Configuring keys

4. Введите псевдоним для вашего ключа. Этот псевдоним поможет вам быстро идентифицировать ваш ключ в консоли KMS. Псевдоним должен быть от 1 до 256 символов в длину и может содержать только буквенно-цифровые символы, дефисы (-) и подчеркивания (_).

Псевдоним не может начинаться с aws/, так как этот префикс зарезервирован для управляемых AWS ключей. Вы получите следующее сообщение об ошибке, если попытаетесь использовать этот префикс.

Getting the aws/ is a restricted prefix error.

Введите описание для вашего ключа. Это поле необязательно, но всегда хорошо включить описание, чтобы вы могли запомнить использование ключа для будущего.

Оставьте все остальные настройки со значениями по умолчанию и нажмите Далее, чтобы продолжить.

Adding an alias

5. Выберите флажок рядом с пользователем, которого вы создали ранее, KMSUserConsole. Этот пользователь будет единственным, у кого будет доступ к использованию этого ключа.

Не отмечайте флажок Разрешить администраторам ключей удалять этот ключ, так как вы не захотите, чтобы кто-то удалил ваш ключ.

Нажмите Далее, чтобы продолжить.

Selecting key admin

Выберите ранее созданного пользователя KMSUserConsole и нажмите “Далее”. Это позволит вашему пользователю использовать ключ для криптографических операций, таких как шифрование и расшифровка данных.

Selecting the IAM users and roles that can access the KMS key in cryptographic operations

7. Наконец, нажмите кнопку “Готово”, чтобы завершить процесс создания ключа.

Completing the key creation process

Ваш новый ключ KMS теперь будет отображаться в разделе управления ключами, доступными для клиентов, в консоли KMS. Вы можете увидеть информацию о вашем ключе, такую как статус, идентификатор ключа, псевдоним и т. д.

Viewing your keys

Управление ключами KMS с помощью консоли AWS

Теперь, когда вы создали ключ KMS, в следующих разделах показано, как управлять ими с помощью консоли AWS.

Редактирование ключа KMS

Вы можете в любое время изменить настройки ключа KMS. Для этого выполните следующие действия:

1. Нажмите на гиперссылку ключа, который вы хотите изменить. Это откроет страницу с подробной информацией о ключе.

Opening the key details page.

2. Нажмите кнопку “Изменить” в правом верхнем углу страницы.

Click on the Edit button.

3. Внесите любые изменения, которые вы хотите внести в ключ, и нажмите “Сохранить”. Обратите внимание, что вы можете изменить только описание ключа.

make to the key and click Save

Отключение и включение ключа KMS

Вы можете отключать и включать ключ KMS в любое время. По умолчанию все ключи включены при создании. Если считаете, что ключ мог быть скомпрометирован, рекомендуется отключить его до дальнейшего расследования.

1. Установите флажок рядом с ключом, который вы хотите отключить, и нажмите “Действия с ключом” → “Отключить”.

Disabling a KMS Key

2. Окно запрашивает подтверждение отключения ключа. Установите флажок рядом с “Подтвердить отключение этого ключа” и нажмите “Отключить”.

Confirming to disable a key

Теперь ключ отключен, и вы увидите сообщение на странице с подробностями ключа. Статус ключа также изменится на “Отключено”, как показано ниже.

Viewing your key is disabled

3. Когда ваше расследование завершится, вы можете снова включить ключ и готовы начать использовать его. Установите флажок рядом с ключом, который вы хотите включить → Действия с ключом → Включить.

Key actions → Enable.

Создание ключа KMS с использованием AWS CLI

Большой любитель использования AWS CLI? Молодец! Вы также можете создать ключ KMS с использованием AWS CLI. Этот раздел научит вас создавать пользователя IAM с программным доступом.

После создания пользователя вы сохраните учетные данные в профиле AWS. Вы будете взаимодействовать с AWS с использованием этого профиля для создания ключа KMS.

Создание пользователя IAM с программным доступом

Вам нужен пользователь IAM с программным доступом для аутентификации с использованием AWS CLI без пароля. Программный доступ использует ключи доступа, комбинацию идентификатора ключа доступа и секретного ключа доступа для выполнения вызовов API.

Следуйте этим шагам для создания пользователя IAM с программным доступом

1. Создайте нового пользователя IAM с именем KMSUserCli в консоли AWS. См. раздел Создание пользователя IAM ранее (шаги с 1 по 4).

2. Когда вы дойдете до выбора типа доступа AWS, выберите “Программный доступ” и нажмите “Далее: Разрешения”.

Selecting Programmatic access

3. Выберите “Присоединить существующие политики напрямую”. Установите флажок рядом с “AdministratorAccess” и нажмите “Далее: Теги”.

Selecting permissions

4. Пропускаем добавление тегов и нажимаем “Далее: Просмотр”.

Skip adding tags

5. Наконец, нажмите “Создать пользователя”, чтобы создать пользователя.

Creating an IAM user

После завершения процесса вы увидите экран, аналогичный приведенному ниже, с идентификатором ключа доступа и секретным ключом доступа вашего нового пользователя. Это ключи, которые вы будете использовать для настройки AWS CLI. Обязательно сохраните эти ключи в безопасном месте, поскольку вы не сможете просмотреть их снова после этой страницы!

Не делитесь этими ключами в публичных конвейерах CI/CD или комментариях на GitHub или других публичных форумах!

Viewing your access keys

Настройка профиля AWS CLI

Теперь, когда вы создали пользователя IAM, вам необходимо настроить профиль AWS на вашем компьютере, чтобы вы могли получить доступ к службе управления ключами AWS, используя учетные данные этого пользователя.

Следуйте этим шагам, чтобы настроить свой профиль AWS:

1. Откройте PowerShell или Командную строку от имени администратора.

2. Запустите следующую команду, чтобы проверить, установлен ли AWS CLI. Если он установлен, вы увидите что-то подобное приведенному на скриншоте ниже.

aws --version
Verify if you have the AWS CLI installed.

3. Теперь выполните следующую команду, чтобы настроить свой новый профиль.

aws configure

4. По запросу введите следующую информацию.

  • Идентификатор ключа доступа AWS: Введите идентификатор ключа доступа для созданного ранее IAM-пользователя.
  • Секретный ключ доступа AWS: Введите секретный ключ доступа для созданного ранее IAM-пользователя.
  • Имя региона по умолчанию: Введите предпочтительный регион. Для этого руководства вы будете использовать us-west-2.
  • Формат вывода по умолчанию: Введите JSON. Вывод в формате JSON легче читать.
Configuring a profile in AWS CLI

Создание ключа KMS с использованием AWS CLI

Теперь, когда у вас есть IAM-пользователь с программным доступом, вы можете начать создание ключа KMS.

Запустите следующую команду для создания нового ключа KMS.

aws km create-key

Вы увидите вывод, аналогичный приведенному ниже. KeyId – это идентификатор вашего нового ключа KMS. Запишите его, так как вам он понадобится позже.

Creating a KMS Key Using The AWS CLI.

Поскольку вы не указываете явно политику ключа, AWS KMS создает для нового ключа политику ключа по умолчанию. Эта политика дает полный контроль ключа корневому пользователю, включая возможность создавать пользователей и роли IAM (AWS Identity and Access Management).

Запустите следующую команду для извлечения политики ключа вашего нового ключа KMS. Замените аргумент --key-id на фактический KeyId вашего нового ключа KMS. Эта команда возвращает текстовый документ, содержащий политику ключа вашего нового ключа KMS.

aws km get-key-policy --key-id you_KeyId_here --policy-name default --output text

Вывод должен выглядеть примерно так:

Retrieving the key policy of your new KMS key.

Управление ключами KMS с использованием AWS CLI

Теперь, когда вы создали ключ KMS, вы можете узнать, как управлять им с помощью AWS CLI. В этом разделе вы узнаете, как перечислить, отключить и включить ключ KMS.

Вы можете отключить и включить ключ KMS в любое время. Отключение ключа KMS полезно, когда вы хотите исследовать возможное злоупотребление или если вам временно нужно прекратить использование ключа по какой-либо другой причине.

1. Запустите следующую команду, чтобы отключить ключ KMS. Замените аргумент –key-id фактическим KeyId вашего ключа KMS. Эта команда не имеет вывода.

aws aws kms disable-key --key-id you_KeyId_here
Disabling a KMS key.

2. Чтобы убедиться, что ключ отключен, выполните следующую команду. В выводе должно присутствовать поле “KeyState”: “Disabled”, как показано.

aws kms describe-key --key-id you_KeyId_here
Verifying that the key is disabled.

3. Чтобы включить ключ, выполните следующую команду. Снова эта команда не имеет вывода.

aws kms enable-key --key-id you_KeyId_here
aws kms describe-key --key-id you_KeyId_here
Enabling the key.

4. Наконец, выполните следующую команду, чтобы перечислить все ключи KMS в вашей учетной записи. Вывод содержит информацию, такую как keyId и KeyArn каждого ключа.

aws kms list-keys
Listing all the KMS keys in your account,

Заключение

В этой статье вы узнали, как создавать и управлять ключами KMS с помощью AWS CLI и консоли AWS. Вы также узнали, как создать пользователя IAM с программным доступом, позволяющим AWS CLI управлять вашими ключами KMS.

Навык управления ключами AWS является важным для всех, кто работает с AWS, особенно если вы ответственны за управление чувствительными данными. Следуя шагам в этой статье, теперь у вас должны быть необходимые навыки для начала использования AWS KMS.

Находясь владением этого нового знания, почему бы вам не создать ресурсы AWS KMS с использованием AWS CloudFormation, чтобы экономить время и усилия?

Source:
https://adamtheautomator.com/aws-key-management/