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

问题描述

我正在遵循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

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

定义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时,系统会要求您选择一个证书。选择您导入的证书(例如admin)。

至此,我看到了:

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

在我看到的示例中,没有提及此问题或解决方法

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

解决方法

您在第行缺少空格

-e INITIAL_ADMIN_IDENTITY="CN=admin,OU=NIFI"

查看错误消息。