Есть ли способ запретить анонимный доступ к моему NodeRed Flow Editor в Bluemix?

Я создал приложение NodeRed, используя Starter Boilerplate в Bluemix. Одна вещь, которую я заметил, это то, что мой Flow Editor доступен для всех (т.е. анонимный доступ может редактировать мои узлы и развертывать).

Как я могу предотвратить анонимный доступ к моему Flow Editor в Bluemix?


person John Vincent Jardin    schedule 11.08.2015    source источник


Ответы (2)


Если вы вернетесь на главную страницу вашего экземпляра Node-Red, вы должны увидеть ссылку под надписью «Перейти к редактору потока Node-RED», которая гласит: «Узнайте, как защитить паролем ваш экземпляр" (или просто прокрутите страницу вниз)

Это приведет вас к инструкциям по использованию переменных среды для установки имени пользователя и пароля для редактора потоков.

Защитите редактор потока паролем

По умолчанию редактор открыт для всех, кто может получить доступ и изменить потоки. Чтобы защитить редактор паролем:

  1. На панели инструментов Bluemix выберите страницу «Переменные среды» для вашего приложения.
  2. Add the following user-defined variables:
    • NODE_RED_USERNAME - the username to secure the editor with
    • NODE_RED_PASSWORD - пароль для защиты редактора
  3. Щелкните Сохранить.
person hardillb    schedule 11.08.2015
comment
Привет. А как насчет приборной панели пользовательского интерфейса? - person Tupac; 01.03.2018
comment
@Tupac, который следует задать как новый вопрос - person hardillb; 01.03.2018

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

После того как вы добавите переменные среды имени пользователя и пароля, экран входа в систему будет появляться каждый раз, когда вы заходите в редактор node-RED для своего приложения Bluemix. Если вы хотите, чтобы редактор был доступен для просмотра всем, но только для вас, вы можете изменить файл bluemix-settings.js. Это позволит всем просматривать приложение, но не будет сохранять внесенные изменения или развертывать приложение. Перед развертыванием вам нужно будет войти в систему в правом верхнем углу редактора.

Хитрость, чтобы заставить это работать, заключалась в том, чтобы добавить следующую строку «по умолчанию: {разрешения: «чтение»}» вместе с запятой в начале в файле bluemix-settings.js, где устанавливаются разрешения. Доступ к этому файлу можно получить, загрузив исходный код приложения Bluemix на панели управления. После изменения вам нужно будет использовать команду облачных литейных заводов и отодвинуть изменения кода (cf push ). Любые обновления, которые вы вносите в исходный код приложения Bluemix, не повлияют на редактор node-RED, поскольку они представляют собой совершенно разные сущности и изменяются в разных местах.

Фрагмент кода из bluemix-settings.js:

if (process.env.NODE_RED_USERNAME && process.env.NODE_RED_PASSWORD) {
    settings.adminAuth = {
        type: "credentials",
        users: function(username) {
            if (process.env.NODE_RED_USERNAME == username) {
                return when.resolve({username:username,permissions:"*"});
            } else {
                return when.resolve(null);
            }
        },
        authenticate: function(username, password) {
            if (process.env.NODE_RED_USERNAME == username &&
                process.env.NODE_RED_PASSWORD == password) {
                return when.resolve({username:username,permissions:"*"});
            } else {
                return when.resolve(null);
            }
        },
        default: {  permissions: "read" }
    }
}
person SeanFranklin    schedule 18.11.2015