Skip to content

Commit 29226f2

Browse files
committed
RANGER-4898: docker setup updated to use kerberos authentication
1 parent 0eddc58 commit 29226f2

File tree

78 files changed

+1090
-283
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

78 files changed

+1090
-283
lines changed

dev-support/ranger-docker/.env

Lines changed: 10 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ BUILD_OPTS=
88
# DockerHub Ranger Base Image
99
RANGER_BASE_IMAGE=apache/ranger-base
1010
# Java version used to run Ranger and dependent services is present as suffix: -8, valid values for suffix: -8, -11, -17
11-
RANGER_BASE_VERSION=20250707-1-8
11+
RANGER_BASE_VERSION=20251023-1-8
1212
# Java version used to build Apache Ranger is present as suffix: -8, valid values for suffix: -8, -11, -17
13-
RANGER_BASE_BUILD_VERSION=20250707-1-8
13+
RANGER_BASE_BUILD_VERSION=20251023-1-8
1414
RANGER_VERSION=3.0.0-SNAPSHOT
1515

1616
# Hadoop Configuration
@@ -53,6 +53,14 @@ SOLR_VERSION=8.11.2
5353
# Zookeeper Configuration
5454
ZK_VERSION=3.8.4
5555

56+
# Kerberos
57+
KERBEROS_ENABLED=true
58+
KERBEROS_REALM=EXAMPLE.COM
59+
KERBEROS_KDC_HOST=ranger-kdc.example.com
60+
KERBEROS_MASTER_PASSWORD=rangerR0cks!
61+
KERBEROS_ADMIN_PRINCIPAL=admin/admin
62+
KERBEROS_ADMIN_PASSWORD=rangerR0cks!
63+
5664
# Database Versions
5765
POSTGRES_VERSION=13.16
5866
MARIADB_VERSION=10.6

dev-support/ranger-docker/Dockerfile.ranger

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,9 @@ COPY ./dist/ranger-${RANGER_VERSION}-admin.tar.gz /home/ranger/dist/
2929
COPY ./scripts/ranger.sh ${RANGER_SCRIPTS}/
3030
COPY ./scripts/ranger-admin-install-${RANGER_DB_TYPE}.properties ${RANGER_SCRIPTS}/ranger-admin-install.properties
3131
COPY ./scripts/create-ranger-services.py ${RANGER_SCRIPTS}/
32+
COPY ./scripts/core-site.xml ${RANGER_SCRIPTS}/
33+
COPY ./scripts/create_principal_and_keytab.sh ${RANGER_SCRIPTS}/
34+
COPY ./config/kdc/krb5.conf /etc/krb5.conf
3235

3336
RUN tar xvfz /home/ranger/dist/ranger-${RANGER_VERSION}-admin.tar.gz --directory=${RANGER_HOME} \
3437
&& ln -s ${RANGER_HOME}/ranger-${RANGER_VERSION}-admin ${RANGER_HOME}/admin \
@@ -37,7 +40,7 @@ RUN tar xvfz /home/ranger/dist/ranger-${RANGER_VERSION}-admin.tar.gz --direct
3740
&& mkdir -p /var/run/ranger \
3841
&& mkdir -p /var/log/ranger \
3942
&& chown -R ranger:ranger ${RANGER_HOME}/admin/ ${RANGER_SCRIPTS}/ /var/run/ranger/ /var/log/ranger/ \
40-
&& chmod 755 ${RANGER_SCRIPTS}/ranger.sh \
43+
&& chmod 755 ${RANGER_SCRIPTS}/ranger.sh ${RANGER_SCRIPTS}/create_principal_and_keytab.sh \
4144
&& mkdir -p /usr/share/java/
4245

4346
FROM ranger AS ranger_postgres

dev-support/ranger-docker/Dockerfile.ranger-hadoop

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,14 @@ COPY ./downloads/apache-tez-${TEZ_VERSION}-bin.tar.gz /home/ranger/dist/
3333
COPY ./scripts/ranger-hadoop-setup.sh /home/ranger/scripts/
3434
COPY ./scripts/ranger-hadoop.sh /home/ranger/scripts/
3535
COPY ./scripts/ranger-hadoop-mkdir.sh /home/ranger/scripts/
36+
COPY ./scripts/ranger-hadoop-healthcheck.sh /home/ranger/scripts/
3637
COPY ./scripts/ranger-hdfs-plugin-install.properties /home/ranger/scripts/
3738
COPY ./scripts/ranger-yarn-plugin-install.properties /home/ranger/scripts/
39+
COPY ./scripts/core-site.xml /home/ranger/scripts/
40+
COPY ./scripts/hdfs-site.xml /home/ranger/scripts/
41+
COPY ./scripts/yarn-site.xml /home/ranger/scripts/
42+
COPY ./scripts/create_principal_and_keytab.sh /home/ranger/scripts/
43+
COPY ./config/kdc/krb5.conf /etc/krb5.conf
3844

3945
RUN tar xvfz /home/ranger/dist/hadoop-${HADOOP_VERSION}.tar.gz --directory=/opt/ && \
4046
ln -s /opt/hadoop-${HADOOP_VERSION} /opt/hadoop && \
@@ -51,6 +57,10 @@ RUN tar xvfz /home/ranger/dist/hadoop-${HADOOP_VERSION}.tar.gz --directory=/opt/
5157
rm -f /home/ranger/dist/ranger-${YARN_PLUGIN_VERSION}-yarn-plugin.tar.gz && \
5258
cp -f /home/ranger/scripts/ranger-yarn-plugin-install.properties /opt/ranger/ranger-yarn-plugin/install.properties && \
5359
chmod 744 ${RANGER_SCRIPTS}/ranger-hadoop-setup.sh ${RANGER_SCRIPTS}/ranger-hadoop.sh ${RANGER_SCRIPTS}/ranger-hadoop-mkdir.sh && \
60+
useradd -g hadoop -ms /bin/bash healthcheck && \
61+
chmod 744 ${RANGER_SCRIPTS}/ranger-hadoop-healthcheck.sh && \
62+
chmod 755 ${RANGER_SCRIPTS}/create_principal_and_keytab.sh && \
63+
chown healthcheck:hadoop ${RANGER_SCRIPTS}/ranger-hadoop-healthcheck.sh && \
5464
chown hdfs:hadoop ${RANGER_SCRIPTS}/ranger-hadoop-mkdir.sh
5565

5666
RUN apt-get update && \

dev-support/ranger-docker/Dockerfile.ranger-hbase

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,9 @@ COPY ./scripts/ranger-hbase-setup.sh /home/ranger/scripts/
3030
COPY ./scripts/ranger-hbase.sh /home/ranger/scripts/
3131
COPY ./scripts/ranger-hbase-plugin-install.properties /home/ranger/scripts/
3232
COPY ./scripts/hbase-site.xml /home/ranger/scripts/
33+
COPY ./scripts/core-site.xml /home/ranger/scripts/
34+
COPY ./scripts/create_principal_and_keytab.sh /home/ranger/scripts/
35+
COPY ./config/kdc/krb5.conf /etc/krb5.conf
3336

3437
RUN tar xvfz /home/ranger/dist/hbase-${HBASE_VERSION}-bin.tar.gz --directory=/opt/ && \
3538
ln -s /opt/hbase-${HBASE_VERSION} /opt/hbase && \
@@ -38,6 +41,7 @@ RUN tar xvfz /home/ranger/dist/hbase-${HBASE_VERSION}-bin.tar.gz --directory=/op
3841
ln -s /opt/ranger/ranger-${HBASE_PLUGIN_VERSION}-hbase-plugin /opt/ranger/ranger-hbase-plugin && \
3942
rm -f /home/ranger/dist/ranger-${HBASE_PLUGIN_VERSION}-hbase-plugin.tar.gz && \
4043
cp -f /home/ranger/scripts/ranger-hbase-plugin-install.properties /opt/ranger/ranger-hbase-plugin/install.properties && \
44+
chmod 755 ${RANGER_SCRIPTS}/create_principal_and_keytab.sh && \
4145
chmod 744 ${RANGER_SCRIPTS}/ranger-hbase-setup.sh ${RANGER_SCRIPTS}/ranger-hbase.sh
4246

4347
RUN apt-get update && \

dev-support/ranger-docker/Dockerfile.ranger-hive

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,9 @@ COPY ./scripts/ranger-hive-setup.sh /home/ranger/scripts/
3939
COPY ./scripts/ranger-hive.sh /home/ranger/scripts/
4040
COPY ./scripts/ranger-hive-plugin-install.properties /home/ranger/scripts/
4141
COPY ./scripts/hive-site-${RANGER_DB_TYPE}.xml /home/ranger/scripts/hive-site.xml
42+
COPY ./scripts/core-site.xml /home/ranger/scripts/
43+
COPY ./scripts/create_principal_and_keytab.sh /home/ranger/scripts/
44+
COPY ./config/kdc/krb5.conf /etc/krb5.conf
4245

4346
RUN cd /opt && tar xzf /home/ranger/dist/apache-hive-${HIVE_VERSION}-bin.tar.gz && \
4447
ln -s /opt/apache-hive-${HIVE_VERSION}-bin /opt/hive && \
@@ -56,6 +59,7 @@ RUN cd /opt && tar xzf /home/ranger/dist/apache-hive-${HIVE_VERSION}-bin.tar.gz
5659
ln -s /opt/ranger/ranger-${HIVE_PLUGIN_VERSION}-hive-plugin /opt/ranger/ranger-hive-plugin && \
5760
rm -f /home/ranger/dist/ranger-${HIVE_PLUGIN_VERSION}-hive-plugin.tar.gz && \
5861
cp -f /home/ranger/scripts/ranger-hive-plugin-install.properties /opt/ranger/ranger-hive-plugin/install.properties && \
62+
chmod 755 ${RANGER_SCRIPTS}/create_principal_and_keytab.sh && \
5963
chmod 744 ${RANGER_SCRIPTS}/ranger-hive-setup.sh ${RANGER_SCRIPTS}/ranger-hive.sh
6064

6165
ENV HIVE_HOME=/opt/hive

dev-support/ranger-docker/Dockerfile.ranger-kafka

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,10 @@ COPY ./downloads/kafka_2.12-${KAFKA_VERSION}.tgz /home/ranger/dist
2929
COPY ./scripts/ranger-kafka-setup.sh /home/ranger/scripts/
3030
COPY ./scripts/ranger-kafka.sh /home/ranger/scripts/
3131
COPY ./scripts/ranger-kafka-plugin-install.properties /home/ranger/scripts/
32+
COPY ./scripts/kafka-server-jaas.conf /home/ranger/scripts/
33+
COPY ./scripts/core-site.xml /home/ranger/scripts/
34+
COPY ./scripts/create_principal_and_keytab.sh /home/ranger/scripts/
35+
COPY ./config/kdc/krb5.conf /etc/krb5.conf
3236

3337
RUN tar xvfz /home/ranger/dist/kafka_2.12-${KAFKA_VERSION}.tgz --directory=/opt/ && \
3438
ln -s /opt/kafka_2.12-${KAFKA_VERSION} /opt/kafka && \
@@ -37,9 +41,9 @@ RUN tar xvfz /home/ranger/dist/kafka_2.12-${KAFKA_VERSION}.tgz --directory=/opt/
3741
ln -s /opt/ranger/ranger-${KAFKA_PLUGIN_VERSION}-kafka-plugin /opt/ranger/ranger-kafka-plugin && \
3842
rm -f /home/ranger/dist/ranger-${KAFKA_PLUGIN_VERSION}-kafka-plugin.tar.gz && \
3943
cp -f /home/ranger/scripts/ranger-kafka-plugin-install.properties /opt/ranger/ranger-kafka-plugin/install.properties && \
44+
chmod 755 ${RANGER_SCRIPTS}/create_principal_and_keytab.sh && \
4045
chmod 744 ${RANGER_SCRIPTS}/ranger-kafka-setup.sh ${RANGER_SCRIPTS}/ranger-kafka.sh
4146

42-
4347
ENV KAFKA_HOME=/opt/kafka
4448
ENV PATH=/usr/java/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/kafka/bin
4549

Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
# Licensed to the Apache Software Foundation (ASF) under one
2+
# or more contributor license agreements. See the NOTICE file
3+
# distributed with this work for additional information
4+
# regarding copyright ownership. The ASF licenses this file
5+
# to you under the Apache License, Version 2.0 (the
6+
# "License"); you may not use this file except in compliance
7+
# with the License. You may obtain a copy of the License at
8+
#
9+
# http://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# Unless required by applicable law or agreed to in writing, software
12+
# distributed under the License is distributed on an "AS IS" BASIS,
13+
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14+
# See the License for the specific language governing permissions and
15+
# limitations under the License.
16+
17+
ARG RANGER_BASE_JAVA_VERSION=8
18+
19+
FROM eclipse-temurin:${RANGER_BASE_JAVA_VERSION}-jdk-jammy
20+
21+
ENV DEBIAN_FRONTEND=noninteractive
22+
ENV REALM=EXAMPLE.COM
23+
ENV KDC_HOST=kdc.example.com
24+
ENV ADMIN_PRINCIPAL=admin/admin
25+
ENV ADMIN_PASSWORD=rangerR0cks!
26+
ENV MASTER_PASSWORD=rangerR0cks!
27+
28+
# Install Kerberos components
29+
RUN apt-get update && \
30+
apt-get install -y krb5-kdc krb5-admin-server krb5-user && \
31+
rm -rf /var/lib/apt/lists/*
32+
33+
# Copy configuration files
34+
COPY config/kdc/krb5.conf /etc/krb5.conf
35+
COPY config/kdc/kdc.conf /etc/krb5kdc/kdc.conf
36+
COPY config/kdc/kadm5.acl /etc/krb5kdc/kadm5.acl
37+
COPY config/kdc/entrypoint.sh /entrypoint.sh
38+
RUN chmod +x /entrypoint.sh
39+
40+
EXPOSE 88/tcp 88/udp 749/tcp
41+
42+
ENTRYPOINT ["/entrypoint.sh"]

dev-support/ranger-docker/Dockerfile.ranger-kms

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,9 @@ COPY ./dist/ranger-${KMS_VERSION}-kms.tar.gz /home/ranger/dist
2727

2828
COPY ./scripts/ranger-kms.sh ${RANGER_SCRIPTS}/
2929
COPY ./scripts/ranger-kms-install-${RANGER_DB_TYPE}.properties ${RANGER_SCRIPTS}/ranger-kms-install.properties
30+
COPY ./scripts/core-site.xml ${RANGER_SCRIPTS}/
31+
COPY ./scripts/create_principal_and_keytab.sh ${RANGER_SCRIPTS}/
32+
COPY ./config/kdc/krb5.conf /etc/krb5.conf
3033

3134
RUN tar xvfz /home/ranger/dist/ranger-${KMS_VERSION}-kms.tar.gz --directory=${RANGER_HOME} && \
3235
ln -s ${RANGER_HOME}/ranger-${KMS_VERSION}-kms ${RANGER_HOME}/kms && \
@@ -40,6 +43,7 @@ RUN tar xvfz /home/ranger/dist/ranger-${KMS_VERSION}-kms.tar.gz --directory=${RA
4043
ln -s /etc/init.d/ranger-kms /etc/rc3.d/K90ranger-kms && \
4144
ln -s ${RANGER_HOME}/kms/ranger-kms-services.sh /usr/bin/ranger-kms-services.sh && \
4245
chown -R rangerkms:ranger ${RANGER_HOME}/kms/ ${RANGER_SCRIPTS}/ /var/run/ranger_kms/ /var/log/ranger/ /etc/ranger && \
46+
chmod 755 ${RANGER_SCRIPTS}/create_principal_and_keytab.sh && \
4347
chmod 744 ${RANGER_SCRIPTS}/ranger-kms.sh
4448

4549
FROM ranger-kms AS ranger_postgres

dev-support/ranger-docker/Dockerfile.ranger-knox

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,8 @@ COPY ./scripts/ranger-knox.sh /home/ranger/scripts/
3131
COPY ./scripts/ranger-knox-plugin-install.properties /home/ranger/scripts/
3232
COPY ./scripts/ranger-knox-expect.py /home/ranger/scripts/
3333
COPY ./scripts/ranger-knox-sandbox.xml /home/ranger/scripts/
34+
COPY ./scripts/create_principal_and_keytab.sh /home/ranger/scripts/
35+
COPY ./config/kdc/krb5.conf /etc/krb5.conf
3436

3537
RUN tar xvfz /home/ranger/dist/knox-${KNOX_VERSION}.tar.gz --directory=/opt/ && \
3638
ln -s /opt/knox-${KNOX_VERSION} /opt/knox && \
@@ -40,6 +42,7 @@ RUN tar xvfz /home/ranger/dist/knox-${KNOX_VERSION}.tar.gz --directory=/opt/ &&
4042
rm -f /home/ranger/dist/ranger-${KNOX_PLUGIN_VERSION}-knox-plugin.tar.gz && \
4143
cp -f /home/ranger/scripts/ranger-knox-plugin-install.properties /opt/ranger/ranger-knox-plugin/install.properties && \
4244
cp -f /home/ranger/scripts/ranger-knox-sandbox.xml /opt/knox/conf/topologies/sandbox.xml && \
45+
chmod 755 ${RANGER_SCRIPTS}/create_principal_and_keytab.sh && \
4346
chmod 744 ${RANGER_SCRIPTS}/ranger-knox-setup.sh ${RANGER_SCRIPTS}/ranger-knox.sh ${RANGER_SCRIPTS}/ranger-knox-expect.py
4447

4548
ENV KNOX_HOME=/opt/knox

dev-support/ranger-docker/Dockerfile.ranger-solr

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,8 +19,18 @@ FROM solr:${SOLR_VERSION}
1919

2020
# Copy audit config set
2121
USER 0
22-
RUN mkdir -p /opt/solr/server/solr/configsets/ranger_audits/conf
22+
RUN mkdir -p /opt/solr/server/solr/configsets/ranger_audits/conf /home/ranger/scripts
2323
COPY config/solr-ranger_audits/* /opt/solr/server/solr/configsets/ranger_audits/conf/
24+
COPY config/solr-jaas.conf /opt/solr/server/etc/jaas.conf
25+
COPY config/solr-security.json /var/solr/data/security.json
2426
RUN chown -R solr:solr /opt/solr/server/solr/configsets/ranger_audits/
2527

26-
USER solr
28+
RUN apt update && DEBIAN_FRONTEND="noninteractive" apt-get install -y krb5-user
29+
30+
COPY scripts/ranger-solr.sh /home/ranger/scripts/
31+
COPY scripts/create_principal_and_keytab.sh /home/ranger/scripts/
32+
COPY config/kdc/krb5.conf /etc/krb5.conf
33+
RUN chmod +x /home/ranger/scripts/ranger-solr.sh /home/ranger/scripts/create_principal_and_keytab.sh
34+
35+
ENTRYPOINT [ "/home/ranger/scripts/ranger-solr.sh" ]
36+
CMD ["solr-foreground"]

0 commit comments

Comments
 (0)