问题描述
我正在遵循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"
查看错误消息。