Apache NiFi একটি শক্তিশালী এবং নমনীয় ডেটা ফ্লো ম্যানেজমেন্ট টুল যা ডেটা প্রোসেসিং, রাউটিং, এবং ট্রান্সফারের কাজ করে। এটি ডেটা নিরাপত্তা এবং অ্যাক্সেস কন্ট্রোলের জন্য বেশ কিছু কার্যকরী মেকানিজম প্রদান করে। NiFi সিস্টেমে নিরাপত্তা কনফিগারেশন করার মাধ্যমে এটি নিশ্চিত করা যায় যে ডেটা সুরক্ষিত এবং সঠিকভাবে পরিচালিত হচ্ছে।
NiFi নিরাপত্তার জন্য বেশ কিছু ফিচার সমর্থন করে, যেমন Encryption (এনক্রিপশন), Authentication (প্রমাণীকরণ), Authorization (অনুমোদন), Audit Logging (অডিট লগিং) এবং Secure Socket Layer (SSL)। এই সব ফিচার গুলি ব্যবহারকারীর ডেটা সুরক্ষিত রাখার জন্য গুরুত্বপূর্ণ।
NiFi যোগাযোগের জন্য SSL/TLS এনক্রিপশন সমর্থন করে, যা ডেটার নিরাপত্তা নিশ্চিত করে। এতে ডেটা ট্রান্সফারের সময় man-in-the-middle অ্যাটাক থেকে রক্ষা পাওয়া যায়।
SSL কনফিগারেশন: nifi.properties
ফাইলে SSL সম্পর্কিত সেটিংস কনফিগার করা হয়।
nifi.security.keystore=/path/to/keystore.jks
nifi.security.keystoreType=JKS
nifi.security.keystorePasswd=yourpassword
nifi.security.keyPasswd=yourkeypassword
nifi.security.truststore=/path/to/truststore.jks
nifi.security.truststorePasswd=yourtrustpassword
NiFi ব্যবহারকারী এবং ক্লায়েন্টের প্রমাণীকরণ নিশ্চিত করার জন্য LDAP, Kerberos, Single Sign-On (SSO), এবং Apache Knox এর মতো প্রমাণীকরণ সিস্টেম সমর্থন করে।
LDAP কনফিগারেশন উদাহরণ:
nifi.security.user.ldap.url=ldap://localhost:389
nifi.security.user.ldap.userSearchBase=ou=users,dc=example,dc=com
nifi.security.user.ldap.userSearchFilter=(&(uid={0})(objectClass=person))
nifi.security.user.ldap.groupSearchBase=ou=groups,dc=example,dc=com
NiFi এর Authorization ফিচারটি ব্যবহারকারীদের বিভিন্ন কাজ করার অনুমতি দেয় বা সীমাবদ্ধ করে, যেমন ডেটা ফ্লো পরিচালনা, প্রসেসর কনফিগারেশন ইত্যাদি। NiFi Role-Based Access Control (RBAC) এবং Access Control Lists (ACLs) সমর্থন করে।
Administrator
, User
, Read-only
ইত্যাদি।ACL কনফিগারেশন:
nifi.security.user.authorizer=org.apache.nifi.authorization.FileAuthorizer
nifi.security.user.authorizer.configuration.file=/path/to/authorizer.xml
NiFi Audit Logging ফিচার সমর্থন করে, যা সিস্টেমে সমস্ত ক্রিয়া এবং পরিবর্তন লগ করে। এটি নিরাপত্তা এবং সমস্যা শনাক্তকরণের জন্য গুরুত্বপূর্ণ। Audit Logs ডেটা প্রবাহের মধ্যে নিরাপত্তা অডিট করা এবং প্রমাণীকরণ/অনুমোদন প্রক্রিয়া ট্র্যাক করা সম্ভব করে।
INFO
, WARN
, এবং ERROR
লগ লেভেল কনফিগার করা যেতে পারে।NiFi Data Provenance ফিচারটি ডেটার উৎস এবং তার সকল পরিবর্তন ট্র্যাক করতে সহায়ক। এটি নিরাপত্তা নিশ্চিত করতে সাহায্য করে এবং ডেটার ঐতিহাসিক ইতিহাস বিশ্লেষণ করতে পারে।
NiFi এ অ্যাক্সেস কন্ট্রোল নিশ্চিত করার জন্য Authorization এবং Authentication ফিচারের পাশাপাশি Policy Management ব্যবহৃত হয়। এখানে ব্যবহারকারী এবং গ্রুপগুলির উপর নির্দিষ্ট বিধিনিষেধ আরোপ করা যায়, যার মাধ্যমে NiFi এর বিভিন্ন ফিচার এবং ডেটা অ্যাক্সেস নিয়ন্ত্রণ করা হয়।
NiFi RBAC কনফিগারেশন ব্যবহারকারীদের নির্দিষ্ট ভূমিকা (roles) প্রদান করে, যার মাধ্যমে তাদের কার্যকলাপ সীমাবদ্ধ করা হয়। Administrator, User, এবং Reader ইত্যাদি কিছু সাধারণ ভূমিকা।
NiFi ACLs ব্যবহার করে নির্দিষ্ট ব্যবহারকারী বা গ্রুপের জন্য বিভিন্ন ফিচারের অ্যাক্সেস কন্ট্রোল করা হয়। প্রতিটি ফিচারের জন্য ACL নির্ধারণ করা হয়, যেমন processors, controller services, reporting tasks ইত্যাদি।
NiFi UI অ্যাক্সেস কন্ট্রোল কনফিগার করার মাধ্যমে আপনি নির্দিষ্ট ব্যবহারকারী বা গ্রুপের জন্য UI তে কোন কনফিগারেশন পরিবর্তন করা যাবে বা যাবে না তা নিয়ন্ত্রণ করতে পারবেন।
NiFi এর বিভিন্ন নিরাপত্তা এবং অ্যাক্সেস কন্ট্রোল সেটিংস nifi.properties
ফাইলে কনফিগার করা হয়। নিচে কিছু গুরুত্বপূর্ণ সেটিংস দেওয়া হল:
nifi.security.user.authentication=ldap
nifi.security.user.ldap.url=ldap://localhost:389
nifi.security.user.ldap.userSearchBase=ou=users,dc=example,dc=com
nifi.security.user.ldap.userSearchFilter=(&(uid={0})(objectClass=person))
nifi.security.user.ldap.groupSearchBase=ou=groups,dc=example,dc=com
nifi.security.user.ldap.groupSearchFilter=(member={0})
nifi.security.user.ldap.groupSearchReturnAttributes=cn
NiFi এর authorizer.xml ফাইল ব্যবহারকারীদের এবং গ্রুপগুলির অ্যাক্সেস কনফিগার করার জন্য ব্যবহৃত হয়।
<authorizer>
<role name="Administrator">
<group>admin-group</group>
</role>
<role name="User">
<group>user-group</group>
</role>
</authorizer>
NiFi এর Security এবং Access Control ফিচারগুলি ডেটা ফ্লো এবং ব্যবহারকারীদের নিরাপত্তা নিশ্চিত করতে সাহায্য করে। এটি Authentication, Authorization, Audit Logging, এবং SSL Encryption সমর্থন করে, যা নিরাপদ ডেটা ট্রান্সফার এবং প্রক্রিয়াকরণের জন্য অপরিহার্য। Role-Based Access Control (RBAC) এবং Access Control Lists (ACLs) ব্যবহার করে নির্দিষ্ট ব্যবহারকারীদের ডেটা এবং সিস্টেমের উপর নির্দিষ্ট অনুমতি প্রদান করা যায়, যা নিরাপত্তা নিশ্চিত করতে সহায়ক।
অ্যাপাচি নিফাই (Apache NiFi) একটি ডেটা প্রোসেসিং এবং ফ্লো অটোমেশন টুল যা ডেটার নিরাপত্তা বজায় রাখার জন্য বেশ কয়েকটি শক্তিশালী নিরাপত্তা বৈশিষ্ট্য প্রদান করে। এই বৈশিষ্ট্যগুলির মধ্যে অন্যতম হলো SSL (Secure Sockets Layer), TLS (Transport Layer Security), এবং HTTPS (Hypertext Transfer Protocol Secure)। এগুলি নিফাই ইন্সটলেশনের নিরাপত্তা বৃদ্ধি করতে সাহায্য করে এবং ডেটা স্থানান্তর এবং যোগাযোগের সময় নিরাপত্তা নিশ্চিত করে।
এখানে SSL, TLS, এবং HTTPS সম্পর্কিত নিরাপত্তা বৈশিষ্ট্য এবং সেগুলির কনফিগারেশন আলোচনা করা হবে।
SSL এবং TLS হল প্রোটোকল যা নিরাপদ যোগাযোগ নিশ্চিত করতে ব্যবহৃত হয়। SSL হলো একটি পুরোনো প্রোটোকল যা নিরাপদ যোগাযোগের জন্য ডিজাইন করা হয়েছিল, তবে বর্তমানে এটি TLS দ্বারা প্রতিস্থাপিত হয়েছে। TLS হল SSL এর একটি উন্নত সংস্করণ এবং নিরাপদ ডেটা ট্রান্সফারের জন্য অধিক নিরাপত্তা প্রদান করে।
অ্যাপাচি নিফাইতে SSL/TLS ব্যবহার করার মাধ্যমে আপনি সার্ভার এবং ক্লায়েন্টের মধ্যে নিরাপদ এবং এনক্রিপ্টেড সংযোগ স্থাপন করতে পারেন।
নিফাইতে SSL বা TLS কনফিগারেশন করার জন্য নিম্নলিখিত ফাইলগুলি কনফিগার করতে হয়:
nifi.properties ফাইল: এই ফাইলটি SSL/TLS সেটআপের মূল কনফিগারেশন ফাইল। এখানে সার্টিফিকেট পাথ, প্রাইভেট কী পাথ, এবং অন্যান্য নিরাপত্তা সেটিংস নির্ধারণ করা হয়।
উদাহরণ:
nifi.security.keystore=./conf/keystore.p12
nifi.security.keystoreType=PKCS12
nifi.security.keystorePasswd=your_keystore_password
nifi.security.keyPasswd=your_key_password
nifi.security.truststore=./conf/truststore.p12
nifi.security.truststoreType=PKCS12
nifi.security.truststorePasswd=your_truststore_password
HTTPS হল একটি নিরাপদ HTTP প্রোটোকল যা SSL/TLS এনক্রিপশন ব্যবহার করে। এটি ক্লায়েন্ট এবং সার্ভারের মধ্যে ডেটা বিনিময় নিরাপদ করতে সহায়ক। নিফাইতে HTTPS কনফিগারেশন ব্যবহৃত হলে, এর মাধ্যমে আপনি ক্লায়েন্ট এবং সার্ভারের মধ্যে নিরাপদ ও এনক্রিপ্টেড যোগাযোগ স্থাপন করতে পারবেন।
নিফাইতে HTTPS কনফিগার করার জন্য নিম্নলিখিত পদক্ষেপগুলো অনুসরণ করা হয়:
nifi.properties ফাইল কনফিগারেশন: এখানে HTTP সার্ভারের জন্য পোর্ট নম্বর এবং SSL কনফিগারেশন সেট করতে হয়।
উদাহরণ:
nifi.web.http.port=8080
nifi.web.https.port=8443
nifi.security.keystore=./conf/keystore.p12
nifi.security.keystoreType=PKCS12
nifi.security.keystorePasswd=your_keystore_password
Force HTTPS: nifi.web.http.enabled
কনফিগারেশনটি নিষ্ক্রিয় করে আপনি HTTP কনফিগারেশনটি বন্ধ করতে পারেন এবং শুধুমাত্র HTTPS ব্যবহার করতে বাধ্য করতে পারেন।
উদাহরণ:
nifi.web.http.enabled=false
এটি শুধুমাত্র HTTPS সংযোগের অনুমতি দেয় এবং HTTP সংযোগকে অক্ষম করে।
নিফাই ব্যবহারকারীদের নিরাপত্তা নিশ্চিত করতে ব্যবহারকারী প্রমাণীকরণের জন্য LDAP বা Active Directory সার্ভারের সাথে ইন্টিগ্রেট করতে পারে। এটি নিশ্চিত করে যে শুধুমাত্র অনুমোদিত ব্যবহারকারীরা নিফাইয়ের ইন্টারফেস অ্যাক্সেস করতে পারে।
নিফাই কনফিগারেশনে অ্যাক্সেস কন্ট্রোল পলিসি ব্যবহার করা হয় যাতে নির্দিষ্ট ব্যবহারকারী বা গ্রুপের কাছে নির্দিষ্ট প্রোসেসর, ডেটা বা ফিচারের অ্যাক্সেস সীমিত করা যায়। আপনি NiFi Registry ব্যবহার করে আপনার ফ্লো এবং ক্লাস্টারের ওপর নিয়ন্ত্রণ রাখতে পারেন।
ডেটা এনক্রিপশনের মাধ্যমে আপনি ট্রান্সমিশন এবং রেস্টিং ডেটা উভয়কেই সুরক্ষিত করতে পারেন। নিফাই ডেটা এনক্রিপশন এবং ডিক্রিপশন সুবিধা প্রদান করে যাতে ডেটা স্থানান্তরের সময় নিরাপদ থাকে।
অ্যাপাচি নিফাই SSL, TLS, এবং HTTPS এর মাধ্যমে শক্তিশালী নিরাপত্তা বৈশিষ্ট্য সরবরাহ করে, যা ডেটার নিরাপত্তা এবং যোগাযোগের গোপনীয়তা নিশ্চিত করে। SSL/TLS কনফিগারেশন দ্বারা আপনি সার্ভার এবং ক্লায়েন্টের মধ্যে নিরাপদ যোগাযোগ স্থাপন করতে পারেন, এবং HTTPS এর মাধ্যমে আপনি এক্সটার্নাল অ্যাক্সেসের জন্য এনক্রিপ্টেড ট্রান্সমিশন নিশ্চিত করতে পারেন। নিফাইয়ের নিরাপত্তা বৈশিষ্ট্যগুলি ডেটার অখণ্ডতা এবং গোপনীয়তা বজায় রাখতে সহায়ক এবং একটি নিরাপদ ডেটা ফ্লো নিশ্চিত করে।
অ্যাপাচি নিফাই (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 এর মাধ্যমে সহজেই এই সেটিংস পরিবর্তন এবং কাস্টমাইজ করা যায়, যা আপনাকে নিরাপদ ডেটা প্রবাহ পরিচালনায় সহায়ক হবে।
অ্যাপাচি নিফাই (Apache NiFi) একটি শক্তিশালী ডেটা ইন্টিগ্রেশন প্ল্যাটফর্ম যা ডেটা প্রোসেসিং এবং ম্যানেজমেন্টের জন্য ব্যবহৃত হয়। এর নিরাপত্তা ব্যবস্থাপনা আরও শক্তিশালী করতে, নিফাই LDAP (Lightweight Directory Access Protocol) এবং Kerberos ইন্টিগ্রেশন সমর্থন করে। LDAP এবং Kerberos দুটি গুরুত্বপূর্ণ প্রযুক্তি যা ব্যবহারকারীর অথেনটিকেশন এবং অথরাইজেশনের জন্য ব্যবহৃত হয়। নিফাই এই দুটি প্রযুক্তির সঙ্গে ইন্টিগ্রেশন করে নিরাপদ ডেটা ফ্লো পরিচালনা করতে সক্ষম হয়।
এই গাইডে, আমরা LDAP এবং Kerberos এর সঙ্গে নিফাই ইন্টিগ্রেশন করার প্রক্রিয়া আলোচনা করব।
LDAP একটি নেটওয়ার্ক প্রোটোকল যা ব্যবহারকারীদের এবং অন্যান্য সংস্থার তথ্যকে সংগ্রহ ও পরিচালনা করতে ব্যবহৃত হয়। এটি ডিরেক্টরি সার্ভিস যেমন Microsoft Active Directory (AD) এবং OpenLDAP ব্যবহার করে নিরাপদ অথেনটিকেশন এবং অথরাইজেশন সুবিধা প্রদান করে।
নিফাই নিরাপত্তা কনফিগারেশন
প্রথমে, নিফাইয়ের নিরাপত্তা কনফিগারেশন ফাইল (conf/login-identity-providers.xml
) এ LDAP কানেকশন কনফিগার করতে হবে।
<identity-provider>
<identifier>ldap-provider</identifier>
<class>org.apache.nifi.ldap.LdapLoginIdentityProvider</class>
<ldap-url>ldap://<LDAP_SERVER>:<PORT></ldap-url>
<search-base>ou=users,dc=example,dc=com</search-base>
<search-filter>(uid={0})</search-filter>
<user-search-filter>(&(uid={0})(objectClass=person))</user-search-filter>
<group-search-filter>(&(objectClass=groupOfNames)(member={0}))</group-search-filter>
<bind-dn>cn=admin,dc=example,dc=com</bind-dn>
<bind-password>password</bind-password>
</identity-provider>
কনফিগারেশন ব্যাখ্যা:
ldap-url
: LDAP সার্ভারের URL এবং পোর্ট।search-base
: LDAP ডিরেক্টরির বেস DN (Distinguished Name) যেখানে ইউজারদের অনুসন্ধান করা হবে।user-search-filter
: ইউজারদের অনুসন্ধান করার জন্য LDAP ফিল্টার।group-search-filter
: গ্রুপ অনুসন্ধানের জন্য ফিল্টার।bind-dn
এবং bind-password
: LDAP সার্ভারে লগইন করার জন্য ব্যবহৃত অ্যাডমিন ক্রেডেনশিয়াল।নিফাই সার্ভিস রিস্টার্ট করা
কনফিগারেশন সম্পন্ন হলে নিফাই সার্ভিসটি রিস্টার্ট করতে হবে:
./bin/nifi.sh restart
Kerberos একটি নেটওয়ার্ক অথেনটিকেশন প্রোটোকল যা ক্লায়েন্ট এবং সার্ভারের মধ্যে নিরাপদ অথেনটিকেশন এবং যোগাযোগের জন্য ব্যবহৃত হয়। এটি একটি অত্যন্ত নিরাপদ প্রোটোকল, যা টোকেন ব্যবহার করে ব্যবহারকারীদের শনাক্ত করে এবং তাদের জন্য অ্যাক্সেস অনুমোদন প্রদান করে।
Kerberos Client Configuration (krb5.conf)
প্রথমে, আপনাকে নিফাইয়ের সার্ভারের জন্য Kerberos কনফিগারেশন ফাইল (krb5.conf
) কনফিগার করতে হবে, যাতে Kerberos সার্ভারের তথ্য এবং ডোমেইন জানা যায়। এই ফাইলটি সাধারণত /etc/krb5.conf
বা নির্দিষ্ট কনফিগারেশন ডিরেক্টরিতে থাকে।
উদাহরণ:
[libdefaults]
default_realm = EXAMPLE.COM
dns_lookup_realm = false
dns_lookup_kdc = false
[realms]
EXAMPLE.COM = {
kdc = kerberos.example.com
admin_server = kerberos.example.com
}
[domain_realm]
.example.com = EXAMPLE.COM
example.com = EXAMPLE.COM
Kerberos Authentication Configuration in NiFi
নিফাইতে Kerberos ইন্টিগ্রেশন করতে হলে nifi.properties
ফাইলে নিম্নলিখিত কনফিগারেশন করতে হবে:
nifi.security.user.kerberos.realm=EXAMPLE.COM
nifi.security.user.kerberos.keytab=/path/to/kerberos.keytab
nifi.security.user.kerberos.principal=nifi/hostname@EXAMPLE.COM
nifi.security.auth.provider.class=org.apache.nifi.kerberos.KerberosAuthenticationProvider
কনফিগারেশন ব্যাখ্যা:
kerberos.realm
: Kerberos ডোমেইনের নাম।kerberos.keytab
: ব্যবহারকারী বা সার্ভারের জন্য Kerberos কীট্যাব ফাইলের পাথ।kerberos.principal
: নিফাই সার্ভিসের Kerberos প্রিন্সিপাল (উদাহরণস্বরূপ, nifi/hostname@EXAMPLE.COM
)।নিফাই সার্ভিস রিস্টার্ট
কনফিগারেশন সম্পন্ন হলে নিফাই সার্ভিস পুনরায় রিস্টার্ট করতে হবে:
./bin/nifi.sh restart
nifi.properties
কনফিগারেশন ঠিকভাবে সেট করেন, তবে লগইন প্রক্রিয়া Kerberos প্রটোকল ব্যবহার করবে।বৈশিষ্ট্য | LDAP | Kerberos |
---|---|---|
প্রকার | প্রাথমিকভাবে অথেনটিকেশন এবং ডিরেক্টরি সার্ভিস | শক্তিশালী নেটওয়ার্ক অথেনটিকেশন প্রোটোকল |
প্রক্রিয়া | ইউজার এবং গ্রুপ তথ্য সংগ্রহ এবং যাচাই | সিকিউর টোকেনের মাধ্যমে ব্যবহারকারীর প্রমাণীকরণ |
ইন্টিগ্রেশন | ডিরেক্টরি সার্ভিসের সঙ্গে সহজে ইন্টিগ্রেশন | নিরাপদ সেশন প্রতিষ্ঠা এবং টোকেন অথেনটিকেশন |
ব্যবহার | Active Directory, OpenLDAP ইত্যাদি | শক্তিশালী নেটওয়ার্ক নিরাপত্তা, ডিস্ট্রিবিউটেড অ্যাপ্লিকেশন |
অ্যাপাচি নিফাই LDAP এবং Kerberos ইন্টিগ্রেশন সমর্থন করে, যা ইউজার অথেনটিকেশন এবং অথরাইজেশন নিরাপদভাবে পরিচালনা করতে সাহায্য করে। LDAP ব্যবহারকারীদের তথ্য পরিচালনা এবং প্রক্রিয়া করার জন্য একটি ডিরেক্টরি সার্ভিস ব্যবহার করে, যেখানে Kerberos নেটওয়ার্কে নিরাপদ অথেনটিকেশন সরবরাহ করে টোকেন ভিত্তিক প্রমাণীকরণ মাধ্যমে। নিফাই এই দুই প্রযুক্তির ইন্টিগ্রেশনকে সহজ করে, যার মাধ্যমে বড় স্কেল অ্যাপ্লিকেশন এবং ডেটা ফ্লো নিরাপদ এবং স্কেলেবল হতে পারে।
অ্যাপাচি নিফাই (Apache NiFi) একটি শক্তিশালী ডেটা ইন্টিগ্রেশন এবং ফ্লো ম্যানেজমেন্ট প্ল্যাটফর্ম যা নিরাপদ ডেটা ট্রান্সফার এবং এনক্রিপ্টেড কন্টেন্টের মাধ্যমে ডেটার নিরাপত্তা নিশ্চিত করতে সক্ষম। NiFi ডেটা ফ্লো তৈরি এবং পরিচালনার সময় অত্যন্ত গুরুত্বপূর্ণ দুটি বিষয় হলো Secure Data Transfer এবং Encrypted Content, যা ডেটার গোপনীয়তা এবং অখণ্ডতা রক্ষা করে।
NiFi নিরাপদ ডেটা ট্রান্সফারের জন্য বিভিন্ন প্রোটোকল এবং পদ্ধতি সমর্থন করে, যা নিশ্চিত করে যে ডেটা স্থানান্তরিত হওয়ার সময় তা সুরক্ষিত থাকে এবং অনুমোদিত ব্যবহারকারী ছাড়া কেউ সেই ডেটা অ্যাক্সেস করতে না পারে।
NiFi ট্রান্সপোর্ট লেয়ারে TLS/SSL ব্যবহার করে ডেটা এনক্রিপ্ট করে এবং একটি সুরক্ষিত চ্যানেল তৈরি করে, যাতে ডেটা হ্যাকারদের আক্রমণ থেকে সুরক্ষিত থাকে। TLS/SSL সাধারণত HTTP(S), FTP(S), এবং অন্যান্য নেটওয়ার্ক প্রোটোকলগুলির জন্য ব্যবহৃত হয়।
TLS/SSL কনফিগারেশন:
NiFi-এর Site-to-Site প্রোটোকল দ্বারা, এক NiFi সিস্টেম থেকে অন্য NiFi সিস্টেমে ডেটা স্থানান্তর করা যেতে পারে। এটি সম্পূর্ণরূপে এনক্রিপ্টেড এবং নিরাপদ।
S2S কনফিগারেশন:
NiFi এর নিরাপত্তা নিশ্চিত করতে Kerberos, LDAP, এবং RADIUS এর মতো আধুনিক অথেন্টিকেশন এবং অথোরাইজেশন সিস্টেম ব্যবহার করা যায়। এই ফিচারগুলি সিস্টেমের নিরাপত্তা আরও শক্তিশালী করে এবং শুধুমাত্র অনুমোদিত ব্যবহারকারীদের ডেটা অ্যাক্সেসের অনুমতি দেয়।
NiFi এনক্রিপশন ব্যবহার করে ডেটার কনটেন্ট সুরক্ষিত রাখতে পারে, যাতে ডেটা ফ্লো প্রক্রিয়া করা হলে তা তৃতীয় পক্ষ থেকে অ্যাক্সেস করা না যায়। এনক্রিপ্টেড কন্টেন্ট ডেটার গোপনীয়তা এবং অখণ্ডতা নিশ্চিত করে, বিশেষত যখন এটি সেন্সিটিভ ডেটা হিসেবে ব্যবহৃত হয়।
NiFi-এর মাধ্যমে FlowFile কন্টেন্ট এনক্রিপ্ট করা যেতে পারে, যাতে ডেটা প্রক্রিয়াকরণের সময় তা সুরক্ষিত থাকে।
EncryptContent Processor ব্যবহার করে এনক্রিপশন করতে:
NiFi তে ডেটা at rest অবস্থায় নিরাপদ রাখা অত্যন্ত গুরুত্বপূর্ণ। এটির জন্য NiFi ডেটাবেস, FlowFile repository, এবং অন্যান্য স্টোরেজে সংরক্ষিত ডেটা এনক্রিপ্ট করতে পারে।
NiFi Site-to-Site (S2S) প্রোটোকল ব্যবহার করে ডেটা ট্রান্সফার করার সময়, এনক্রিপশনের মাধ্যমে ডেটাকে সুরক্ষিত রাখা যায়। S2S সুরক্ষিত করতে TLS/SSL এবং এনক্রিপশন ব্যবহার করা হয়।
NiFi তে ডেটা নিরাপদভাবে স্টোর করার জন্য Content Repository এবং FlowFile Repository এনক্রিপশন এবং নিরাপত্তা ব্যবহার করা যায়। এই সিস্টেমগুলি নিশ্চিত করে যে ডেটা কোনো সিস্টেমের মাধ্যমে প্রবাহিত হওয়ার সময় তা অনুপ্রবেশকারীদের থেকে সুরক্ষিত থাকে।
অ্যাপাচি নিফাই Secure Data Transfer এবং Encrypted Content সমর্থন করে, যা ডেটার গোপনীয়তা এবং অখণ্ডতা নিশ্চিত করে। NiFi এর TLS/SSL, Site-to-Site, Kerberos, এবং Role-based Access Control (RBAC) এর মাধ্যমে নিরাপদ ডেটা ট্রান্সফার করা হয়, এবং EncryptContent প্রোসেসরের মাধ্যমে ডেটার কনটেন্ট এনক্রিপ্ট করা যায়। এই ফিচারগুলি ডেটা নিরাপত্তা নিশ্চিত করার জন্য গুরুত্বপূর্ণ, বিশেষত যখন সেন্সিটিভ ডেটা বা সংবেদনশীল তথ্য প্রক্রিয়া করা হয়। NiFi ব্যবহারকারীদের সক্ষম করে নিরাপদ ডেটা ইন্টিগ্রেশন, ট্রান্সফার, এবং স্টোরেজ করার জন্য উন্নত নিরাপত্তা সুবিধা প্রদান করতে।
common.read_more