- База данных›
- Amazon RDS›
- Функции
Безопасность Amazon RDS
Подробнее о функциях безопасности в Amazon RDS
Amazon RDS – это управляемый сервис реляционных баз данных, который предоставляет на выбор восемь известных движков баз данных: версию Amazon Aurora, совместимую с PostgreSQL, версию Amazon Aurora, совместимую с MySQL, RDS для PostgreSQL, RDS для MySQL, RDS для MariaDB, RDS для SQL Server, RDS для Oracle и RDS для Db2.
Amazon RDS и Amazon Aurora предоставляют набор функций для безопасного хранения данных и доступа к ним. Запустите базу данных в виртуальном частном облаке (VPC) для изоляции на уровне сети. Используйте группы безопасности, чтобы контролировать, какие IP-адреса или инстансы Amazon EC2 могут подключаться к вашим базам данных. Этот встроенный брандмауэр предотвращает любой доступ к базе данных, кроме как с помощью указанных вами правил.
Используйте политики управления идентификацией и доступом AWS (IAM) для назначения разрешений на управление ресурсами Amazon RDS. Используйте функции безопасности движка базы данных, чтобы контролировать, кто может входить в базы данных, точно так же, как если база данных находится в вашей локальной сети. Можно также сопоставить пользователей базы данных с ролями IAM для интегрированного доступа.
Используйте соединения уровня соединенных сокетов (SSL) и протокол безопасности транспортного уровня (TLS) для шифрования передаваемых данных. Зашифруйте хранилище базы данных и резервные копии при хранении с помощью сервиса управления ключами (KMS). Отслеживайте активность баз данных и интегрируйте их с партнерскими приложениями для защиты баз данных с помощью Database Activity Streams.
Шифрование данных в местах хранения
Шифрование данных в местах хранения
Amazon RDS поддерживает шифрование баз данных с помощью ключей, управляемых посредством сервиса управления ключами (KMS). В инстансе БД с шифрованием Amazon RDS все хранимые данные в состоянии покоя зашифрованы, так же как и автоматические резервные копии, реплики чтения и снимки состояния. Для шифрования данных на сервере, который является хостингом для инстанса Amazon RDS, используется стандартный для отрасли алгоритм шифрования AES-256.
Amazon RDS также поддерживает прозрачное шифрование данных (TDE) для SQL Server (SQL Server Enterprise Edition и Standard Edition) и Oracle (опция Oracle Advanced Security в Oracle Enterprise Edition). При использовании TDE сервер баз данных автоматически шифрует данные перед их записью в хранилище и по умолчанию расшифровывает данные при чтении из хранилища.
Шифрование данных в движении
Шифрование данных в движении
Шифруйте связи между приложением и инстансом БД с использованием SSL и TLS. Amazon RDS создает сертификат SSL и устанавливает его на выделенном инстансе БД. Чтобы зашифровать связи для MySQL, необходимо запускать клиента mysql, используя параметр --ssl_ca для ссылки на открытый ключ. Для SQL Server нужно загрузить открытый ключ и импортировать сертификат в операционную систему Windows. RDS для Oracle использует встроенное сетевое шифрование Oracle с инстансом БД. Просто добавьте встроенную опцию сетевого шифрования в группу опций и свяжите эту группу опций с инстансом БД. После того как будет установлено зашифрованное соединение, данные, передаваемые между инстансом БД и вашим приложением, будут шифроваться при передаче. Можно сделать так, чтобы инстанс БД был доступен только для зашифрованных соединений.
Контроль доступа
Контроль доступа
Amazon RDS интегрирован с сервисом управления идентификацией и доступом AWS (IAM) и предоставляет возможность управлять действиями пользователей AWS IAM и групп на конкретных ресурсах для Aurora (например, инстансах БД, снимках состояния БД, группах параметров БД, подписках на события БД, группах настроек БД). Кроме того, сервис позволяет присваивать теги ресурсам и управлять действиями пользователей и групп IAM в отношении ресурсов, отмеченных общим тегом (имеющих одинаковое значение тега). Подробнее об интеграции IAM см. на странице сведений об аутентификации баз данных IAM.
Также можно присваивать теги ресурсам Amazon RDS и управлять действиями пользователей и групп IAM в отношении ресурсов, имеющими тот же тег и связанное значение. Например, можно настроить правила IAM таким образом, чтобы разработчики могли изменять инстансы базы данных в стадии разработки, но только администраторы баз данных могли вносить изменения в рабочие инстансы БД.
При первом создании инстанса БД в Amazon RDS вы создадите аккаунт основного пользователя, который используют только в Amazon RDS для управления доступом к инстансам БД. Основной аккаунт пользователя – это собственная учетная запись пользователя БД, с помощью которой можно входить в инстанс БД со всеми ее привилегиями. Можно указать имя основного пользователя и пароль, которые необходимо связать с каждым инстансом БД, при создании этого инстанса БД. После создания инстанса БД можно будет подключиться к базе данных с помощью учетных данных основного пользователя. Впоследствии можно создать дополнительные аккаунты пользователей, чтобы указать тех, кто может получать доступ к инстансу БД.
Сетевое изолирование и защита баз данных
Сетевое изолирование и защита баз данных
С помощью виртуального частного облака (VPC) можно изолировать инстансы БД в личной виртуальной сети и подключиться к существующей ИТ‑инфраструктуре через соединение VPN, зашифрованное с помощью стандартного для отрасли VPN‑подключения IPSec.
Amazon VPC позволяет изолировать инстансы БД, указав диапазон IP-адресов, который нужно использовать, и подключиться к существующей ИТ-инфраструктуре через соединение VPN, зашифрованное с помощью стандартного в отрасли набора протоколов IPsec. Запуск Amazon RDS в VPC дает возможность создать инстанс БД в частной подсети. Можно также настроить шлюз виртуальной части сети, который расширит корпоративную сеть в облако VPC и обеспечит доступ к инстансу БД Amazon RDS в этом VPC. Подробнее см. в Руководстве пользователя Amazon VPC. К инстансам БД, развернутым в Amazon VPC, можно получить доступ из Интернета или из инстансов Amazon EC2, развернутых за пределами этого VPC, с помощью VPN или хостов‑бастионов, которые можно запускать в публичной подсети пользователя. Чтобы использовать хост‑бастион, необходимо создать публичную подсеть с инстансом EC2, который будет действовать как SSH‑бастион. Для данной публичной подсети должны быть настроены шлюз Интернета и правила маршрутизации, позволяющие перенаправить трафик через хост SSH, который должен затем пересылать запросы далее, на частный IP‑адрес инстанса БД Amazon RDS. Для обеспечения безопасности инстансов БД в Amazon VPC можно использовать группы безопасности БД. Кроме того, можно разрешить или запретить сетевой трафик каждой подсети, входящий и (или) исходящий, с помощью ACL к сети. Весь сетевой трафик, входящий в ваше облако Amazon VPC или исходящий из него по защищенному VPN-подключению IPsec, может проверяться вашей локальной инфраструктурой безопасности, к которой относятся сетевые брандмауэры и системы обнаружения вторжений.
Database Activity Streams
Database Activity Streams
Помимо внешних угроз безопасности, управляемые базы данных должны обеспечивать защиту от внутренних рисков со стороны администраторов баз данных (DBA). Сервис Database Activity Streams, в настоящее время поддерживаемый Amazon Aurora и Amazon RDS для Oracle, обеспечивает поток данных об активности базы данных в реляционной базе данных в реальном времени. Благодаря интеграции со сторонними инструментами мониторинга активности баз данных можно отслеживать и проверять активность базы данных для обеспечения ее безопасности и соответствия нормативным требованиям.
Database Activity Streams защищает базу данных от внутренних угроз, внедряя модель защиты, контролирующую доступ DBA к потоку активности базы данных. Таким образом, сбор, передача, хранение и последующая обработка потока активности базы данных недоступны DBA, которые управляют базой данных.
Поток передается в поток данных Amazon Kinesis, созданный от имени вашей базы данных. В Kinesis Data Firehose поток активности базы данных затем может использоваться Amazon CloudWatch или партнерскими приложениями для управления соответствием требованиям, такими как IBM Security Guardium. Эти партнерские приложения могут использовать информацию о потоке активности базы данных для создания оповещений и аудита всех действий в базе данных Amazon Aurora.
Подробнее об использовании Database Activity Streams для версий Aurora, совместимых с PostgreSQL и MySQL, можно узнать здесь, а для версии Amazon RDS для Oracle – здесь.
Соответствие требованиям
Соответствие требованиям
Amazon RDS стремится предложить клиентам надежную систему обеспечения соответствия требованиям, передовые инструменты и меры безопасности, которые клиенты могут использовать для оценки, соблюдения и подтверждения соответствия применимым законодательным и нормативным требованиям. Клиентам следует ознакомиться с моделью общей ответственности AWS и сопоставить обязанности Amazon RDS и клиентов. Клиенты также могут использовать AWS Artifact для доступа к аудиторским отчетам RDS и оценки контрольных обязанностей.
Для получения подробной информации посетите страницу соответствия требованиям AWS.
Вопросы и ответы
Где я могу узнать о передовых методах обеспечения безопасности в Amazon RDS?
Amazon RDS предоставляет рекомендации по оптимизации на основе анализа конфигурации и метрик использования инстансов базы данных. Рекомендации охватывают такие области, как безопасность, шифрование, IAM и VPC. Рекомендации можно просмотреть и реализовать сразу же, запланировать их выполнение в рамках следующего окна обслуживания или отклонить рекомендации.
Что такое Amazon Virtual Private Cloud (VPC) и как его можно использовать с Amazon RDS?
Amazon VPC позволяет создать среду виртуальной сети в частном изолированном разделе облака AWS, в котором можно полностью контролировать различные аспекты, такие как диапазоны частных IP‑адресов, подсети, таблицы маршрутизации и сетевые шлюзы. Amazon VPC дает возможность определять топологию виртуальной сети и настраивать ее конфигурацию, что очень напоминает работу с традиционной IP‑сетью в собственном центре обработки данных.
VPC может быть полезным, если требуется запустить публичное интернет‑приложение, а используемые серверы должны располагаться в закрытой частной подсети. Например, можно создать публичную подсеть с доступом к Интернету для веб‑серверов и расположить внутренние инстансы БД Amazon RDS в частной подсети без доступа к Интернету. Подробнее об Amazon VPC см. в Руководстве пользователя виртуального частного облака Amazon.
Чем использование Amazon RDS в VPC отличается от его использования с платформой EC2-Classic (не VPC)?
Если аккаунт AWS был создан до 04.12.2013, пользователю может быть доступна среда Amazon Elastic Compute Cloud (EC2)‑Classic для Amazon RDS. Основные функциональные возможности Amazon RDS для EC2‑Classic и EC2‑VPC не отличаются. Amazon RDS управляет резервным копированием, установкой исправлений ПО, автоматическим обнаружением сбоев, репликами чтения и восстановлением независимо от того, развернуты инстансы БД внутри VPC или за его пределами. Подробнее об отличиях между EC2‑Classic и EC2‑VPC см. в документации по EC2.
Что такое группа подсетей БД, и в каком случае ее нужно использовать?
Группа подсетей БД – это набор подсетей, который можно назначить инстансам БД Amazon RDS в VPC. В каждой группе подсетей БД должна быть по меньшей мере одна подсеть для каждой зоны доступности в данном регионе. При создании инстанса БД в VPC необходимо выбрать группу подсетей БД. Amazon RDS в дальнейшем использует эту группу подсетей БД и предпочитаемую зону доступности для выбора подсети и IP‑адреса в этой подсети. Amazon RDS создает и связывает эластичный сетевой интерфейс с инстансом БД с указанным IP-адресом.
Обратите внимание: для подключения к инстансу БД настоятельно рекомендуется использовать имя DNS, поскольку основной IP‑адрес может меняться (например, при обработке отказа).
При развертывании в нескольких зонах доступности назначение подсети для всех зон доступности в регионе позволит Amazon RDS в случае необходимости создать новый резервный инстанс в другой зоне доступности. Вам необходимо сделать это даже при развертывании в одной зоне доступности просто на тот случай, если на каком-то этапе необходимо будет преобразовать развертывание в одной зоне доступности в развертывание в нескольких зонах доступности.
Как создать инстанс БД Amazon RDS в VPC?
Поэтапное руководство по данному процессу см. в разделе Создание инстанса БД в VPC Руководства пользователя Amazon RDS.
Как управлять сетевым доступом к инстансам БД?
Изучите раздел Группы безопасности Руководства пользователя Amazon RDS, чтобы узнать о различных способах управления доступом к инстансам БД.
Как подключиться к инстансу БД Amazon RDS в VPC?
К инстансам БД, развернутым в VPC, можно получить доступ из инстансов EC2, развернутых в том же VPC. Если эти инстансы EC2 были развернуты в публичной подсети с соответствующими эластичными IP-адресами, можно получить доступ к инстансам EC2 через Интернет. К инстансам БД, развернутым в VPC, можно получить доступ из Интернета или из инстансов EC2, развернутых за пределами этого VPC, с помощью VPN или хостов‑бастионов, которые можно запускать в публичной подсети пользователя, или с помощью параметра публичного доступа Publicly Accessible в Amazon RDS.
- Чтобы использовать хост‑бастион, необходимо создать публичную подсеть с инстансом EC2, который будет действовать как SSH‑бастион. Для данной публичной подсети должны быть настроены интернет‑шлюз и правила маршрутизации, позволяющие перенаправить трафик через хост SSH, который должен затем пересылать запросы далее, на частный IP‑адрес инстанса БД Amazon RDS.
- Чтобы использовать подключение к общедоступным сетям, просто создайте инстансы БД, указав значение «yes» для параметра Publicly Accessible. С включенным параметром Publicly Accessible инстансы БД в VPC по умолчанию будут полностью доступны за пределами VPC. Это означает, что вам не нужно будет настраивать VPN или узел-бастион, чтобы разрешить доступ к своим инстансам.
Можно также настроить VPN‑шлюз, который расширит корпоративную сеть в облако VPC и обеспечит доступ к инстансу БД Amazon RDS в этом VPC. Подробнее см. в Руководстве пользователя Amazon VPC.
Мы настоятельно рекомендуем использовать DNS-имя для подключения к инстансу БД, поскольку основной IP-адрес может меняться (например, при перебросе).
Можно ли перенести в VPC существующие инстансы БД, находящиеся за пределами VPC?
Если инстанс БД находится не в VPC, его легко можно переместить туда с помощью Консоли управления AWS. Подробнее см. в Руководстве пользователя Amazon RDS. Можно также сделать снимок инстанса БД за пределами VPC и восстановить его в VPC, указав группу подсети БД, которую необходимо использовать. В качестве альтернативы можно воспользоваться операцией восстановления на момент времени.
Можно ли перенести существующие инстансы БД из VPC за пределы VPC?
В настоящее время миграция инстансов БД из VPC за пределы VPC не поддерживается. В целях обеспечения безопасности снимок состояния инстанса БД, сделанный в VPC, нельзя восстанавливать за пределами VPC. То же самое касается функциональных возможностей восстановления на момент времени.
Какие меры нужно предпринять, чтобы обеспечить доступность инстансов БД в VPC для приложения пользователя?
Пользователь отвечает за изменение таблиц маршрутизации и списков контроля доступа к сети в своем VPC, что обеспечивает доступность его инстансов БД для клиентских инстансов в VPC. При развертывании в нескольких зонах доступности после обработки отказа клиентский инстанс EC2 и инстанс БД Amazon RDS могут оказаться в разных зонах доступности. Необходимо настроить списки контроля доступа к сети, чтобы обеспечить возможность связи между различными зонами доступности.
Можно ли изменить группу подсетей БД для инстанса БД?
Существующую группу подсетей БД можно обновлять для добавления дополнительных подсетей как для существующих, так и для новых зон доступности, добавленных с момента создания инстанса БД. Удаление подсетей из существующей группы подсетей БД может привести к недоступности инстансов, если они работают в определенной зоне доступности, которая была удалена из группы подсетей. Подробнее см. в Руководстве пользователя Amazon RDS.
Что такое аккаунт основного пользователя Amazon RDS и чем он отличается от аккаунта AWS?
Для начала работы с сервисом Amazon RDS необходим аккаунт разработчика AWS. При его отсутствии будет предложено создать его при регистрации в сервисе Amazon RDS. Аккаунт основного пользователя отличается от аккаунта разработчика AWS и используется в Amazon RDS только для управления доступом к инстансам БД. Аккаунт основного пользователя является внутренним аккаунтом пользователя БД, который можно использовать для подключения к инстансу БД.
Можно указать имя основного пользователя и пароль, которые необходимо связать с каждым инстансом БД, при создании этого инстанса БД. После создания инстанса БД можно будет подключиться к базе данных с помощью учетных данных основного пользователя. Впоследствии можно создать дополнительные аккаунты пользователей, чтобы указать тех, кто может получать доступ к вашему инстансу БД.
Какие права предоставляются основному пользователю при работе с инстансом БД?
В MySQL основному пользователю по умолчанию предоставляются следующие права: create, drop, references, event, alter, delete, index, insert, select, update, create temporary tables, lock tables, trigger, create view, show view, alter routine, create routine, execute, trigger, create user, process, show databases, grant option.
В Oracle основному пользователю присваивается роль dba. Основной пользователь наследует большинство прав, связанных с ролью. Список запрещенных прав и соответствующих альтернативных вариантов выполнения задач администрирования, при выполнении которых могут потребоваться эти права, см. в Руководстве пользователя Amazon RDS.
В SQL Server пользователю, который создает базу данных, присваивается роль db_owner. Список запрещенных прав и соответствующих альтернативных вариантов выполнения задач администрирования, при выполнении которых могут потребоваться эти права, см. в Руководстве пользователя Amazon RDS.
Есть ли какие‑то особенности в принципах управления пользователями в Amazon RDS?
Нет, все работает точно так же, как и в случае с реляционной базой данных, которой вы управляете самостоятельно.
Могут ли программы, работающие на серверах в собственном ЦОД пользователя, получать доступ к базам данных Amazon RDS?
Да. Необходимо специально разрешить доступ к базе данных через Интернет путем соответствующей настройки групп безопасности. Можно разрешить доступ только с определенных IP-адресов, диапазонов IP-адресов или подсетей, соответствующих серверам в вашем собственном центре обработки данных.
Можно ли шифровать соединения между приложением
Да. Все движки Amazon RDS поддерживают эту функцию. Amazon RDS генерирует сертификат SSL/TLS для каждого инстанса БД. После того как будет установлено зашифрованное соединение, данные, передаваемые между инстансом БД и вашим приложением, будут шифроваться при передаче. Хотя SSL обеспечивает безопасность, необходимо учитывать, что SSL/TLS‑шифрование является довольно ресурсоемкой операцией, которая приводит к увеличению задержек при соединении с базой данных. Поддержка SSL и TLS в Amazon RDS предназначена для шифрования соединения между приложением и инстансом БД, однако этого недостаточно для аутентификации доступа к самому инстансу БД.
Подробнее о создании зашифрованного соединения с Amazon RDS см. в документации Amazon RDS: Руководство пользователя MySQL, Руководство пользователя MariaDB, Руководство пользователя PostgreSQL или Руководство пользователя Oracle.
Можно ли шифровать данные в базах данных Amazon RDS в местах хранения?
Amazon RDS поддерживает шифрование данных в состоянии покоя для всех ядер БД с использованием ключей, управляемых посредством Сервиса управления ключами AWS (AWS KMS). В инстансе БД с шифрованием Amazon RDS все хранимые данные в состоянии покоя зашифрованы, так же как и автоматические резервные копии, реплики чтения и снимки состояния. Шифрование и дешифрование осуществляется по ходу работы. Подробнее об использовании KMS с Amazon RDS см. в Руководстве пользователя по Amazon RDS.
Можно также включить шифрование на ранее незашифрованном инстансе БД или кластере БД с помощью создания снимка состояния БД и затем копирования этого снимка состояния с указанием ключа шифрования KMS. После этого можно восстановить зашифрованный инстанс БД или кластер БД из зашифрованного снимка состояния.
Amazon RDS для Oracle и SQL Server поддерживает технологии прозрачного шифрования данных (TDE), которые используют эти ядра. Подробнее см. в разделах Руководства пользователя по Amazon RDS, посвященных Oracle и SQL Server.
Можно ли интегрировать базу данных Amazon RDS для Oracle с AWS CloudHSM?
Нет. Инстанс Oracle в Amazon RDS нельзя интегрировать с AWS CloudHSM. Чтобы использовать прозрачное шифрование данных (TDE) в AWS CloudHSM, базу данных Oracle необходимо установить на Amazon EC2.
Как контролировать действия, выполняемые системами и пользователями в отношении определенных ресурсов Amazon RDS?
Вы можете контролировать действия, которые пользователи и группы AWS IAM могут выполнять над ресурсами Amazon RDS. Контроль производится посредством ссылок на ресурсы Amazon RDS в политиках AWS IAM, применяемым к пользователям и группам. К ресурсам Amazon RDS, на которые можно ссылаться в политике IAM AWS, относятся: инстансы БД, снимки состояния БД, реплики чтения, группы безопасности БД, группы настроек БД, группы параметров БД, подписки на события и группы подсетей БД.
Кроме того, можно пометить эти ресурсы с помощью тегов, добавив дополнительные метаданные. С помощью тегов можно разделять ресурсы на категории (например, инстансы БД «Разработка», инстансы БД «Производство» и инстансы БД «Тестирование»), а также создавать политики AWS IAM со списком разрешений, т. е. действий, которые можно выполнять над ресурсами с одинаковыми тегами. Дополнительную информацию см. в разделе Использование тегов для ресурсов Amazon RDS.
Требуется выполнить анализ безопасности или устранить неполадки в существующем развертывании Amazon RDS. Можно ли получить историю всех вызовов API Amazon RDS к моему аккаунту?
Да. AWS CloudTrail – это веб‑сервис, который записывает вызовы API AWS для аккаунта и предоставляет файлы журналов. История вызовов API AWS в CloudTrail делает возможным проведение анализа безопасности, отслеживание изменения ресурсов и аудит соответствия.
Можно ли использовать Amazon RDS с приложениями, для которых необходимо соответствие требованиям HIPAA?
Да, все ядра БД в Amazon RDS соответствуют требованиям HIPAA, поэтому можно заключить с AWS договор делового партнерства (BAA) и использовать их для создания приложений, соответствующих требованиям HIPAA, и хранения информации, связанной со здравоохранением, в том числе закрытой медицинской информации (PHI).
Если договор BAA уже подписан, можно сразу начать использовать эти сервисы в аккаунтах, подпадающих под действие BAA. Если договор BAA с AWS еще не заключен или у вас есть вопросы о приложениях на AWS, соответствующих требованиям HIPAA, свяжитесь
с менеджером по работе с клиентами.