3

Bluemix で Starter Boilerplate を使用して NodeRed アプリを作成しました。私が気づいたことの 1 つは、フロー エディターが公開されていることです (つまり、匿名アクセスでノードを編集してデプロイできます)。

Bluemix 上のフロー エディターへの匿名アクセスを防ぐにはどうすればよいですか?

4

2 に答える 2

1

エディタを誰でも表示できるようにし、自分だけが変更できるようにしたい場合は、以下を参照してください。

ユーザー名とパスワードの環境変数を追加すると、Bluemix アプリケーションの node-RED エディターにアクセスするたびにログイン画面が表示されます。エディターを誰でも表示できるようにし、自分だけが変更できるようにしたい場合は、bluemix-settings.js ファイルを変更できます。これにより、誰もがアプリケーションを表示できるようになりますが、変更を保存したり、アプリケーションをデプロイしたりすることはできません。デプロイする前に、エディターの右上隅にログインする必要があります。

これを機能させるための秘訣は、パーミッションが設定されている bluemix-settings.js に、「default: { permissions: "read" }」という行を先頭のコンマと共に追加することでした。このファイルにアクセスするには、ダッシュボードで Bluemix アプリケーションのソース コードをダウンロードします。変更したら、cloudfoundries コマンドを使用して、コードの変更をプッシュ バックする必要があります (プッシュを参照)。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" }
    }
}
于 2015-11-18T15:41:29.090 に答える