Как мне запретить подрядчику AWS Infrastructure видеть код нашего приложения?

#amazon-web-services #security #amazon-ec2

#amazon-web-services #Безопасность #amazon-ec2

Вопрос:

У нас есть веб-приложение на экземпляре EC2, и мы привлекли подрядчика для настройки нашей среды AWS для нас. Он разработал сценарий Terraform, который я могу запустить для запуска VPC с общедоступными / частными подсетями, балансировщиками нагрузки и т. Д. На данный момент веб-приложение EC2 не содержит кода, который мы хотим защитить (т. Е. Не Был украден / скопирован). Как я могу настроить работу в IAM, чтобы подрядчик мог по-прежнему помогать нам устранять неполадки в нашей среде после ее запуска, но без доступа к коду, который мы поместим в экземпляр EC2?

Комментарии:

1. Попросите своего юриста составить надлежащие контракты. Ограничение разработчиков / подрядчиков часто только вызывает разочарование и снижает эффективность работы.

Ответ №1:

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

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

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

Рассмотрите возможность предоставления подрядчику политики ограниченного производственного IAM, например, Security Auditor, которая предоставляет доступ только для чтения к ключевым ресурсам.

Ответ №2:

Это можно сделать множеством способов, один из которых — не предоставлять физический доступ, а предоставлять только соответствующие сведения с помощью инструментов DevOps.

У вас может быть конвейер ci / cd и агрегирование журналов, которые помогут ему обеспечить поддержку, но все это требует предварительных затрат и настройки такой инфраструктуры.