Мы использовали CouchDB
в производстве, в основном создавая приложения в контролируемых средах. В большинстве случаев мы используем библиотеку промежуточного программного обеспечения для прямых вызовов couchdb/cloudant
, поэтому избегаем прямых вызовов (Front-End JavaScript вызывает прямые вызовы CouchDB/Cloudant
).
Из соображений безопасности очевидно, что для аутентифицированной базы данных CouchDB: http://{username}:{password}@IPAddress:Port/DB
ИЛИ для cloudant: https://{username}:{password}@username.cloudant.com/DB
, Если вызов выполняется непосредственно из JavaScript, инструменты разработчика в браузерах сегодня позволяют человеку реализовать этот вызов и, следовательно, имеет доступ к вашей базе данных полностью.
Вложения обычно болезненны, когда обрабатываются в промежуточном программном обеспечении. Выгодно, чтобы Cloudant занимался кэшированием и обслуживанием вложений непосредственно во внешнем интерфейсе, тем самым избавляя от этого наше промежуточное ПО. Однако в Интернете и с огромной аудиторией делать прямые звонки в нашу облачную среду сложно.
Мы начали с того, что создали отдельную облачную учетную запись для всех вложений, чтобы inquisitive boy
не вмешивался в фактические метаданные или информацию наших пользователей. Таким образом, единственная облачная учетная запись, к которой они могут иметь доступ, — это учетная запись вложений, поскольку мы делаем прямые вызовы JavaScript к нашей базе данных.
Вопрос. Как нам найти способ скрыть имя пользователя и пароль нашей облачной среды, что позволит нам безопасно выполнять прямые вызовы JavaScript в облачной среде? Наша инфраструктура полностью находится в облаке, поэтому у нас нет прокси и прочего для работы. Мы слышали о сервисах сокращения URL-адресов, CDN и т. д. но мы не придумали действительно убедительного решения.