Есть ли способ в AWS скрыть мой код nodejs, предоставляя моим клиентам доступ к платежной информации, связанной с доступом и хранением? - PullRequest
1 голос
/ 01 ноября 2019

Я нахожусь в ситуации, когда мне нужно выполнить некоторые расчеты на основе данных, предоставленных клиентом, сохранить результат где-нибудь и сделать результат доступным через API. Для этого я создал приложение NodeJS, которое может хранить данные в базе данных NoSQL.

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

Для этого я рассматриваю AWS. Я могу раскрутить экземпляр EC2, запустить на нем свой код NodeJS и сохранить все данные в RDS, S3 и т. Д. С этого момента у меня есть две возможности:

  1. Я плачу заУчетная запись AWS (т.е. укажите данные моей кредитной карты) и получите счет от клиента;или

  2. Я прошу клиента создать учетную запись AWS, предоставьте мне какой-то доступ, чтобы я мог загрузить свой код в EC2 и т. д.

Для варианта 1 вопрос:

Есть ли в AWS (пользователь IAM и т. Д.) Способ, позволяющий клиенту войти в консоль AWS, просмотреть информацию о выставлении счетов и использовании, но не может войти в EC2 и увидеть исходный код узла

Для варианта 2

Возможно ли, что владелец учетной записи не сможет увидетьисходный код их экземпляра EC2

Пожалуйста, сообщите

Ответы [ 3 ]

0 голосов
/ 01 ноября 2019

В AWS (пользователь IAM и т. Д.) Есть способ, позволяющий клиенту войти в консоль AWS, просмотреть информацию о выставлении счетов и использовании, но не может войти в EC2 и увидеть исходный код узла

Это похоже на предложение AWS на базе AMI для продуктов . Вы можете предложить свой AMI на рынке для своих клиентов. Вашим клиентам потребуется учетная запись AWS для покупки AMI, и с них будет взиматься плата AWS от вашего имени. AWS заплатит вам.

Возможно ли, что владелец учетной записи не увидит исходный код своего экземпляра EC2

IПоверьте, один из способов сделать это - отключить процесс sshd на создаваемом вами AMI. Там могут быть лучшие альтернативы, но я просто положил то, что я мог догадаться.

0 голосов
/ 01 ноября 2019

Трудно полностью защитить что-либо от владельца учетной записи AWS.

Чтобы привести пример, подумайте о мире до облачных вычислений. Если у кого-то есть физический доступ к компьютеру, он может открыть корпус и извлечь жесткий диск . Подключив диск к другому компьютеру, они могли читать содержимое. Но, вы можете сказать, что, если содержимое защищено паролем? Да, это помогло бы, но как приложение получает доступ к содержимому, не зная пароля?

Точно так же и в облаке. Если вы используете экземпляр Amazon EC2, то диск можно скопировать через снимок и подключить к другому компьютеру. Содержимое можно прочитать.

Вы можете быть super-smart и знать, как создать экземпляр EC2 с зашифрованным томом, который может загружать и обслуживать трафик, не давая людям разрешения на вход в систему. Если они подключают диск к другому экземпляру EC2, он должен быть нечитаемым, поскольку загрузочный том зашифрован. (Но тогда как это работает при загрузке?)

Если вы хотите быть полностью уверены в защите своего кода, я бы порекомендовал:

  • Использовать свою учетную запись AWS (поэтому у них нет доступа)
  • Настройка Консолидированный биллинг (поэтому они получают счет, но не имеют доступа к учетной записи)
  • Укажите API , который они могут вызвать (через API Gateway + Lambda или экземпляр Amazon EC2). Вы даже можете получить фантазию и использовать AWS PrivateLink - параметры подключения к виртуальному частному облаку Amazon , которые предоставляют сервис в другой учетной записи AWS без прохождения через Интернет.

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

0 голосов
/ 01 ноября 2019

Да, у Amazon есть учебник по этому вопросу: https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_billing.html

Я бы предложил начать с того, чтобы задавать дополнительные вопросы здесь, и мы можем попытаться помочь вам.

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