

{"id":17175,"date":"2018-05-31T06:47:05","date_gmt":"2018-05-31T06:47:05","guid":{"rendered":"https:\/\/data-flair.training\/blogs\/?p=17175"},"modified":"2018-05-31T06:47:05","modified_gmt":"2018-05-31T06:47:05","slug":"hbase-security","status":"publish","type":"post","link":"https:\/\/data-flair.training\/blogs\/hbase-security\/","title":{"rendered":"HBase Security: Kerberos Authentication &amp; Authorization"},"content":{"rendered":"<p><span style=\"font-weight: 400\">Today, we will learn HBase Security. So, In this article &#8220;HBase Security: Authentication &amp; Authorization&#8221;, we will learn the way we use Kerberos with <strong>Hadoop<\/strong>\u00a0and<strong> HBase<\/strong> to offer User Authentication i.e. HBase Kerberos Authorization. <\/span><\/p>\n<p><span style=\"font-weight: 400\">Also, the implementation of HBase Authorization to grant users permissions for particular actions on a specified set of data. Moreover, we will cover some <strong>HBase Commands<\/strong> for security in HBase. <\/span><\/p>\n<p><span style=\"font-weight: 400\">Along with this, we will discuss HDFS &amp; Zookeeper SASL and also HBase ACL. At last, we will know about HBase Simple Authentication &amp; HBase Client Authentication.<\/span><\/p>\n<p><span style=\"font-weight: 400\">So, let&#8217;s explore the HBase Security tutorial.<\/span><\/p>\n<h2><span style=\"font-weight: 400\">HBase Security: Authentication &amp; Authorization<\/span><\/h2>\n<p><span style=\"font-weight: 400\">Basically, protection of HBase against sniffers, unauthenticated\/unauthorized users and network-based attacks is what we meant by term \u201cHBase Security\u201d. However, it can not protect against authorized users especially those who accidentally delete all the data. <\/span><\/p>\n<p><span style=\"font-weight: 400\">But it is possible to configure HBase, to provide User Authentication. <\/span><\/p>\n<p><span style=\"font-weight: 400\">However, that ensures that only authorized users can communicate with HBase. Moreover, on the basis of HBase Simple Authentication and Security Layer (SASL), the HBase authorization system is implemented at the RPC level, that supports Kerberos. <\/span><\/p>\n<p><span style=\"font-weight: 400\">Further, on a per connection basis, SASL allows authentication, encryption negotiation and\/or message integrity verification.<\/span><\/p>\n<p><span style=\"font-weight: 400\">After enabling User Authentication, the next step is to give an admin the ability to define a series of User Authorization rules which allow or deny particular actions. <\/span><\/p>\n<p><span style=\"font-weight: 400\">Access Controller Coprocessor or Access Control List (ACL), which is the second name of the Authorization system, is available from HBase 0.92 (CDH4) onward. <\/span><\/p>\n<p><span style=\"font-weight: 400\">It provides the ability to define the authorization policy (Read\/Write\/Create\/Admin), with table\/family\/qualifier granularity, for a specified user.<\/span><\/p>\n<h2><span style=\"font-weight: 400\">Kerberos in HBase Security<\/span><\/h2>\n<p><span style=\"font-weight: 400\">A networked authentication protocol is what we call Kerberos. Basically, by using secret-key cryptography, it offers strong authentication for client\/server applications. <\/span><\/p>\n<p><span style=\"font-weight: 400\">To help a client to prove its identity to a server (and vice versa) across an insecure network connection, the HBase Kerberos protocol uses strong cryptography (AES, 3DES, \u2026). <\/span><\/p>\n<p><span style=\"font-weight: 400\">A client and server can also encrypt all of their communications to assure privacy and data integrity as they go about their business if they have used Kerberos to prove their identities.<\/span><\/p>\n<h3>i.\u00a0Ticket exchange protocol<\/h3>\n<p><span style=\"font-weight: 400\">There are 3 steps which must follow to access a service using HBase Kerberos, at a high level:<\/span><\/p>\n<div id=\"attachment_18937\" style=\"width: 1210px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Kerberos-in-HBase-Security-01.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-18937\" class=\"wp-image-18937 size-full\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Kerberos-in-HBase-Security-01.jpg\" alt=\"HBase Security\" width=\"1200\" height=\"628\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Kerberos-in-HBase-Security-01.jpg 1200w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Kerberos-in-HBase-Security-01-150x79.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Kerberos-in-HBase-Security-01-300x157.jpg 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Kerberos-in-HBase-Security-01-768x402.jpg 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Kerberos-in-HBase-Security-01-1024x536.jpg 1024w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/><\/a><p id=\"caption-attachment-18937\" class=\"wp-caption-text\">Kerberos in HBase Security<\/p><\/div>\n<h4><strong>a. Kerberos Authentication<\/strong><\/h4>\n<p><span style=\"font-weight: 400\">At very first, the HBase client authenticates itself to the Kerberos Authentication Server. Afterward, it receives a Ticket Granting Ticket (TGT).<\/span><\/p>\n<h4><strong>b. Kerberos Authorization<\/strong><\/h4>\n<p><span style=\"font-weight: 400\">Then from the Ticket Granting Server, client request a service ticket, so if the client TGT sent with the request is valid, that issues a ticket and a session key.<\/span><\/p>\n<h4><strong>c. Service Request<\/strong><\/h4>\n<p><span style=\"font-weight: 400\">Further, to authenticate client uses the service ticket itself to the server which is providing the service the client is using (e.g. HDFS, HBase, \u2026)<\/span><\/p>\n<h2><span style=\"font-weight: 400\">HBase, HDFS, ZooKeeper SASL<\/span><\/h2>\n<p><span style=\"font-weight: 400\">As we know, secure HBase relies on a secure <strong>HDFS <\/strong>and a secure ZooKeeper, because HBase depends on HDFS and ZooKeeper. That says to communicate with HDFS and ZooKeeper, \u00a0the HBase servers need to create a secure service session.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Further, in HDFS, all the files written by HBase are stored. Moreover, the access control provided by HDFS is based on users, groups, and permissions, as in Unix filesystems. <\/span><\/p>\n<p><span style=\"font-weight: 400\">On each znode, <strong>ZooKeeper<\/strong> has an Access Control List (ACL) which permits read\/write access to the users on the basis of user information in a similar manner to HDFS.<\/span><\/p>\n<h2><span style=\"font-weight: 400\">HBase ACL<\/span><\/h2>\n<p><span style=\"font-weight: 400\">Basically, we are sure that the username that we received is one of our trusted users only if our users are authenticated via Kerberos. <\/span><\/p>\n<p><span style=\"font-weight: 400\">However, there are times when this is not enough granularity like when we want to control that a specified user is able to read or write a table so, HBase offers an Authorization mechanism which allows restricted access for specific users, to do that.<\/span><\/p>\n<p><span style=\"font-weight: 400\">However, we must enable the Access Controller coprocessor, to enable this feature. It is possible by adding it to hbase-site.xml under the master and region server coprocessor classes. On defining a coprocessor, it is a code which runs inside each HBase Region Server and\/or Master. \u00a0<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><strong>Rights management and _acl_ table<\/strong><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">To manage the user rights, the HBase shell has a couple of commands which permits an admin:<\/span><\/p>\n<pre class=\"EnlighterJSRAW\">grant [table] [family] [qualifier]\nrevoke [table] [family] [qualifier]<\/pre>\n<p><span style=\"font-weight: 400\">Also, an admin can restrict user access on the basis of table schema:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><strong>Provide user-W only read rights to Table-X\/Family-Y<\/strong><\/li>\n<\/ul>\n<pre class=\"EnlighterJSRAW\">(grant 'User-W', 'R', 'Table-X', 'Family-Y')<\/pre>\n<ul>\n<li style=\"font-weight: 400\"><strong>And, to user-W, the full read\/write rights to Qualifier-Z<\/strong><\/li>\n<\/ul>\n<pre class=\"EnlighterJSRAW\">(grant 'User-W', 'RW', 'Table-X', 'Family-Y', 'Qualifier-Z')<\/pre>\n<p><span style=\"font-weight: 400\">Furthermore, to operate at the cluster level, an admin can easily grant the global right, for example balancing regions, creating tables, shutting down the cluster and many more:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><strong>In order, to grant user-W the ability to create tables <\/strong><\/li>\n<\/ul>\n<pre class=\"EnlighterJSRAW\">(grant 'User-W', 'C')<\/pre>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\"><strong>And, to give user-W the ability to manage the cluster<\/strong><\/span><\/li>\n<\/ul>\n<pre class=\"EnlighterJSRAW\">(grant 'User-W', 'A')<\/pre>\n<p><span style=\"font-weight: 400\">However, in a table created by the Access Controller coprocessor, called _acl_, all the permissions are stored. The table name that we specify in the grant command, is the primary key of this table.<\/span><\/p>\n<p><span style=\"font-weight: 400\"> Here, the _acl_ table has only one column family. Whereas, for a particular table\/user each qualifier describes the granularity of rights. \u00a0<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><strong>Access Controller under the hood<\/strong><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">To intercept each user request, \u00a0the Access Controller coprocessor uses the ability. Also, it checks, whether the user has the rights to execute the operations or not. To see if the user has the rights to execute the operation, the Access Controller needs to query the _acl_ table, for each operation.<\/span><\/p>\n<p><span style=\"font-weight: 400\">Although, it is possible, that this operation may leave the negative impact on performance. So, to fix this problem, there is one solution we have that is we can use the _acl_ table for persistence and ZooKeeper in order to speed up the rights lookup. <\/span><\/p>\n<h2><span style=\"font-weight: 400\">Commands for HBase Security Purpose<\/span><\/h2>\n<div id=\"attachment_18939\" style=\"width: 1210px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Commands-for-HBase-Security-Purpose-01.jpg\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-18939\" class=\"wp-image-18939 size-full\" src=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Commands-for-HBase-Security-Purpose-01.jpg\" alt=\"HBase Security\" width=\"1200\" height=\"628\" srcset=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Commands-for-HBase-Security-Purpose-01.jpg 1200w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Commands-for-HBase-Security-Purpose-01-150x79.jpg 150w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Commands-for-HBase-Security-Purpose-01-300x157.jpg 300w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Commands-for-HBase-Security-Purpose-01-768x402.jpg 768w, https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/Commands-for-HBase-Security-Purpose-01-1024x536.jpg 1024w\" sizes=\"auto, (max-width: 1200px) 100vw, 1200px\" \/><\/a><p id=\"caption-attachment-18939\" class=\"wp-caption-text\">Commands for HBase Security<\/p><\/div>\n<h3>i.\u00a0grant<\/h3>\n<p><span style=\"font-weight: 400\">This command grants specific rights for example read, write, execute, and admin on a table to a certain user. <\/span><br \/>\n<strong>The Syntax for Security Purpose: <\/strong><\/p>\n<pre class=\"EnlighterJSRAW\">hbase&gt; grant &lt;user&gt; &lt;permissions&gt; [&lt;table&gt; [&lt;column family&gt; [&lt;column; qualifier&gt;]]<\/pre>\n<p><span style=\"font-weight: 400\">From the set of RWXCA, we can grant zero or more privileges to a user. RWXCA refers to:<\/span><br \/>\n<span style=\"font-weight: 400\">R &#8211; Here R represents read privilege.<\/span><br \/>\n<span style=\"font-weight: 400\">W &#8211; And, W represents write privilege.<\/span><br \/>\n<span style=\"font-weight: 400\">X &#8211; Here X represents execute privilege.<\/span><br \/>\n<span style=\"font-weight: 400\">C &#8211; Now C refers to create privilege.<\/span><br \/>\n<span style=\"font-weight: 400\">A &#8211; And, A means admin privilege.<\/span><br \/>\n<span style=\"font-weight: 400\"><strong>For example,<\/strong> <\/span><br \/>\n<span style=\"font-weight: 400\">Here we are granting all the privileges to a user named \u2018Dataflair\u2019.<\/span><\/p>\n<pre class=\"EnlighterJSRAW\">hbase(main):018:0&gt; grant 'Dataflair', 'RWXCA'<\/pre>\n<h3>ii.\u00a0revoke<\/h3>\n<p><span style=\"font-weight: 400\">To revoke a user&#8217;s access rights of a table, we use the revoke command is used.<\/span><br \/>\n<strong>The Syntax for Revoke:\u00a0<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\">hbase&gt; revoke &lt;user&gt;<\/pre>\n<p><strong>For Example<\/strong><br \/>\n<span style=\"font-weight: 400\">Below code revokes all the permissions from the user named \u2018Dataflair\u2019.<\/span><\/p>\n<pre class=\"EnlighterJSRAW\">hbase(main):006:0&gt; revoke 'Dataflair'<\/pre>\n<h3>iii. user_permission<\/h3>\n<p><span style=\"font-weight: 400\">In order to list all the permissions for a particular table, we use this command. <\/span><br \/>\n<strong>The Syntax for user permission:<\/strong><\/p>\n<pre class=\"EnlighterJSRAW\">hbase&gt;user_permission \u2018tablename\u2019<\/pre>\n<p><strong>For Example<\/strong><br \/>\n<span style=\"font-weight: 400\">Now, below code lists all the user permissions of \u2018emp\u2019 table.<\/span><\/p>\n<pre class=\"EnlighterJSRAW\">hbase(main):013:0&gt; user_permission 'emp'<\/pre>\n<p>So, this was all about HBase Security.\u00a0 Hope you like our explanation.<\/p>\n<h2><span style=\"font-family: Georgia, Georgia, serif\">Conclusion: HBase Security<\/span><\/h2>\n<p><span style=\"font-weight: 400\">Hence, in this HBase security, we have seen how to use Kerberos to authenticate users and encrypt communications between services. Also, Security in HBase adds two extra features which permit us to protect our data against sniffers or other network attacks. <\/span><\/p>\n<p><span style=\"font-weight: 400\">Moreover, we have seen all possible HBase commands we can use for HBase Security purpose. Still, if any doubt regarding HBase Security, ask in the comment tab.<\/span><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Today, we will learn HBase Security. So, In this article &#8220;HBase Security: Authentication &amp; Authorization&#8221;, we will learn the way we use Kerberos with Hadoop\u00a0and HBase to offer User Authentication i.e. HBase Kerberos Authorization.&#46;&#46;&#46;<\/p>\n","protected":false},"author":7,"featured_media":18561,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[23],"tags":[214,230,5383,5403,5431,5479,5480,5485,5882,7996,7998,7999,11601,12372,12683,15223,15534,16362,16415],"class_list":["post-17175","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-hbase","tag-access-control-list","tag-acl","tag-hbase-acl","tag-hbase-client-authentication","tag-hbase-grant-command","tag-hbase-security","tag-hbase-security-command","tag-hbase-simple-authentication","tag-how-hbase-security-works","tag-kerberos","tag-kerberos-authentication","tag-kerberos-authorization","tag-revoke-hbase-commands","tag-sasl","tag-security-in-hbase","tag-user-authentication","tag-what-hbase-security-means","tag-zookeeper-acl","tag-zookeeper-sasl"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>HBase Security: Kerberos Authentication &amp; Authorization - DataFlair<\/title>\n<meta name=\"description\" content=\"HBase security,Kerberos authentication,SASL,Zookeeper ACL,zookeeper authentication,simple authentication,rest authorization,HBase security command,HDFS\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/data-flair.training\/blogs\/hbase-security\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"HBase Security: Kerberos Authentication &amp; Authorization - DataFlair\" \/>\n<meta property=\"og:description\" content=\"HBase security,Kerberos authentication,SASL,Zookeeper ACL,zookeeper authentication,simple authentication,rest authorization,HBase security command,HDFS\" \/>\n<meta property=\"og:url\" content=\"https:\/\/data-flair.training\/blogs\/hbase-security\/\" \/>\n<meta property=\"og:site_name\" content=\"DataFlair\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/DataFlairWS\/\" \/>\n<meta property=\"article:published_time\" content=\"2018-05-31T06:47:05+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/HBase-Security-Authentication-Authorization-01.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"DataFlair Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:site\" content=\"@DataFlairWS\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"DataFlair Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"6 minutes\" \/>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"HBase Security: Kerberos Authentication &amp; Authorization - DataFlair","description":"HBase security,Kerberos authentication,SASL,Zookeeper ACL,zookeeper authentication,simple authentication,rest authorization,HBase security command,HDFS","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/data-flair.training\/blogs\/hbase-security\/","og_locale":"en_US","og_type":"article","og_title":"HBase Security: Kerberos Authentication &amp; Authorization - DataFlair","og_description":"HBase security,Kerberos authentication,SASL,Zookeeper ACL,zookeeper authentication,simple authentication,rest authorization,HBase security command,HDFS","og_url":"https:\/\/data-flair.training\/blogs\/hbase-security\/","og_site_name":"DataFlair","article_publisher":"https:\/\/www.facebook.com\/DataFlairWS\/","article_published_time":"2018-05-31T06:47:05+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/HBase-Security-Authentication-Authorization-01.jpg","type":"image\/jpeg"}],"author":"DataFlair Team","twitter_card":"summary_large_image","twitter_creator":"@DataFlairWS","twitter_site":"@DataFlairWS","twitter_misc":{"Written by":"DataFlair Team","Est. reading time":"6 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/data-flair.training\/blogs\/hbase-security\/#article","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/hbase-security\/"},"author":{"name":"DataFlair Team","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/beb0cab24b7aa54423a3b50e669a9dcd"},"headline":"HBase Security: Kerberos Authentication &amp; Authorization","datePublished":"2018-05-31T06:47:05+00:00","mainEntityOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/hbase-security\/"},"wordCount":1229,"commentCount":0,"publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/hbase-security\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/HBase-Security-Authentication-Authorization-01.jpg","keywords":["Access Control List","ACL","HBase ACL","HBase client authentication","HBase grant command","HBase Security","HBase security command","HBase simple authentication","how HBase security works","kerberos","Kerberos authentication","Kerberos authorization","revoke HBase commands","SASL","security in HBase","user authentication","what HBase security means","Zookeeper ACL","ZooKeeper SASL"],"articleSection":["HBase Tutorials"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/data-flair.training\/blogs\/hbase-security\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/data-flair.training\/blogs\/hbase-security\/","url":"https:\/\/data-flair.training\/blogs\/hbase-security\/","name":"HBase Security: Kerberos Authentication &amp; Authorization - DataFlair","isPartOf":{"@id":"https:\/\/data-flair.training\/blogs\/#website"},"primaryImageOfPage":{"@id":"https:\/\/data-flair.training\/blogs\/hbase-security\/#primaryimage"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/hbase-security\/#primaryimage"},"thumbnailUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/HBase-Security-Authentication-Authorization-01.jpg","datePublished":"2018-05-31T06:47:05+00:00","description":"HBase security,Kerberos authentication,SASL,Zookeeper ACL,zookeeper authentication,simple authentication,rest authorization,HBase security command,HDFS","breadcrumb":{"@id":"https:\/\/data-flair.training\/blogs\/hbase-security\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/data-flair.training\/blogs\/hbase-security\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/hbase-security\/#primaryimage","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/HBase-Security-Authentication-Authorization-01.jpg","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2018\/06\/HBase-Security-Authentication-Authorization-01.jpg","width":1200,"height":628,"caption":"HBase Security: Kerberos Authentication &amp; Authorization"},{"@type":"BreadcrumbList","@id":"https:\/\/data-flair.training\/blogs\/hbase-security\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog Home","item":"https:\/\/data-flair.training\/blogs\/"},{"@type":"ListItem","position":2,"name":"HBase Tutorials","item":"https:\/\/data-flair.training\/blogs\/category\/hbase\/"},{"@type":"ListItem","position":3,"name":"HBase Security: Kerberos Authentication &amp; Authorization"}]},{"@type":"WebSite","@id":"https:\/\/data-flair.training\/blogs\/#website","url":"https:\/\/data-flair.training\/blogs\/","name":"DataFlair","description":"Learn Today. Lead Tomorrow.","publisher":{"@id":"https:\/\/data-flair.training\/blogs\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/data-flair.training\/blogs\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/data-flair.training\/blogs\/#organization","name":"DataFlair","url":"https:\/\/data-flair.training\/blogs\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/","url":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","contentUrl":"https:\/\/data-flair.training\/blogs\/wp-content\/uploads\/sites\/2\/2016\/07\/Data-Flair.png","width":106,"height":48,"caption":"DataFlair"},"image":{"@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/DataFlairWS\/","https:\/\/x.com\/DataFlairWS","https:\/\/www.linkedin.com\/company\/dataflair-web-services-pvt-ltd\/","https:\/\/www.youtube.com\/user\/DataFlairWS"]},{"@type":"Person","@id":"https:\/\/data-flair.training\/blogs\/#\/schema\/person\/beb0cab24b7aa54423a3b50e669a9dcd","name":"DataFlair Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/c322416204232f4dd97ef3901b0a499a5d34d7ba7fe333f4bfe53a907873d293?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/c322416204232f4dd97ef3901b0a499a5d34d7ba7fe333f4bfe53a907873d293?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/c322416204232f4dd97ef3901b0a499a5d34d7ba7fe333f4bfe53a907873d293?s=96&d=mm&r=g","caption":"DataFlair Team"},"description":"DataFlair Team specializes in creating clear, actionable content on programming, Java, Python, C++, DSA, AI, ML, data Science, Android, Flutter, MERN, Web Development, and technology. Backed by industry expertise, we make learning easy and career-oriented for beginners and pros alike.","url":"https:\/\/data-flair.training\/blogs\/author\/dfteam3\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/17175","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/users\/7"}],"replies":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/comments?post=17175"}],"version-history":[{"count":0,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/posts\/17175\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media\/18561"}],"wp:attachment":[{"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/media?parent=17175"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/categories?post=17175"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/data-flair.training\/blogs\/wp-json\/wp\/v2\/tags?post=17175"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}