{"id":2923,"date":"2018-09-14T18:30:34","date_gmt":"2018-09-14T18:30:34","guid":{"rendered":"http:\/\/dbtut.com\/?p=2923"},"modified":"2018-11-24T18:35:13","modified_gmt":"2018-11-24T18:35:13","slug":"steps-to-implement-oracle-fine-grained-auditing-fga","status":"publish","type":"post","link":"https:\/\/dbtut.com\/index.php\/2018\/09\/14\/steps-to-implement-oracle-fine-grained-auditing-fga\/","title":{"rendered":"Steps to implement Oracle Fine Grained Auditing (FGA)"},"content":{"rendered":"<p>&nbsp;<\/p>\n<p>Guarantee security on Data is a key element and auditing is one of them. FGA provides a flexible way to achive this goal. With this we can audit DML operation plus SELECT statements on a particular table.<\/p>\n<p>And it allows to combine some factors to make efective an audit record. For instance, you might audit only the operations SELECT on table EMP executed by user BOB using the software TOAD as we can see next.<\/p>\n<p>First, in order to get all these factores or conditions are met, we must create a boolean function as follow.<\/p>\n<p><strong>Note:<\/strong><\/p>\n<p>This procedure must be executed by an user with enough privileges to make the following operations, in my case I used SYS user.<code><\/code><\/p>\n<pre class=\"lang:default decode:true \">create or replace function auditif\r\nreturn number\r\nas\r\nbegin\r\nif\r\nsys_context ('userenv','session_user')='BOB'\r\nand\r\nsys_context('userenv','module') like 'TOAD%'\r\nthen return 1;\r\nelse return 0;\r\nend if;\r\nend;<\/pre>\n<p><code><\/code><\/p>\n<p>Then, we can create a policy using the function created previously. In this case, an audit record will be created only if user BOB executes the statements SELECT, UPDATE, DELETE and INSERT on table EMP owned bu user RRHH from Toad:<\/p>\n<pre class=\"lang:default decode:true \">BEGIN\r\nDBMS_FGA.ADD_POLICY(\r\nobject_schema=&gt;'RRHH',\r\nobject_name=&gt;'EMP',\r\npolicy_name=&gt;'POLICY_FGA',\r\nstatement_types=&gt;'select, update, delete, insert',\r\naudit_condition=&gt;'AUDITIF=1');\r\nEND;<\/pre>\n<p>&nbsp;<\/p>\n<p>Then, let&#8217;s proceed to enable the policy:<\/p>\n<pre class=\"lang:default decode:true \">BEGIN\r\nDBMS_FGA.enable_policy(\r\nobject_schema =&gt; 'RRHH',\r\nobject_name =&gt; 'EMP',\r\npolicy_name =&gt; 'POLICY_FGA');\r\nEND;<\/pre>\n<p>&nbsp;<\/p>\n<p>Next, we can check the policy just created as follow:<\/p>\n<pre class=\"lang:default decode:true \">select * from dba_audit_policies;<\/pre>\n<p>&nbsp;<\/p>\n<p>And to check the audit records, we can query the following views:<\/p>\n<pre class=\"lang:default decode:true \">dba_fga_audit_trail\r\ndba_common_audit_trail<\/pre>\n<p>&nbsp;<\/p>\n<p>If we want to unable and remove the policy, we can do it executing the following:<\/p>\n<pre class=\"lang:default decode:true\">BEGIN\r\nDBMS_FGA.disable_policy(\r\nobject_schema =&gt; 'RRHH',\r\nobject_name =&gt; 'EMP',\r\npolicy_name =&gt; 'POLICY_FGA');\r\nEND;\r\n\r\nBEGIN\r\nDBMS_FGA.drop_policy(\r\nobject_schema =&gt; 'RRHH',\r\nobject_name =&gt; 'EMP',\r\npolicy_name =&gt; 'POLICY_FGA');\r\nEND;<\/pre>\n<p>Enjoy!!<\/p>\n\n<div class=\"pvc_clear\"><\/div>\n<p id=\"pvc_stats_2923\" class=\"pvc_stats all  \" data-element-id=\"2923\" style=\"\"><i class=\"pvc-stats-icon medium\" aria-hidden=\"true\"><svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"far\" data-icon=\"chart-bar\" role=\"img\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 512 512\" class=\"svg-inline--fa fa-chart-bar fa-w-16 fa-2x\"><path fill=\"currentColor\" d=\"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\" class=\"\"><\/path><\/svg><\/i> <img loading=\"lazy\" decoding=\"async\" width=\"16\" height=\"16\" alt=\"Loading\" src=\"https:\/\/dbtut.com\/wp-content\/plugins\/page-views-count\/ajax-loader-2x.gif\" border=0 \/><\/p>\n<div class=\"pvc_clear\"><\/div>\n","protected":false},"excerpt":{"rendered":"<p>&nbsp; Guarantee security on Data is a key element and auditing is one of them. FGA provides a flexible way to achive this goal. With this we can audit DML operation plus SELECT statements on a particular table. And it allows to combine some factors to make efective an audit record. For instance, you might &hellip;<\/p>\n<div class=\"pvc_clear\"><\/div>\n<p id=\"pvc_stats_2923\" class=\"pvc_stats all  \" data-element-id=\"2923\" style=\"\"><i class=\"pvc-stats-icon medium\" aria-hidden=\"true\"><svg aria-hidden=\"true\" focusable=\"false\" data-prefix=\"far\" data-icon=\"chart-bar\" role=\"img\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" viewBox=\"0 0 512 512\" class=\"svg-inline--fa fa-chart-bar fa-w-16 fa-2x\"><path fill=\"currentColor\" d=\"M396.8 352h22.4c6.4 0 12.8-6.4 12.8-12.8V108.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v230.4c0 6.4 6.4 12.8 12.8 12.8zm-192 0h22.4c6.4 0 12.8-6.4 12.8-12.8V140.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v198.4c0 6.4 6.4 12.8 12.8 12.8zm96 0h22.4c6.4 0 12.8-6.4 12.8-12.8V204.8c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v134.4c0 6.4 6.4 12.8 12.8 12.8zM496 400H48V80c0-8.84-7.16-16-16-16H16C7.16 64 0 71.16 0 80v336c0 17.67 14.33 32 32 32h464c8.84 0 16-7.16 16-16v-16c0-8.84-7.16-16-16-16zm-387.2-48h22.4c6.4 0 12.8-6.4 12.8-12.8v-70.4c0-6.4-6.4-12.8-12.8-12.8h-22.4c-6.4 0-12.8 6.4-12.8 12.8v70.4c0 6.4 6.4 12.8 12.8 12.8z\" class=\"\"><\/path><\/svg><\/i> <img loading=\"lazy\" decoding=\"async\" width=\"16\" height=\"16\" alt=\"Loading\" src=\"https:\/\/dbtut.com\/wp-content\/plugins\/page-views-count\/ajax-loader-2x.gif\" border=0 \/><\/p>\n<div class=\"pvc_clear\"><\/div>\n","protected":false},"author":262,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"om_disable_all_campaigns":false,"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"_uf_show_specific_survey":0,"_uf_disable_surveys":false,"footnotes":""},"categories":[4],"tags":[],"class_list":["post-2923","post","type-post","status-publish","format-standard","","category-oracle"],"aioseo_notices":[],"a3_pvc":{"activated":true,"total_views":1214,"today_views":0},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.9 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Steps to implement Oracle Fine Grained Auditing (FGA) - Database Tutorials<\/title>\n<meta name=\"description\" content=\"Steps to implement Oracle Fine Grained Auditing (FGA)\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/dbtut.com\/index.php\/2018\/09\/14\/steps-to-implement-oracle-fine-grained-auditing-fga\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Steps to implement Oracle Fine Grained Auditing (FGA) - Database Tutorials\" \/>\n<meta property=\"og:description\" content=\"Steps to implement Oracle Fine Grained Auditing (FGA)\" \/>\n<meta property=\"og:url\" content=\"https:\/\/dbtut.com\/index.php\/2018\/09\/14\/steps-to-implement-oracle-fine-grained-auditing-fga\/\" \/>\n<meta property=\"og:site_name\" content=\"Database Tutorials\" \/>\n<meta property=\"article:published_time\" content=\"2018-09-14T18:30:34+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2018-11-24T18:35:13+00:00\" \/>\n<meta name=\"author\" content=\"Arcel Perdomo\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Arcel Perdomo\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/dbtut.com\/index.php\/2018\/09\/14\/steps-to-implement-oracle-fine-grained-auditing-fga\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/dbtut.com\/index.php\/2018\/09\/14\/steps-to-implement-oracle-fine-grained-auditing-fga\/\"},\"author\":{\"name\":\"Arcel Perdomo\",\"@id\":\"https:\/\/dbtut.com\/#\/schema\/person\/5d33963396b70997a92563fd9929321d\"},\"headline\":\"Steps to implement Oracle Fine Grained Auditing (FGA)\",\"datePublished\":\"2018-09-14T18:30:34+00:00\",\"dateModified\":\"2018-11-24T18:35:13+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/dbtut.com\/index.php\/2018\/09\/14\/steps-to-implement-oracle-fine-grained-auditing-fga\/\"},\"wordCount\":222,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\/\/dbtut.com\/#organization\"},\"articleSection\":[\"ORACLE\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/dbtut.com\/index.php\/2018\/09\/14\/steps-to-implement-oracle-fine-grained-auditing-fga\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/dbtut.com\/index.php\/2018\/09\/14\/steps-to-implement-oracle-fine-grained-auditing-fga\/\",\"url\":\"https:\/\/dbtut.com\/index.php\/2018\/09\/14\/steps-to-implement-oracle-fine-grained-auditing-fga\/\",\"name\":\"Steps to implement Oracle Fine Grained Auditing (FGA) - Database Tutorials\",\"isPartOf\":{\"@id\":\"https:\/\/dbtut.com\/#website\"},\"datePublished\":\"2018-09-14T18:30:34+00:00\",\"dateModified\":\"2018-11-24T18:35:13+00:00\",\"description\":\"Steps to implement Oracle Fine Grained Auditing (FGA)\",\"breadcrumb\":{\"@id\":\"https:\/\/dbtut.com\/index.php\/2018\/09\/14\/steps-to-implement-oracle-fine-grained-auditing-fga\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/dbtut.com\/index.php\/2018\/09\/14\/steps-to-implement-oracle-fine-grained-auditing-fga\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/dbtut.com\/index.php\/2018\/09\/14\/steps-to-implement-oracle-fine-grained-auditing-fga\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/dbtut.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Steps to implement Oracle Fine Grained Auditing (FGA)\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/dbtut.com\/#website\",\"url\":\"https:\/\/dbtut.com\/\",\"name\":\"Database Tutorials\",\"description\":\"MSSQL, Oracle, PostgreSQL, MySQL, MariaDB, DB2, Sybase, Teradata, Big Data, NOSQL, MongoDB, Couchbase, Cassandra, Windows, Linux\",\"publisher\":{\"@id\":\"https:\/\/dbtut.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/dbtut.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/dbtut.com\/#organization\",\"name\":\"dbtut\",\"url\":\"https:\/\/dbtut.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/dbtut.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/dbtut.com\/wp-content\/uploads\/2021\/02\/dbtutlogo.jpg\",\"contentUrl\":\"https:\/\/dbtut.com\/wp-content\/uploads\/2021\/02\/dbtutlogo.jpg\",\"width\":223,\"height\":36,\"caption\":\"dbtut\"},\"image\":{\"@id\":\"https:\/\/dbtut.com\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/dbtut.com\/#\/schema\/person\/5d33963396b70997a92563fd9929321d\",\"name\":\"Arcel Perdomo\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/dbtut.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/d3294a570aafb7a6ea8911cde31185e84f3a15a29c2fa86deb67f45f4b7710e4?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/d3294a570aafb7a6ea8911cde31185e84f3a15a29c2fa86deb67f45f4b7710e4?s=96&d=mm&r=g\",\"caption\":\"Arcel Perdomo\"},\"url\":\"https:\/\/dbtut.com\/index.php\/author\/arcelperdomo\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Steps to implement Oracle Fine Grained Auditing (FGA) - Database Tutorials","description":"Steps to implement Oracle Fine Grained Auditing (FGA)","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:\/\/dbtut.com\/index.php\/2018\/09\/14\/steps-to-implement-oracle-fine-grained-auditing-fga\/","og_locale":"en_US","og_type":"article","og_title":"Steps to implement Oracle Fine Grained Auditing (FGA) - Database Tutorials","og_description":"Steps to implement Oracle Fine Grained Auditing (FGA)","og_url":"https:\/\/dbtut.com\/index.php\/2018\/09\/14\/steps-to-implement-oracle-fine-grained-auditing-fga\/","og_site_name":"Database Tutorials","article_published_time":"2018-09-14T18:30:34+00:00","article_modified_time":"2018-11-24T18:35:13+00:00","author":"Arcel Perdomo","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Arcel Perdomo","Est. reading time":"2 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/dbtut.com\/index.php\/2018\/09\/14\/steps-to-implement-oracle-fine-grained-auditing-fga\/#article","isPartOf":{"@id":"https:\/\/dbtut.com\/index.php\/2018\/09\/14\/steps-to-implement-oracle-fine-grained-auditing-fga\/"},"author":{"name":"Arcel Perdomo","@id":"https:\/\/dbtut.com\/#\/schema\/person\/5d33963396b70997a92563fd9929321d"},"headline":"Steps to implement Oracle Fine Grained Auditing (FGA)","datePublished":"2018-09-14T18:30:34+00:00","dateModified":"2018-11-24T18:35:13+00:00","mainEntityOfPage":{"@id":"https:\/\/dbtut.com\/index.php\/2018\/09\/14\/steps-to-implement-oracle-fine-grained-auditing-fga\/"},"wordCount":222,"commentCount":1,"publisher":{"@id":"https:\/\/dbtut.com\/#organization"},"articleSection":["ORACLE"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/dbtut.com\/index.php\/2018\/09\/14\/steps-to-implement-oracle-fine-grained-auditing-fga\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/dbtut.com\/index.php\/2018\/09\/14\/steps-to-implement-oracle-fine-grained-auditing-fga\/","url":"https:\/\/dbtut.com\/index.php\/2018\/09\/14\/steps-to-implement-oracle-fine-grained-auditing-fga\/","name":"Steps to implement Oracle Fine Grained Auditing (FGA) - Database Tutorials","isPartOf":{"@id":"https:\/\/dbtut.com\/#website"},"datePublished":"2018-09-14T18:30:34+00:00","dateModified":"2018-11-24T18:35:13+00:00","description":"Steps to implement Oracle Fine Grained Auditing (FGA)","breadcrumb":{"@id":"https:\/\/dbtut.com\/index.php\/2018\/09\/14\/steps-to-implement-oracle-fine-grained-auditing-fga\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/dbtut.com\/index.php\/2018\/09\/14\/steps-to-implement-oracle-fine-grained-auditing-fga\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/dbtut.com\/index.php\/2018\/09\/14\/steps-to-implement-oracle-fine-grained-auditing-fga\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/dbtut.com\/"},{"@type":"ListItem","position":2,"name":"Steps to implement Oracle Fine Grained Auditing (FGA)"}]},{"@type":"WebSite","@id":"https:\/\/dbtut.com\/#website","url":"https:\/\/dbtut.com\/","name":"Database Tutorials","description":"MSSQL, Oracle, PostgreSQL, MySQL, MariaDB, DB2, Sybase, Teradata, Big Data, NOSQL, MongoDB, Couchbase, Cassandra, Windows, Linux","publisher":{"@id":"https:\/\/dbtut.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/dbtut.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/dbtut.com\/#organization","name":"dbtut","url":"https:\/\/dbtut.com\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/dbtut.com\/#\/schema\/logo\/image\/","url":"https:\/\/dbtut.com\/wp-content\/uploads\/2021\/02\/dbtutlogo.jpg","contentUrl":"https:\/\/dbtut.com\/wp-content\/uploads\/2021\/02\/dbtutlogo.jpg","width":223,"height":36,"caption":"dbtut"},"image":{"@id":"https:\/\/dbtut.com\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/dbtut.com\/#\/schema\/person\/5d33963396b70997a92563fd9929321d","name":"Arcel Perdomo","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/dbtut.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/d3294a570aafb7a6ea8911cde31185e84f3a15a29c2fa86deb67f45f4b7710e4?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/d3294a570aafb7a6ea8911cde31185e84f3a15a29c2fa86deb67f45f4b7710e4?s=96&d=mm&r=g","caption":"Arcel Perdomo"},"url":"https:\/\/dbtut.com\/index.php\/author\/arcelperdomo\/"}]}},"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/posts\/2923","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/users\/262"}],"replies":[{"embeddable":true,"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/comments?post=2923"}],"version-history":[{"count":0,"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/posts\/2923\/revisions"}],"wp:attachment":[{"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/media?parent=2923"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/categories?post=2923"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dbtut.com\/index.php\/wp-json\/wp\/v2\/tags?post=2923"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}