NiFi:为什么我的用户权限不足?

NiFi: Why Does My User Have Insufficient Permissions?

我正在按照 https://hub.docker.com/r/apache/nifi 的“独立实例,双向 SSL”部分中的步骤进行操作。但是,当我访问 NiFi 页面时,我的用户没有足够的权限。以下是我正在使用的过程:

生成自签名证书

mkdir conf

docker exec \
  -ti toolkit \
  /opt/nifi/nifi-toolkit-current/bin/tls-toolkit.sh \
    standalone \
    -n 'nifi1.bluejay.local' \
    -C 'CN=admin,OU=NIFI'

docker cp toolkit:/opt/nifi/nifi-current/nifi-cert.pem        conf
docker cp toolkit:/opt/nifi/nifi-current/nifi-key.key         conf

docker cp toolkit:/opt/nifi/nifi-current/nifi1.bluejay.local  conf

docker cp toolkit:/opt/nifi/nifi-current/CN=admin_OU=NIFI.p12      conf
docker cp toolkit:/opt/nifi/nifi-current/CN=admin_OU=NIFI.password conf

docker stop toolkit

将客户端证书导入浏览器

.p12 文件导入浏览器。

更新/etc/hosts

将“127.0.0.1 nifi1.bluejay.local”添加到 /etc/hosts 文件的末尾。

定义一个NiFi网络

docker network create --subnet=10.18.0.0/16 nifi

运行 容器中的 NiFi

docker run -d \
  -e AUTH=tls \
  -e KEYSTORE_PATH=/opt/certs/keystore.jks \
  -e KEYSTORE_TYPE=JKS \
  -e KEYSTORE_PASSWORD=$(grep keystorePasswd conf/nifi1.bluejay.local/nifi.properties | cut -d'=' -f2) \
  -e TRUSTSTORE_PATH=/opt/certs/truststore.jks \
  -e TRUSTSTORE_PASSWORD=$(grep truststorePasswd conf/nifi1.bluejay.local/nifi.properties | cut -d'=' -f2) \
  -e TRUSTSTORE_TYPE=JKS \
  -e INITIAL_ADMIN_IDENTITY="CN=admin,OU=NIFI" \
  -e NIFI_WEB_PROXY_CONTEXT_PATH=/nifi \
  -e NIFI_WEB_PROXY_HOST=nifi1.bluejay.local \
  --hostname nifi1.bluejay.local \
  --ip 10.18.0.10 \
  --name nifi \
  --net nifi \
  -p 8443:8443 \
  -v $(pwd)/conf/nifi1.bluejay.local:/opt/certs:ro \
  -v /data/projects/nifi-shared:/opt/nifi/nifi-current/ls-target \
  apache/nifi

访问页面

当您访问 http://localhost:8443/nifi 时,系统会要求您 select 证书。 Select 您导入的证书(例如 admin)。

此时,我看到:

Insufficient Permissions
Unknown user with identity 'CN=admin, OU=NIFI'. Contact the system administrator.

在我看到的例子中,没有提到这个问题或如何解决它。

如何为初始管理员身份分配权限?

您在第

行缺少 space
-e INITIAL_ADMIN_IDENTITY="CN=admin,OU=NIFI"

查看错误消息。