Как управлять секретами с помощью AWS Secrets Manager и RDS?

Kak Upravlat Sekretami S Pomos U Aws Secrets Manager I Rds



Реляционная база данных Amazon — это один из сервисов реляционных баз данных, с которыми легче и проще работать и выполнять сложные запросы. Следуя синтаксису SQL-запросов, этот сервис AWS работает быстрее, чем традиционные базы данных, и автоматически масштабирует базу данных в зависимости от требований приложения. Благодаря AWS RDS устраняется необходимость индивидуальной настройки оборудования или настройки программного обеспечения для выполнения запросов.

В этой статье показано, как управлять секретами с помощью AWS Secrets Manager и RDS.

Что такое Секретный менеджер?

Угрозы безопасности и проблемы конфиденциальности также поднимались экспертами и людьми по всему миру. Чтобы защитить ваши цифровые секреты, такие как учетные данные базы данных, API и токены, вам подойдет AWS Secret Manager.







AWS Secret Manager помогает компаниям и организациям защитить свои ресурсы и сервисы от злонамеренных намерений и кибератак с целью перехвата или кражи конфиденциальных данных. Этот сервис добавляет дополнительный уровень безопасности к ресурсам и позволяет легко масштабировать секреты и управлять ими.



Как управлять секретами с помощью AWS Secret Manager и RDS?

Всякий раз, когда пользователь настраивает кластер RDS, ему запрашивается информация о регионе, имени пользователя и пароле кластера, и он идентифицирует его с помощью уникального идентификатора кластера. Интеграция RDS с Secret Manager позволит вам защитить ваши учетные данные RDS и соответствующим образом управлять ими.



Используя диспетчер секретов, вы можете определить жизненный цикл этих секретов и интегрировать их с другими ресурсами. В этой статье мы добавим AWS Secret Manager с функцией Lambda в наш кластер RDS.





Ниже приведены некоторые шаги для этой цели:

Шаг 1. Создайте кластер RDS

Секретный менеджер широко используется для защиты учетных данных базы данных. Итак, первый шаг — создание RDS-кластера. Для этого обратитесь к этой статье: « Как создать кластер RDS на AWS? ». У нас есть кластер RDS, который работает:



Шаг 2. Секретный менеджер AWS

В консоли управления AWS найдите и выберите « Менеджер секретов »:

В интерфейсе Секретного менеджера нажмите кнопку «Храни новый секрет» кнопка:

в Тип секрета , выберите «Учетные данные для базы данных Amazon RDS» вариант, поскольку мы настраиваем его для RDS:

Далее идет Реквизиты для входа раздел. В этом разделе укажите Имя пользователя и Пароль для базы данных RDS, которую мы только что создали:

в Ключ шифрования Пользователь может либо использовать файл по умолчанию, предоставленный AWS Secret Manager, либо создать новый, нажав на значок «Добавить новый ключ» вариант. Аналогично, в База данных раздел, выберите «Экземпляр БД» что вы создали и нажали 'Следующий' кнопка:

Укажите уникальное имя для «Секрет» это поможет нам идентифицировать его позже. Описание не является обязательным. Однако пользователь также может предоставить здесь собственное описание:

Об интерфейсе , Секретный менеджер также предоставляет нам возможность воспроизвести секрет. Для этого выберите регион, в котором вы хотите создать репликацию. В этой демонстрации нам не требуется репликация, поэтому, оставив остальные настройки по умолчанию, коснитесь значка 'Следующий' кнопка:

Сохранив значение по умолчанию, мы теперь просматриваем и редактируем информацию. После подтверждения предоставленной информации нажмите на кнопку 'Магазин' кнопку для создания и сохранения секрета:

Вот секрет в том успешно создано . Нажать на ' Имя секрета », чтобы просмотреть его конфигурации:

Прокрутив интерфейс вниз, мы увидим раздел «Пример кода». В этом разделе код генерируется Секретный менеджер. Скопируйте этот код, так как он будет использоваться в Лямбда-функция:

// Используйте этот фрагмент кода в ваше приложение.
// Если тебе надо более информацию о конфигурациях или реализации примера кода см. в документации AWS:
// https: // docs.aws.amazon.com / SDK для Javascript / v3 / руководство для разработчиков / начало работы.html

Импортировать {
СекретыМенеджерКлиент,
Команда GetSecretValue,
} от '@aws-sdk/client-secrets-manager' ;

const secret_name = 'мойсекрет1/ш' ;

константный клиент = новый SecretsManagerClient ( {
область, край: 'ап-юго-восток-1' ,
} ) ;

позволять ответ;

пытаться {
ответ = ожидайте client.send (
новая команда GetSecretValueCommand ( {
SecretId: secret_name,
Стадия версии: 'АВСКАРРЕНТ' , // По умолчанию VersionStage имеет значение AWSCURRENT. если неопределенные
} )
) ;
} ловить ( ошибка ) {
// Список исключений см.
// https: // docs.aws.amazon.com / менеджер секретов / последний / апиреференция /
API_GetSecretValue.html
ошибка выброса;
}

константный секрет = ответ.SecretString;

// Ваш код находится здесь

Шаг 3. Создайте лямбда-функцию

В интерфейсе лямбда-функции нажмите « Создать функцию ' кнопка:

Нажать на «Автор с нуля» вариант из «Создать функцию» интерфейс:

Далее мы движемся в сторону 'Основная информация' раздел. Укажите имя функции в «Имя функции» поле, а затем укажите «Время выполнения» среда. Здесь мы выбрали «Node.js 16.x» в поле Время выполнения:

Нажать на «Создать функцию» кнопка:

Здесь мы вставили код, сгенерированный Секретный менеджер . После вставки кода нажмите кнопку 'Развертывать' кнопка:

После развертывания всех изменений нажмите кнопку «Конфигурация» вкладка, чтобы предоставить разрешения для Secret Manager:

Нажать на «Разрешения» вариант из «Конфигурации» вкладка. Это отобразит « Роль исполнителя» интерфейс и нажмите на следующую ссылку под «Имя роли» поле:

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

в «Другие политики разрешений» раздел, найдите и выберите «Менеджер секретовЧтениеЗапись» вариант. Ударь «Добавить разрешения» кнопка:

Здесь политика успешно подключена и настроена:

Шаг 4. Подтвердите секретный доступ

Теперь перейдите в интерфейс панели управления Lambda. Нажать на 'Тест' вкладка:

В следующем интерфейсе укажите имя тестового события в поле 'Название события' поле. Нажать на 'Сохранять' кнопка для применения конфигураций:

Здесь тест успешно настроен. Нажать на 'Тест' кнопка:

Здесь мы нажмем на 'Тест' кнопку еще раз, и он отобразит следующий вывод:

Это все из этого руководства.

Заключение

Чтобы управлять секретами в Secret Manager, создайте кластер RDS, присоедините его к Secret Manager, а затем выполните этот код в настроенной функции Lambda. Лямбда-функция определит, можно ли получить доступ к секрету, выполнив в нем код, содержащий спецификацию кластера RDS. Эта статья представляет собой пошаговое руководство по управлению секретами с помощью AWS Secret Manager и RDS.