Все, що вам потрібно знати [2023]

Сервіс AWS Secrets Manager забезпечує надійне сховище для всіх ваших ідентифікаційних даних, інформації, паролів та інших конфіденційних відомостей.

Кібератаки стають дедалі поширенішими, їх метою є викрадення приватної інформації та фінансових ресурсів, що завдає значної шкоди організаціям.

Саме тому існує нагальна потреба в ефективних інструментах, таких як Secrets Manager, які здатні забезпечити захист ваших даних.

У цій статті ми розглянемо AWS Secrets Manager та його потенційну користь для вас.

Розпочнімо!

Що таке AWS Secrets Manager?

AWS Secrets Manager – це інструмент, призначений для управління, зміни та отримання секретних даних, таких як паролі, ключі API, облікові дані баз даних та програм, протягом усього їх життєвого циклу.

Під секретом розуміється конфіденційна, цінна інформація про вашу організацію, яка потребує надійного захисту. Це можуть бути облікові дані, як-от пароль та ім’я користувача, токени OAuth, облікові дані AWS, ключі SSK, ключі шифрування, сертифікати та приватні ключі.

Основна мета AWS Secrets Manager – забезпечити управління та захист даних, що використовуються для доступу до ІТ-ресурсів, сервісів, програм та систем. Він зберігає та керує секретами в єдиному централізованому місці, що полегшує доступ авторизованим користувачам без потреби в складному програмному коді.

AWS Secrets Manager дозволяє здійснювати ротацію секретів між різними сервісами AWS, такими як Redshift, RDS та DocumentDB. Це забезпечує постійне оновлення ключів та облікових даних в цих сервісах. Крім того, ви можете оновлювати секрети за запитом або за розкладом, використовуючи вбудовану консоль інструменту, AWS SDK або AWS CLI.

Додатково, AWS Secrets Manager забезпечує покращений контроль даних та надійне шифрування для захисту конфіденційної інформації. Він також дає змогу моніторити та перевіряти вашу захищену інформацію за допомогою різних інтеграцій.

Найбільшими користувачами цього сервісу є великі підприємства та компанії, що спеціалізуються на розробці програмного забезпечення.

AWS Secrets Manager: Ключові можливості

#1. Зберігання та управління секретами

Окрім зберігання, ви також можете легко керувати своїми секретами за допомогою Secrets Manager. Для управління даними на платформі ви можете виконувати різні операції:

  • Створення секрету та бази даних
  • Зміна секрету
  • Пошук секрету
  • Видалення непотрібних секретів
  • Відновлення втрачених або видалених секретів
  • Копіювання секрету в інший регіон AWS
  • Просування скопійованого секрету до окремого секрету в AWS Secrets Manager

Ви можете зберігати свої облікові дані на платформі після створення облікового запису в Amazon Aurora, Amazon RDS, Amazon DocumentDB або Amazon Redshift. Це можна зробити за допомогою консолі Secrets Manager, AWS SDK або AWS CLI.

#2. Посилена безпека

AWS Secrets Manager використовує надійне шифрування для захисту всіх ваших секретів від несанкціонованого доступу. Він шифрує ваші секрети за допомогою ключів AWS Key Management Service (KMS).

Secrets Manager використовує AWS Identity and Access Management (IAM) для надання користувачам безпечного доступу до їхніх секретів, забезпечуючи розширений контроль доступу та аутентифікацію.

  • Аутентифікація використовується для підтвердження особи користувача, що робить запит. Ідентифікація відбувається за допомогою процесу входу, що включає використання багатофакторної аутентифікації (MFA), ключів доступу та паролів.
  • Контроль доступу гарантує, що авторизовані користувачі можуть виконувати тільки певні дії з секретами.

Крім того, Secrets Manager використовує політики, які визначають, які користувачі мають право доступу до ресурсів та які дії можуть виконувати з цими секретами. Це дозволяє використовувати ролі AWS IAM Anywhere та отримувати тимчасові облікові дані для безпеки в IAM для серверів, додатків, контейнерів та інших робочих навантажень, які працюють з AWS.

Ви також можете застосовувати ті ж ролі та політики IAM для робочих навантажень, що створені для додатків AWS, щоб отримувати доступ до ресурсів як в AWS, так і на локальних пристроях.

#3. Ротація секретів

AWS Secrets Manager дозволяє здійснювати ротацію секретів за розкладом або за запитом, не перериваючи та не перерозгортаючи ваші активні програми.

Ротація секретів – це процес періодичного оновлення конфіденційної інформації організації. Під час ротації вам потрібно буде оновити дані або облікові дані як у самому секреті, так і у відповідному сервісі чи базі даних. Сервіс дозволяє автоматизувати ротацію через консоль та AWS CLI, що заощаджує час.

Для оновлення секрету AWS Secrets Manager використовує функцію AWS Lambda, викликаючи її на основі налаштованого розкладу. Вам необхідно буде встановити період ротації, наприклад, 90 або 30 днів, або створити cron-вираз.

Менеджер секретів може позначати версії секрету під час ротації за допомогою проміжних міток та викликати функцію кілька разів, надаючи різні параметри.

Ось як відбувається ротація секрету:

  • Створюється нова версія секрету, що може містити нові ім’я користувача та пароль, а також інші секретні дані.
  • Оновлюються наявні облікові дані у сервісі або базі даних для відповідності нової версії секрету. Стратегія ротації може передбачати створення нового користувача з такими ж правами доступу, як у попереднього.
  • Перевіряється нова версія секрету шляхом надання їй доступу до сервісу або бази даних. Залежно від вимог ваших програм, може бути надано доступ для читання та запису.
  • Виконується ротація шляхом переходу з попередньої версії до нової, зберігаючи стару версію як резервну.

#4. Моніторинг секретів

Оскільки порушення та помилки можуть трапитися будь-коли, важливо відстежувати ваші секрети та вживати необхідних заходів. AWS Secrets Manager дозволяє контролювати дані за допомогою інструментів моніторингу та своєчасно повідомляти про будь-які нетипові події.

Ви можете використовувати журнали для аналізу неочікуваних змін або використання. У випадку виявлення небажаних змін, ви можете відновити попередню версію. Також, ви можете налаштувати автоматичні перевірки для виявлення спроб несанкціонованого видалення або неправильного використання секрету.

Моніторинг секретів забезпечує:

  • Реєстрацію подій за допомогою AWS CloudTrail: CloudTrail реєструє API-виклики з консолі для ротації та видалення секретів. Він показує записи за останні 90 днів. Ви можете налаштувати доставку файлів журналів безпосередньо в сегмент Amazon S3.
  • Моніторинг за допомогою CloudWatch: CloudWatch дозволяє моніторити секрети, збираючи та обробляючи дані в зрозумілі показники в реальному часі. Дані зберігаються протягом 15 місяців для оцінки продуктивності.
  • Зіставлення подій за допомогою EventBridge: EventBridge дозволяє зіставляти події з журналів AWS CloudTrail. Для цього налаштуйте правила, які шукають ці події, та відправляйте їх для виконання дій.
  • Відстеження запланованих секретів на видалення: використовуючи журнали Amazon CloudWatch, службу простих сповіщень (SNS) та CloudTrail, можна налаштувати сповіщення про несанкціоновані спроби видалення секретів.

Отримавши сповіщення, ви маєте час вирішити, чи дійсно потрібно видалити секрет, або зупинити цей процес. Також, ви можете надати доступ до нового секрету іншому користувачу.

#5. Інтеграції

AWS Secrets Manager інтегрується з багатьма іншими інструментами Amazon та AWS, такими як Alexa for Business, AWS App2Container, App Runner, Amazon AppFlow, AWS AppConfig, Amazon Athena, Amazon DocumentDB, AWS DataSync, AWS CodeBuild, Amazon ElasticCache, Amazon EMR, AWS Elemental Live, Amazon QuickSight, Amazon Redshift, AWS Migration Hub, Amazon RDS та інші.

Навіщо використовувати AWS Secrets Manager

Посилена безпека

Secrets Manager підвищує рівень безпеки вашої організації, оскільки виключає потребу в жорстко закодованих облікових даних у вихідному коді програми. Зберігаючи облікові дані в менеджері секретів, ви уникаєте ризиків компрометації з боку осіб, що мають доступ до програми або її компонентів.

Аварійне відновлення

Збій може статися будь-коли, наприклад, через кібератаку, що призведе до втрати важливої інформації, паролів та інших даних. Або ж ви можете втратити свої дані через випадкове видалення.

За допомогою цього інструменту ви можете замінити жорстко закодовані облікові дані викликами AWS Secrets Manager для динамічного отримання необхідних даних у потрібний момент.

Зменшення ризиків

Secrets Manager дозволяє налаштувати розклад ротації, щоб секрети автоматично змінювалися з часом. Це дозволяє замінити довгострокові секрети на короткострокові, зменшуючи ризик порушень безпеки.

Оновлення облікових даних не потребує змін у програмах чи клієнтах, оскільки ваші облікові дані не зберігаються в коді.

Відповідність вимогам

Зважаючи на зростання загроз безпеці та конфіденційності, регуляторні органи, як GDPR та HIPAA, вимагають від організацій дотримуватися стандартів відповідності для гарантування безпечної обробки даних клієнтів та бізнесу. Тому важливо використовувати безпечні програми та сервіси, що відповідають цим нормам.

AWS Secrets Manager дозволяє контролювати ваші секрети, виявляти вразливості та ризики, що загрожують вашим даним, і вживати необхідних заходів. Це захищає бізнес та інформацію про клієнтів, що є важливим для підтримки відповідності. Задокументувавши всі процеси, ви можете краще підготуватися до перевірок.

Крім того, ви можете використовувати AWS Configs для оцінки відповідності ваших секретів внутрішнім політикам та галузевим стандартам. Це дозволяє визначити вимоги відповідності, а також виявити секрети, що їм не відповідають.

Покращений контроль

Ви отримуєте кращий контроль над секретами, системами та даними завдяки детальним політикам та контролю доступу. AWS IAM надає відповідним особам необхідні рівні доступу до ресурсів. Адміністратори можуть створювати та видаляти облікові записи, дозволяти або обмежувати доступ користувачам, додавати або видаляти учасників, залежно від потреб та ситуацій.

AWS Secrets Manager: налаштування та використання

Ось кроки для налаштування та використання AWS Secrets Manager:

  • Створіть обліковий запис AWS, вказавши необхідні дані.
  • Увійдіть у свій обліковий запис AWS.
  • Перейдіть до консолі AWS Secrets Manager.
  • Знайдіть опцію «Зберегти новий секрет» та натисніть на неї для створення та збереження секрету.

Як створити та зберегти новий секрет

Для створення секрету в Secrets Manager потрібен дозвіл керованих політик SecretsManagerReadWrite. Після створення секрету Secret Manager створить запис у журналі CloudTrail.

Виконайте наступні кроки для збереження токенів доступу, ключів API та облікових даних в AWS Secrets Manager:

Джерело: Stack Overflow

  • Відкрийте консоль AWS Secrets Manager.
  • Натисніть «Зберегти новий секрет».
  • Ви побачите сторінку «Виберіть тип секрету». Далі:

    • Виберіть «Інший тип секрету» для типу секрету, який потрібно створити.
    • Ви побачите пари ключ/значення. Введіть секрет у форматі JSON, або виберіть вкладку «Звичайний текст» та введіть секрет у вибраному форматі. Можна зберігати секрети до 65536 байт.
    • Виберіть ключ AWS KMS, який використовується Secret Manager для шифрування. Найчастіше можна використовувати aws/secretsmanager для керованого ключа, що не потребує додаткових витрат.
    • Для доступу до секрету з іншого облікового запису AWS або для використання свого ключа KMS, щоб увімкнути ротацію чи застосувати політику, виберіть «Додати новий ключ» або виберіть ключ, яким керує клієнт. Ключ, керований клієнтом, є платним.
    • Виберіть «Далі».

  • На сторінці «Секрет конфігурації»:
    • Введіть ім’я та опис секрету. Ім’я має містити 1-512 символів Unicode.
    • Додайте теги до секрету з розділу «Теги». Можна також включити політику ресурсів, вибравши «Редагувати дозволи».
    • Можна скопіювати секрет в іншу область AWS, вибравши «Реплікувати секрет». Ці дії необов’язкові.
    • Виберіть «Далі».
  • На сторінці «Ротація конфігурації» можна ввімкнути автоматичну ротацію, це є необов’язковим кроком. Виберіть «Далі».
  • Перегляньте деталі секрету на сторінці «Перегляд» і виберіть «Зберегти». Після цього менеджер секретів повернеться до списку секретів. Ви маєте побачити щойно доданий секрет, якщо ні – оновіть сторінку.
  • Крім консолі, ви також можете додати секрет за допомогою AWS SDK і AWS CLI.

    AWS Secrets Manager проти AWS Parameter Store

    AWS Parameter Store – це інструмент керування програмами від AWS Systems Manager (SSM), що дозволяє користувачам створювати параметри типу “ключ-значення” для зберігання конфігурацій програми, облікових даних, ключів продукту та змінних середовища.

    AWS Secrets Manager – це сервіс для створення, зберігання, керування, отримання та ротації облікових даних, ключів, токенів API тощо.

    Обидва сервіси мають схожі інтерфейси для оголошення пар “ключ-значення”, але їх призначення різне:

    AWS Secrets Manager AWS Parameter Store
    Розмір зберігання До 10 КБ секретного розміру До 4096 символів або 4 КБ для запису, до 8 КБ для розширених параметрів
    Обмеження 500 тис. секретів/регіон/акаунт 10 000 стандартних параметрів/регіон/акаунт
    Вартість Платно, 0,40 $/секрет/місяць Безкоштовно для стандартних параметрів, 0,05 $/10 000 API-викликів для розширених параметрів
    Ротація Автоматична ротація для будь-якого секрету в будь-який час, можна налаштувати Потрібно самостійно написати функцію для оновлення облікових даних
    Доступ між обліковими записами Так Ні
    Реплікація між регіонами Так Ні
    Тип облікових даних Для конфіденційних даних, що потребують шифрування, обмежені випадки використання Широкий спектр використання, зберігання різних типів облікових даних, включаючи змінні конфігурації програми, ключі продукту, URL-адреси тощо

    Висновок

    AWS Secrets Manager підходить для малого, середнього та великого бізнесу, що потребує створення та зберігання секретів. Він забезпечує покращений захист, конфіденційність, контроль доступу та інші функції для захисту ваших секретів від несанкціонованого доступу.

    Ви також можете вивчити питання сканування безпеки AWS та моніторингу конфігурації.