অ্যাপাচি নিফাই (Apache NiFi) একটি শক্তিশালী ডেটা প্রবাহ অটোমেশন প্ল্যাটফর্ম, যা নিরাপত্তা নিশ্চিত করার জন্য ইউজার অথেন্টিকেশন এবং অথোরাইজেশন কনফিগারেশন সাপোর্ট করে। এর মাধ্যমে আপনি ইউজারের প্রবেশাধিকার নিয়ন্ত্রণ এবং নির্দিষ্ট ফাংশনালিটিতে অ্যাক্সেস সীমিত করতে পারেন। এই গাইডে আমরা দেখব কীভাবে NiFi তে ইউজার অথেন্টিকেশন এবং অথোরাইজেশন কনফিগার করা যায়।
NiFi তে ইউজার অথেন্টিকেশন কনফিগার করতে হলে, সাধারণত দুটি পদ্ধতি ব্যবহার করা হয়:
LDAP (Lightweight Directory Access Protocol) একটি সাধারণ অথেন্টিকেশন সিস্টেম, যা ডিরেক্টরি সার্ভারের মাধ্যমে ইউজার অথেন্টিকেশন পরিচালনা করে। NiFi তে LDAP কনফিগারেশন করতে নিম্নলিখিত পদক্ষেপগুলো অনুসরণ করুন:
nifi.properties
ফাইলে LDAP কনফিগারেশন nifi.properties
ফাইলের মধ্যে LDAP সংক্রান্ত সঠিক সেটিংস যোগ করতে হবে।
nifi.security.user.authorizer=org.apache.nifi.authorization.LdapUserGroupProvider
nifi.security.user.ldap.url=ldap://<LDAP-Server-URL>:<Port>
nifi.security.user.ldap.bind DN=<bind-user-dn>
nifi.security.user.ldap.bind.password=<bind-password>
nifi.security.user.ldap.user.dn.pattern=<user-dn-pattern>
nifi.security.user.ldap.group.dn.pattern=<group-dn-pattern>
nifi.security.user.ldap.group.search.base=<group-search-base>
nifi.security.user.ldap.url
: LDAP সার্ভারের URL এবং পোর্ট নম্বর।nifi.security.user.ldap.bind DN
: ইউজারের জন্য বাইন্ড DN (ডিরেক্টরি সার্ভার ইউজার নাম)।nifi.security.user.ldap.bind.password
: বাইন্ড DN এর জন্য পাসওয়ার্ড।nifi.security.user.ldap.user.dn.pattern
: ইউজারের DN প্যাটার্ন (যেমন, uid={0},ou=users,dc=example,dc=com
)।nifi.security.user.ldap.group.dn.pattern
: গ্রুপের DN প্যাটার্ন।nifi.security.user.ldap.group.search.base
: গ্রুপ সার্চের জন্য বেস DN।Kerberos, বিশেষভাবে বড় স্কেল পরিবেশে একাধিক সিস্টেমে নিরাপদ অথেন্টিকেশন নিশ্চিত করার জন্য ব্যবহৃত হয়। NiFi তে Kerberos সন্নিবেশ করতে নিম্নলিখিত কনফিগারেশন ব্যবহার করা হয়:
nifi.properties
ফাইল কনফিগারেশন:
nifi.security.user.authentication.kerberos=true
nifi.security.kerberos.service.principal=<NiFi-Service-Principal>
nifi.security.kerberos.keytab.location=<Path-to-Keytab>
nifi.security.kerberos.service.principal
: NiFi সার্ভিস প্রিন্সিপাল নাম (যেমন, nifi/hostname@REALM.COM
)।nifi.security.kerberos.keytab.location
: Keytab ফাইলের পাথ, যা Kerberos প্রিন্সিপাল ব্যবহার করে অথেন্টিকেশন নিশ্চিত করে।NiFi তে ইউজার অথোরাইজেশন কনফিগার করার জন্য, দুটি প্রধান উপাদান ব্যবহার করা হয়: Authorizers এবং Policies।
NiFi তে ইউজারের জন্য অটোরাইজেশন সিস্টেম কনফিগার করার জন্য authorizers.xml
ফাইলটি ব্যবহার করা হয়। এই ফাইলে ইউজার গ্রুপ এবং রিসোর্স অ্যাক্সেস পলিসি নির্ধারণ করা হয়।
authorizers.xml
ফাইলে কনফিগারেশন: এই ফাইলটি NiFi ইনস্টলেশনের conf
ডিরেক্টরিতে থাকে।
উদাহরণ কনফিগারেশন:
<authorizers>
<userGroupProvider>
<ldapUserGroupProvider>
<url>ldap://<LDAP-Server-URL></url>
<bindDn>uid=admin,ou=users,dc=example,dc=com</bindDn>
<password>password</password>
<userSearchBase>ou=users,dc=example,dc=com</userSearchBase>
<groupSearchBase>ou=groups,dc=example,dc=com</groupSearchBase>
</ldapUserGroupProvider>
</userGroupProvider>
<policyProvider>
<ldapPolicyProvider>
<url>ldap://<LDAP-Server-URL></url>
<bindDn>uid=admin,ou=users,dc=example,dc=com</bindDn>
<password>password</password>
</ldapPolicyProvider>
</policyProvider>
</authorizers>
NiFi তে ব্যবহারকারীদের নির্দিষ্ট ফিচার বা রিসোর্সের উপর অ্যাক্সেস কন্ট্রোল পলিসি কনফিগার করতে হয়। NiFi UI তে পলিসি সেট করার জন্য আপনি সহজেই পলিসি এডিটর ব্যবহার করতে পারেন।
NiFi UI তে গিয়ে আপনাকে অ্যাক্সেস পলিসি নির্ধারণ করতে হবে, যেখানে ইউজার বা গ্রুপ নির্বাচন করে নির্দিষ্ট রিসোর্সে অনুমতি প্রদান করতে পারবেন।
NiFi তে ইউজার অ্যাক্সেস কনফিগারেশন করার জন্য UI তে কিছু স্টেপ অনুসরণ করতে হবে:
অ্যাপাচি নিফাই তে ইউজার অথেন্টিকেশন এবং অথোরাইজেশন কনফিগারেশন নিশ্চিত করে, যাতে আপনি নিরাপদে এবং দক্ষভাবে ডেটা প্রবাহ পরিচালনা করতে পারেন। LDAP, Kerberos, এবং NiFi এর মধ্যে একাধিক ইউজার গ্রুপ এবং পলিসি ব্যবস্থাপনা এর মাধ্যমে আপনি ইউজারদের অ্যাক্সেস নির্ধারণ করতে পারবেন। NiFi UI এর মাধ্যমে সহজেই এই সেটিংস পরিবর্তন এবং কাস্টমাইজ করা যায়, যা আপনাকে নিরাপদ ডেটা প্রবাহ পরিচালনায় সহায়ক হবে।
common.read_more