{"id":2873,"date":"2021-01-19T01:00:00","date_gmt":"2021-01-19T01:00:00","guid":{"rendered":"https:\/\/www.biconnector.com\/blog\/?p=2873"},"modified":"2021-09-26T13:26:24","modified_gmt":"2021-09-26T13:26:24","slug":"how-to-set-up-row-level-security-rls-in-tableau","status":"publish","type":"post","link":"https:\/\/www.biconnector.com\/blog\/how-to-set-up-row-level-security-rls-in-tableau\/","title":{"rendered":"How to Setup Row Level Security (RLS) in Tableau?"},"content":{"rendered":"\n

When setting up reporting of any kind with your company\u2019s often sensitive data, one of the critical questions to answer is – How can we effectively secure the data?<\/p>\n\n\n\n

Row Level Security (RLS) is a hot topic in the Tableau world. While it is possible to set up in Tableau Desktop it currently requires a lot of setup and maintenance. The complexity of the RLS setup varies depending on the number of dimensions you want to secure. In this article, we\u2019ll keep it simple to help you easily learn how it works!<\/p>\n\n\n\n

\n

[Tableau Hacks] How to Improve Interactiveness With Parameter Actions? >><\/b><\/p>\n<\/div>\n<\/div><\/a>\n\n\n\n

We\u2019ll just create an entitlements table that lists out each of the users by username and assign them a role. Then, we\u2019ll assign the roles to specific dimension members for restricting the data.<\/p>\n\n\n\n

In an actual case, the usernames would correspond with the tableau usernames belonging to each of your licensed tableau users. For now, we\u2019ll just use the Harry Potter names to illustrate how this works.<\/p>\n\n\n\n

The table must be secure enough that only the security manager and\/or their delegates have access to it. However, keep in mind that when it is updated it will need to interface with the posted tableau reports where the RLS needs to be utilized. You may use whatever file medium works for you to manage these tables (csv, google sheets, txt file, etc).<\/p>\n\n\n\n

The first table, for instance, lists out all of the users by Username and assigns them a Role and Role_id. The Role column contains a description mainly for clarity purposes to make managing the user list easier. It would look something like this: <\/p>\n\n\n\n

\"Users<\/figure>\n\n\n

<\/p>\n\n\n

\n

[Tableau Hacks] How to Save Dashboard Space With Hidden Containers? >><\/b><\/p>\n<\/div>\n<\/div><\/a>\n\n\n

<\/p>\n\n\n

\"Roles<\/figure>\n\n\n\n

The second table will contain a list of all the members of the secured dimension (in this case \u2018Area\u2019) and a row pertaining to each Role_id that is granted access to an Area. See below:<\/p>\n\n\n\n

Notice how user: Dumbeldore has access to all the listed Areas. Since he is the headmaster this is expected. The other roles have much more limited access. For instance, Role_id #5 (Hufflepuff) has access to just two Areas.<\/p>\n\n\n\n

\n

Supercharge OBIEE (and OAC\/OAS) With Tableau [eBook] >><\/b><\/p>\n<\/div>\n<\/div><\/a>\n\n\n\n

Now that we have the Areas assigned to our Roles and our roles assigned to our Users we are ready to filter our dataset. A simplified table that looks something like this:<\/p>\n\n\n\n

\"Table<\/figure>\n\n\n\n
\"Users<\/figure>\n\n\n\n
\"Edit<\/figure>\n\n\n\n
\"Roles<\/figure>\n\n\n\n

Loading the tables into Tableau, we set the table relationships up like this:<\/p>\n\n\n\n

Now that our tables are set up we need to create a calculated field. This field will compare the Username field from the Users table with the username of the person using the report.<\/p>\n\n\n\n

\"Username\"\/<\/figure>\n\n\n\n
\n

[Tableau Tips] How to Deliver a Decision-aiding Story? >><\/b><\/p>\n<\/div>\n<\/div><\/a>\n\n\n

<\/p>\n\n\n

To test this out we can try it out on a table visual. I built something that looks like this:<\/p>\n\n\n\n

\"Test<\/figure>\n\n\n\n

Notice that the \u201cMetaclorions\u201d values are duplicated for the different Areas under the different Roles. This is okay because the filter will be applied and remove all duplicates from the data load when we are done setting it up.<\/p>\n\n\n\n

When I am logged in as \u2018Cedrick\u2019 apply the filter and set the name to TRUE it looks like this:<\/p>\n\n\n\n

\"User<\/figure>\n\n\n\n

It works! <\/p>\n\n\n\n

We are now only seeing the Areas that apply to Cedrick\u2019s Hufflepuff Role.<\/p>\n\n\n\n

Finally, we will employ the filter on the Data Source tab. <\/p>\n\n\n\n

We do this by clicking on the \u2018Add\u2019 link in the top right corner under the word  \u201cFilter\u201d.<\/p>\n\n\n\n

\"Apply<\/figure>\n\n\n\n

We can then set up an expression to use the calculated field to limit the data pulled into the report. <\/p>\n\n\n\n

\n

Tableau vs OBIEE – H2H Comparison [eBook] >><\/b><\/p>\n<\/div>\n<\/div><\/a>\n\n\n\n

The Filter Condition will look like this:<\/p>\n\n\n\n

\"Filter<\/figure>\n\n\n\n

Once this is done click \u2018OK\u2019. Your dataset is now filtered by the name of the user that is logged into the report.<\/p>\n","protected":false},"excerpt":{"rendered":"

When setting up reporting of any kind with your company\u2019s often sensitive data, one of the critical questions to answer is – How can we effectively secure the data? Row Level Security (RLS) is a hot topic in the Tableau world. While it is possible to set up in Tableau Desktop it currently requires a […]<\/p>\n","protected":false},"author":19,"featured_media":2923,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"content-type":"","footnotes":""},"categories":[76],"tags":[11],"yoast_head":"\nSetting up Row Level Security (RLS) in Tableau<\/title>\n<meta name=\"description\" content=\"A step-by-step guide to setting up Row Level Security (RLS) in Tableau, along with testing out how the RLS works with user impersonation.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.biconnector.com\/blog\/how-to-set-up-row-level-security-rls-in-tableau\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Setting up Row Level Security (RLS) in Tableau\" \/>\n<meta property=\"og:description\" content=\"A step-by-step guide to setting up Row Level Security (RLS) in Tableau, along with testing out how the RLS works with user impersonation.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.biconnector.com\/blog\/how-to-set-up-row-level-security-rls-in-tableau\/\" \/>\n<meta property=\"og:site_name\" content=\"BI connector Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/biconnector\" \/>\n<meta property=\"article:published_time\" content=\"2021-01-19T01:00:00+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2021-09-26T13:26:24+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.biconnector.com\/blog\/wp-content\/uploads\/2021\/01\/Blog-image-47.png\" \/>\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\/png\" \/>\n<meta name=\"author\" content=\"BI Connector Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@bi_connector\" \/>\n<meta name=\"twitter:site\" content=\"@bi_connector\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"BI Connector Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"3 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.biconnector.com\/blog\/how-to-set-up-row-level-security-rls-in-tableau\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.biconnector.com\/blog\/how-to-set-up-row-level-security-rls-in-tableau\/\"},\"author\":{\"name\":\"BI Connector Team\",\"@id\":\"https:\/\/www.biconnector.com\/blog\/#\/schema\/person\/861351d5d0c055d8c0c6d5bde42836b9\"},\"headline\":\"How to Setup Row Level Security (RLS) in Tableau?\",\"datePublished\":\"2021-01-19T01:00:00+00:00\",\"dateModified\":\"2021-09-26T13:26:24+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.biconnector.com\/blog\/how-to-set-up-row-level-security-rls-in-tableau\/\"},\"wordCount\":666,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.biconnector.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.biconnector.com\/blog\/how-to-set-up-row-level-security-rls-in-tableau\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.biconnector.com\/blog\/wp-content\/uploads\/2021\/01\/Blog-image-47.png\",\"keywords\":[\"Tableau\"],\"articleSection\":[\"Solution Articles\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.biconnector.com\/blog\/how-to-set-up-row-level-security-rls-in-tableau\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.biconnector.com\/blog\/how-to-set-up-row-level-security-rls-in-tableau\/\",\"url\":\"https:\/\/www.biconnector.com\/blog\/how-to-set-up-row-level-security-rls-in-tableau\/\",\"name\":\"Setting up Row Level Security (RLS) in Tableau\",\"isPartOf\":{\"@id\":\"https:\/\/www.biconnector.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.biconnector.com\/blog\/how-to-set-up-row-level-security-rls-in-tableau\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.biconnector.com\/blog\/how-to-set-up-row-level-security-rls-in-tableau\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.biconnector.com\/blog\/wp-content\/uploads\/2021\/01\/Blog-image-47.png\",\"datePublished\":\"2021-01-19T01:00:00+00:00\",\"dateModified\":\"2021-09-26T13:26:24+00:00\",\"description\":\"A step-by-step guide to setting up Row Level Security (RLS) in Tableau, along with testing out how the RLS works with user impersonation.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.biconnector.com\/blog\/how-to-set-up-row-level-security-rls-in-tableau\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.biconnector.com\/blog\/how-to-set-up-row-level-security-rls-in-tableau\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.biconnector.com\/blog\/how-to-set-up-row-level-security-rls-in-tableau\/#primaryimage\",\"url\":\"https:\/\/www.biconnector.com\/blog\/wp-content\/uploads\/2021\/01\/Blog-image-47.png\",\"contentUrl\":\"https:\/\/www.biconnector.com\/blog\/wp-content\/uploads\/2021\/01\/Blog-image-47.png\",\"width\":1200,\"height\":628,\"caption\":\"Tableau Row Level Security RLS\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.biconnector.com\/blog\/how-to-set-up-row-level-security-rls-in-tableau\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.biconnector.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to Setup Row Level Security (RLS) in Tableau?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.biconnector.com\/blog\/#website\",\"url\":\"https:\/\/www.biconnector.com\/blog\/\",\"name\":\"BI connector Blog\",\"description\":\"Blog on BI, Analytics, and Integration\",\"publisher\":{\"@id\":\"https:\/\/www.biconnector.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.biconnector.com\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.biconnector.com\/blog\/#organization\",\"name\":\"BI Connector\",\"url\":\"https:\/\/www.biconnector.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.biconnector.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.biconnector.com\/blog\/wp-content\/uploads\/2018\/09\/logo-1.svg\",\"contentUrl\":\"https:\/\/www.biconnector.com\/blog\/wp-content\/uploads\/2018\/09\/logo-1.svg\",\"width\":1,\"height\":1,\"caption\":\"BI Connector\"},\"image\":{\"@id\":\"https:\/\/www.biconnector.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/biconnector\",\"https:\/\/x.com\/bi_connector\",\"https:\/\/www.linkedin.com\/company\/bi-connector\",\"https:\/\/www.youtube.com\/channel\/UCDZO-hi2HzjeGChmbjQAW-w\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.biconnector.com\/blog\/#\/schema\/person\/861351d5d0c055d8c0c6d5bde42836b9\",\"name\":\"BI Connector Team\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.biconnector.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/7160ad63033671078ece993f850d16b3?s=96&d=wavatar&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/7160ad63033671078ece993f850d16b3?s=96&d=wavatar&r=g\",\"caption\":\"BI Connector Team\"},\"sameAs\":[\"https:\/\/www.biconnector.com\"],\"url\":\"https:\/\/www.biconnector.com\/blog\/author\/bi-connector-team\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Setting up Row Level Security (RLS) in Tableau","description":"A step-by-step guide to setting up Row Level Security (RLS) in Tableau, along with testing out how the RLS works with user impersonation.","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:\/\/www.biconnector.com\/blog\/how-to-set-up-row-level-security-rls-in-tableau\/","og_locale":"en_US","og_type":"article","og_title":"Setting up Row Level Security (RLS) in Tableau","og_description":"A step-by-step guide to setting up Row Level Security (RLS) in Tableau, along with testing out how the RLS works with user impersonation.","og_url":"https:\/\/www.biconnector.com\/blog\/how-to-set-up-row-level-security-rls-in-tableau\/","og_site_name":"BI connector Blog","article_publisher":"https:\/\/www.facebook.com\/biconnector","article_published_time":"2021-01-19T01:00:00+00:00","article_modified_time":"2021-09-26T13:26:24+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/www.biconnector.com\/blog\/wp-content\/uploads\/2021\/01\/Blog-image-47.png","type":"image\/png"}],"author":"BI Connector Team","twitter_card":"summary_large_image","twitter_creator":"@bi_connector","twitter_site":"@bi_connector","twitter_misc":{"Written by":"BI Connector Team","Est. reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.biconnector.com\/blog\/how-to-set-up-row-level-security-rls-in-tableau\/#article","isPartOf":{"@id":"https:\/\/www.biconnector.com\/blog\/how-to-set-up-row-level-security-rls-in-tableau\/"},"author":{"name":"BI Connector Team","@id":"https:\/\/www.biconnector.com\/blog\/#\/schema\/person\/861351d5d0c055d8c0c6d5bde42836b9"},"headline":"How to Setup Row Level Security (RLS) in Tableau?","datePublished":"2021-01-19T01:00:00+00:00","dateModified":"2021-09-26T13:26:24+00:00","mainEntityOfPage":{"@id":"https:\/\/www.biconnector.com\/blog\/how-to-set-up-row-level-security-rls-in-tableau\/"},"wordCount":666,"commentCount":0,"publisher":{"@id":"https:\/\/www.biconnector.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.biconnector.com\/blog\/how-to-set-up-row-level-security-rls-in-tableau\/#primaryimage"},"thumbnailUrl":"https:\/\/www.biconnector.com\/blog\/wp-content\/uploads\/2021\/01\/Blog-image-47.png","keywords":["Tableau"],"articleSection":["Solution Articles"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.biconnector.com\/blog\/how-to-set-up-row-level-security-rls-in-tableau\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.biconnector.com\/blog\/how-to-set-up-row-level-security-rls-in-tableau\/","url":"https:\/\/www.biconnector.com\/blog\/how-to-set-up-row-level-security-rls-in-tableau\/","name":"Setting up Row Level Security (RLS) in Tableau","isPartOf":{"@id":"https:\/\/www.biconnector.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.biconnector.com\/blog\/how-to-set-up-row-level-security-rls-in-tableau\/#primaryimage"},"image":{"@id":"https:\/\/www.biconnector.com\/blog\/how-to-set-up-row-level-security-rls-in-tableau\/#primaryimage"},"thumbnailUrl":"https:\/\/www.biconnector.com\/blog\/wp-content\/uploads\/2021\/01\/Blog-image-47.png","datePublished":"2021-01-19T01:00:00+00:00","dateModified":"2021-09-26T13:26:24+00:00","description":"A step-by-step guide to setting up Row Level Security (RLS) in Tableau, along with testing out how the RLS works with user impersonation.","breadcrumb":{"@id":"https:\/\/www.biconnector.com\/blog\/how-to-set-up-row-level-security-rls-in-tableau\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.biconnector.com\/blog\/how-to-set-up-row-level-security-rls-in-tableau\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.biconnector.com\/blog\/how-to-set-up-row-level-security-rls-in-tableau\/#primaryimage","url":"https:\/\/www.biconnector.com\/blog\/wp-content\/uploads\/2021\/01\/Blog-image-47.png","contentUrl":"https:\/\/www.biconnector.com\/blog\/wp-content\/uploads\/2021\/01\/Blog-image-47.png","width":1200,"height":628,"caption":"Tableau Row Level Security RLS"},{"@type":"BreadcrumbList","@id":"https:\/\/www.biconnector.com\/blog\/how-to-set-up-row-level-security-rls-in-tableau\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.biconnector.com\/blog\/"},{"@type":"ListItem","position":2,"name":"How to Setup Row Level Security (RLS) in Tableau?"}]},{"@type":"WebSite","@id":"https:\/\/www.biconnector.com\/blog\/#website","url":"https:\/\/www.biconnector.com\/blog\/","name":"BI connector Blog","description":"Blog on BI, Analytics, and Integration","publisher":{"@id":"https:\/\/www.biconnector.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.biconnector.com\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.biconnector.com\/blog\/#organization","name":"BI Connector","url":"https:\/\/www.biconnector.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.biconnector.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.biconnector.com\/blog\/wp-content\/uploads\/2018\/09\/logo-1.svg","contentUrl":"https:\/\/www.biconnector.com\/blog\/wp-content\/uploads\/2018\/09\/logo-1.svg","width":1,"height":1,"caption":"BI Connector"},"image":{"@id":"https:\/\/www.biconnector.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/biconnector","https:\/\/x.com\/bi_connector","https:\/\/www.linkedin.com\/company\/bi-connector","https:\/\/www.youtube.com\/channel\/UCDZO-hi2HzjeGChmbjQAW-w"]},{"@type":"Person","@id":"https:\/\/www.biconnector.com\/blog\/#\/schema\/person\/861351d5d0c055d8c0c6d5bde42836b9","name":"BI Connector Team","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.biconnector.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/7160ad63033671078ece993f850d16b3?s=96&d=wavatar&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/7160ad63033671078ece993f850d16b3?s=96&d=wavatar&r=g","caption":"BI Connector Team"},"sameAs":["https:\/\/www.biconnector.com"],"url":"https:\/\/www.biconnector.com\/blog\/author\/bi-connector-team\/"}]}},"_links":{"self":[{"href":"https:\/\/www.biconnector.com\/blog\/wp-json\/wp\/v2\/posts\/2873"}],"collection":[{"href":"https:\/\/www.biconnector.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.biconnector.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.biconnector.com\/blog\/wp-json\/wp\/v2\/users\/19"}],"replies":[{"embeddable":true,"href":"https:\/\/www.biconnector.com\/blog\/wp-json\/wp\/v2\/comments?post=2873"}],"version-history":[{"count":8,"href":"https:\/\/www.biconnector.com\/blog\/wp-json\/wp\/v2\/posts\/2873\/revisions"}],"predecessor-version":[{"id":3632,"href":"https:\/\/www.biconnector.com\/blog\/wp-json\/wp\/v2\/posts\/2873\/revisions\/3632"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.biconnector.com\/blog\/wp-json\/wp\/v2\/media\/2923"}],"wp:attachment":[{"href":"https:\/\/www.biconnector.com\/blog\/wp-json\/wp\/v2\/media?parent=2873"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.biconnector.com\/blog\/wp-json\/wp\/v2\/categories?post=2873"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.biconnector.com\/blog\/wp-json\/wp\/v2\/tags?post=2873"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}