Поделиться через


Общие сведения о безопасности в приложениях контейнеров Azure

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

Управляемые идентичности

Управляемые удостоверения устраняют необходимость хранения учетных данных в коде или конфигурации, предоставляя автоматически управляемую удостоверение в Microsoft Entra ID. Приложения-контейнеры могут использовать эти удостоверения для проверки подлинности в любой службе, которая поддерживает проверку подлинности Microsoft Entra, например Azure Key Vault, хранилище Azure или Базу данных SQL Azure.

Типы управляемых идентификаций

Azure Container Apps поддерживают два типа managed identities:

  • Назначаемое системой удостоверение: создается и управляется автоматически в соответствии с жизненным циклом приложения контейнера. Идентификатор удаляется при удалении вашего приложения.

  • Назначаемое пользователем удостоверение: создано независимо и может быть назначено нескольким приложениям-контейнерам, что позволяет совместно использовать удостоверения между ресурсами.

Преимущества в области безопасности управляемых идентификаторов

  • Устраняет необходимость управления учетными данными и смены учетных данных в коде приложения
  • Снижает риск разглашения учетных данных в файлах конфигурации
  • Обеспечивает детальное управление доступом с помощью Azure RBAC
  • Поддерживает принцип минимальной привилегии путем предоставления только необходимых разрешений

Когда следует использовать каждый тип удостоверения

  • Используйте самостоятельно назначенные системой идентификаторы для рабочих нагрузок, которые:

    • Содержатся в одном ресурсе
    • Требуются независимые идентичности
  • Используйте назначенные пользователем удостоверения для рабочих нагрузок, которые:

    • Работа с несколькими ресурсами, которые используют одну идентичность.
    • Требуется предварительная авторизация для защиты ресурсов

Управляемое удостоверение для извлечения изображений

Распространенный шаблон безопасности использует управляемые удостоверения для извлечения образов из частных репозиториев в Реестре контейнеров Azure. Такой подход:

  • Избегайте использования учетных данных администратора для реестра
  • Обеспечивает детализированное управление доступом посредством роли ACRPull
  • Поддерживает личности, назначаемые системой и пользователем
  • Можно контролировать, чтобы ограничить доступ к определенным контейнерам

Для получения дополнительной информации см. статьи Управляемые удостоверения и Извлечение образа из реестра контейнеров Azure с управляемыми удостоверениями, где приведены подробности настройки управляемых удостоверений для вашего приложения.

Управление секретами

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

Основные функции безопасности секретов

  • Изоляция секретов: секреты относятся к уровню приложения, изолированному от определенных редакций.
  • Ссылки на переменные окружения: раскрытие секретов контейнерам в виде переменных окружения
  • Подключения томов: подключение секретов в виде файлов в контейнерах
  • Интеграция Key Vault: справочные секреты, хранящиеся в Azure Key Vault

Рекомендации по обеспечению безопасности секретов

  • Избегайте хранения секретов непосредственно в контейнерных приложениях для эксплуатационных сред
  • Использование интеграции Azure Key Vault для централизованного управления секретами
  • Реализация минимальных привилегий при предоставлении доступа к секретам
  • Используйте секретные ссылки в переменных среды вместо значений жесткого кодирования
  • Используйте тома для доступа к секретам в виде файлов, когда это необходимо.
  • Внедрение надлежащих практик по смене секретов

Дополнительные сведения см. в статье "Импорт сертификатов из Azure Key Vault " для получения дополнительных сведений о настройке управления секретами для приложения.

Хранилище токенов для безопасной аутентификации

Функция хранилища маркеров обеспечивает безопасный способ управления маркерами проверки подлинности независимо от кода приложения.

Как работает хранилище маркеров

  • Токены хранятся в Azure Blob Storage отдельно от вашего кода приложения.
  • Кэшированные маркеры доступны только соответствующему пользователю
  • Приложения в контейнерах автоматически обновляют токен
  • Эта функция сокращает область атаки, устраняя пользовательский код управления маркерами.

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

Сетевая безопасность

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

Дополнительные сведения о безопасности сети в приложениях контейнеров Azure см. в следующих статьях: