{"id":961,"date":"2022-07-20T08:45:22","date_gmt":"2022-07-20T06:45:22","guid":{"rendered":"https:\/\/www.graber.cloud\/?p=961"},"modified":"2022-07-20T08:47:12","modified_gmt":"2022-07-20T06:47:12","slug":"azure-application-gateway-waf-rules-evaluation","status":"publish","type":"post","link":"https:\/\/www.graber.cloud\/en\/azure-application-gateway-waf-rules-evaluation\/","title":{"rendered":"Azure Application Gateway WAF Rules Evaluation"},"content":{"rendered":"<p>In this short article I will give an example of how the evaluation of the \"WAF Custom Rules\" and \"Managed Rules\" of the \"Azure Application Gateway\" works.<\/p>\n\n\n\n<p class=\"has-pale-cyan-blue-background-color has-background translation-block\"><strong>Note:<\/strong><br>If you are not yet familiar with Application Gateway WAF v2 and Custom Rules, I recommend consuming my blog post <a href=\"https:\/\/www.graber.cloud\/en\/application-gateway-waf-v2-custom-rules\/\" target=\"_self\">Application Gateway WAF v2 Custom Rules<\/a>.<\/p>\n\n\n\n<figure class=\"wp-block-embed is-type-wp-embed is-provider-cloud-business-amp-technology wp-block-embed-cloud-business-amp-technology\"><div class=\"wp-block-embed__wrapper\">\n<blockquote class=\"wp-embedded-content\" data-secret=\"nlC518JlIl\"><a href=\"https:\/\/www.graber.cloud\/en\/application-gateway-waf-v2-custom-rules\/\">Application Gateway WAF v2 Custom Rules<\/a><\/blockquote><iframe loading=\"lazy\" class=\"wp-embedded-content\" sandbox=\"allow-scripts\" security=\"restricted\" style=\"position: absolute; clip: rect(1px, 1px, 1px, 1px);\" title=\"&#171;Application Gateway WAF v2 Custom Rules&#187; &#8212; Cloud Business &amp; Technology\" src=\"https:\/\/www.graber.cloud\/application-gateway-waf-v2-custom-rules\/embed\/#?secret=COiGg9lzgW#?secret=nlC518JlIl\" data-secret=\"nlC518JlIl\" width=\"600\" height=\"338\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"><\/iframe>\n<\/div><\/figure>\n\n\n\n<h2 class=\"wp-block-heading\">Initial situation with the Azure Application Gateway<\/h2>\n\n\n\n<p>In this example, there is an Azure Application Gateway \"AppGW\", configured as Tier WAF v2 and an attached \"Backend Pool\". Furthermore, in addition to the preconfigured \"Managed Rules\" with \"Custom Rule 01\", \"Custom Rule 02\" and \"Custom Rule 03\", there are also three \"Custom Rules\" in the \"WAF Policy\". The specific configuration of these rules is not of further importance for the illustration of the evaluation. Therefore, I will not go further into the rule configuration.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">WAF Rules Evaluation<\/h2>\n\n\n\n<p>The evaluation of the rules is shown in the following diagram as simple and clear as possible and contains all the mentioned components of the initial situation.<\/p>\n\n\n\n<div class=\"wp-block-image\"><figure class=\"aligncenter size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"669\" height=\"611\" src=\"\/wp-content\/uploads\/2022\/07\/AppGW-WAF-Rule-Evaluation.png\" alt=\"Evaluation process of WAF Policy including Custom Rules.\" class=\"wp-image-963\" srcset=\"https:\/\/www.graber.cloud\/wp-content\/uploads\/2022\/07\/AppGW-WAF-Rule-Evaluation.png 669w, https:\/\/www.graber.cloud\/wp-content\/uploads\/2022\/07\/AppGW-WAF-Rule-Evaluation-300x274.png 300w, https:\/\/www.graber.cloud\/wp-content\/uploads\/2022\/07\/AppGW-WAF-Rule-Evaluation-13x12.png 13w\" sizes=\"auto, (max-width: 669px) 100vw, 669px\" \/><\/figure><\/div>\n\n\n\n<h3 class=\"wp-block-heading\">WAF Rule Evaluation Process<\/h3>\n\n\n\n<ol class=\"wp-block-list\" type=\"1\"><li>The network traffic is routed through the Azure Application Gateway. The corresponding listener receives the traffic.<\/li><li>The Application Gateway checks the request against the configured \"WAF Policy\".<\/li><li>\"Custom Rules\" are considered first. The WAF determines the rule with the lowest number at priority. In our case, it is \"Custom Rule 01\" with priority 10. Tip: The priority can be considered as a cost. The rule with the lowest cost is evaluated first.<\/li><li>The WAF evaluates the rule \"Custom Rule 01\".<ul><li>If the rule is true, the WAF applies it and does not consider any of the other rules.  Continue with point 8.<\/li><li>If the rule is NOT applicable (False), the WAF determines the rule with the next higher priority \/ cost. Continue with point 5.<\/li><\/ul><\/li><li>The WAF evaluates the rule \"Custom Rule 02\".<ul><li>If the rule is true, the WAF applies it and does not consider any of the other rules.  Continue with point 8.<\/li><li>If the rule is NOT applicable (False), the WAF determines the rule with the next higher priority \/ cost. Continue with point 6.<\/li><\/ul><\/li><li>The WAF evaluates the rule \"Custom Rule 03\".<ul><li>If the rule is true, the WAF applies it and does not consider any of the other rules.  Continue with point 8.<\/li><li>If the rule is NOT applicable (False), the WAF determines the rule with the next higher priority \/ cost. Continue with point 7.<\/li><\/ul><\/li><li>Since all \"Custom Rules\" have now been evaluated and none are applicable (all = False), the standard \"Managed Rules\" now come into play.<\/li><li>All rules have an action that is executed when the rule is true. This action grants or denies the network traffic.<ul><li>If the action grants network traffic (Allow Traffic), the WAF policy reports this to the Azure Application Gateway. The gateway then grants access to the backend pool as requested.<\/li><li>If the action denies network traffic (Deny Traffic), the requested access is blocked accordingly by the Application Gateway.<\/li><\/ul><\/li><\/ol>\n\n\n\n<div style=\"height:18px\" aria-hidden=\"true\" class=\"wp-block-spacer\"><\/div>\n\n\n\n<p>Sources:<\/p>\n\n\n\n<p><a href=\"https:\/\/techcommunity.microsoft.com\/t5\/azure-network-security-blog\/azure-waf-custom-rule-samples-and-use-cases\/ba-p\/2033020?WT.mc_id=AZ-MVP-5004129\">https:\/\/techcommunity.microsoft.com\/t5\/azure-network-security-blog\/azure-waf-custom-rule-samples-and-use-cases\/ba-p\/2033020?WT.mc_id=AZ-MVP-5004129<\/a><\/p>\n\n\n\n<p><a href=\"https:\/\/www.graber.cloud\/en\/application-gateway-waf-v2-custom-rules\/\">https:\/\/www.graber.cloud\/application-gateway-waf-v2-custom-rules\/<\/a><\/p>","protected":false},"excerpt":{"rendered":"<p>In this short article I will give an example of how the evaluation of the \"WAF Custom Rules\" and \"Managed Rules\" of the \"Azure Application Gateway\" works.<\/p>","protected":false},"author":1,"featured_media":973,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[7],"tags":[3,65,69,71,19],"class_list":["post-961","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-technology","tag-azure","tag-learnings","tag-networking","tag-paas","tag-security"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.0 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Azure Application Gateway WAF Rules Evaluation<\/title>\n<meta name=\"description\" content=\"Post about Azure Application Gateway WAF Rules Evaluation - created by Yannic Graber - Blogpost available in german and english.\" \/>\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.graber.cloud\/en\/azure-application-gateway-waf-rules-evaluation\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Azure Application Gateway WAF Rules Evaluation\" \/>\n<meta property=\"og:description\" content=\"Post about Azure Application Gateway WAF Rules Evaluation - created by Yannic Graber - Blogpost available in german and english.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.graber.cloud\/en\/azure-application-gateway-waf-rules-evaluation\/\" \/>\n<meta property=\"og:site_name\" content=\"Cloud Business &amp; Technology\" \/>\n<meta property=\"article:published_time\" content=\"2022-07-20T06:45:22+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-07-20T06:47:12+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.graber.cloud\/wp-content\/uploads\/2022\/07\/Header-WAF-Rule-Evaluation-1024x540.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1024\" \/>\n\t<meta property=\"og:image:height\" content=\"540\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Yannic Graber\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@GraberYannic\" \/>\n<meta name=\"twitter:site\" content=\"@GraberYannic\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Yannic Graber\" \/>\n\t<meta name=\"twitter:label2\" content=\"Estimated 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.graber.cloud\/azure-application-gateway-waf-rules-evaluation\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.graber.cloud\/azure-application-gateway-waf-rules-evaluation\/\"},\"author\":{\"name\":\"Yannic Graber\",\"@id\":\"https:\/\/www.graber.cloud\/en\/#\/schema\/person\/50b8d88e3d433af9d16d73f354d897fe\"},\"headline\":\"Azure Application Gateway WAF Rules Evaluation\",\"datePublished\":\"2022-07-20T06:45:22+00:00\",\"dateModified\":\"2022-07-20T06:47:12+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.graber.cloud\/azure-application-gateway-waf-rules-evaluation\/\"},\"wordCount\":522,\"commentCount\":1,\"publisher\":{\"@id\":\"https:\/\/www.graber.cloud\/en\/#\/schema\/person\/50b8d88e3d433af9d16d73f354d897fe\"},\"image\":{\"@id\":\"https:\/\/www.graber.cloud\/azure-application-gateway-waf-rules-evaluation\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.graber.cloud\/wp-content\/uploads\/2022\/07\/Header-WAF-Rule-Evaluation.png\",\"keywords\":[\"Azure\",\"Learnings\",\"Networking\",\"PaaS\",\"Security\"],\"articleSection\":[\"Technology\"],\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.graber.cloud\/azure-application-gateway-waf-rules-evaluation\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.graber.cloud\/azure-application-gateway-waf-rules-evaluation\/\",\"url\":\"https:\/\/www.graber.cloud\/azure-application-gateway-waf-rules-evaluation\/\",\"name\":\"Azure Application Gateway WAF Rules Evaluation\",\"isPartOf\":{\"@id\":\"https:\/\/www.graber.cloud\/en\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.graber.cloud\/azure-application-gateway-waf-rules-evaluation\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.graber.cloud\/azure-application-gateway-waf-rules-evaluation\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.graber.cloud\/wp-content\/uploads\/2022\/07\/Header-WAF-Rule-Evaluation.png\",\"datePublished\":\"2022-07-20T06:45:22+00:00\",\"dateModified\":\"2022-07-20T06:47:12+00:00\",\"description\":\"Post about Azure Application Gateway WAF Rules Evaluation - created by Yannic Graber - Blogpost available in german and english.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.graber.cloud\/azure-application-gateway-waf-rules-evaluation\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.graber.cloud\/azure-application-gateway-waf-rules-evaluation\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\/\/www.graber.cloud\/azure-application-gateway-waf-rules-evaluation\/#primaryimage\",\"url\":\"https:\/\/www.graber.cloud\/wp-content\/uploads\/2022\/07\/Header-WAF-Rule-Evaluation.png\",\"contentUrl\":\"https:\/\/www.graber.cloud\/wp-content\/uploads\/2022\/07\/Header-WAF-Rule-Evaluation.png\",\"width\":3855,\"height\":2033,\"caption\":\"Header WAF Rule Evaluation\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.graber.cloud\/azure-application-gateway-waf-rules-evaluation\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.graber.cloud\/en\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Azure Application Gateway WAF Rules Evaluation\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.graber.cloud\/en\/#website\",\"url\":\"https:\/\/www.graber.cloud\/en\/\",\"name\":\"Cloud Business &amp; Technology\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.graber.cloud\/en\/#\/schema\/person\/50b8d88e3d433af9d16d73f354d897fe\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.graber.cloud\/en\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":[\"Person\",\"Organization\"],\"@id\":\"https:\/\/www.graber.cloud\/en\/#\/schema\/person\/50b8d88e3d433af9d16d73f354d897fe\",\"name\":\"Yannic Graber\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\/\/www.graber.cloud\/en\/#\/schema\/person\/image\/\",\"url\":\"\/wp-content\/uploads\/2020\/03\/Techdata-Yannic_Graber_downsized.jpg\",\"contentUrl\":\"\/wp-content\/uploads\/2020\/03\/Techdata-Yannic_Graber_downsized.jpg\",\"width\":264,\"height\":267,\"caption\":\"Yannic Graber\"},\"logo\":{\"@id\":\"https:\/\/www.graber.cloud\/en\/#\/schema\/person\/image\/\"},\"description\":\"Experienced technical cloud consultant, certified Azure solutions architect and MCT, focusing on Microsoft Cloud related topics. As a graduate business informatics specialist HF, I consider both the technology and economics. Born in Lucerne, Switzerland and still living there.\",\"sameAs\":[\"https:\/\/www.graber.cloud\",\"https:\/\/www.linkedin.com\/in\/ygr\/\",\"https:\/\/x.com\/GraberYannic\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Azure Application Gateway WAF Rules Evaluation","description":"Post about Azure Application Gateway WAF Rules Evaluation - created by Yannic Graber - Blogpost available in german and english.","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.graber.cloud\/en\/azure-application-gateway-waf-rules-evaluation\/","og_locale":"en_GB","og_type":"article","og_title":"Azure Application Gateway WAF Rules Evaluation","og_description":"Post about Azure Application Gateway WAF Rules Evaluation - created by Yannic Graber - Blogpost available in german and english.","og_url":"https:\/\/www.graber.cloud\/en\/azure-application-gateway-waf-rules-evaluation\/","og_site_name":"Cloud Business &amp; Technology","article_published_time":"2022-07-20T06:45:22+00:00","article_modified_time":"2022-07-20T06:47:12+00:00","og_image":[{"width":1024,"height":540,"url":"https:\/\/www.graber.cloud\/wp-content\/uploads\/2022\/07\/Header-WAF-Rule-Evaluation-1024x540.png","type":"image\/png"}],"author":"Yannic Graber","twitter_card":"summary_large_image","twitter_creator":"@GraberYannic","twitter_site":"@GraberYannic","twitter_misc":{"Written by":"Yannic Graber","Estimated reading time":"3 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.graber.cloud\/azure-application-gateway-waf-rules-evaluation\/#article","isPartOf":{"@id":"https:\/\/www.graber.cloud\/azure-application-gateway-waf-rules-evaluation\/"},"author":{"name":"Yannic Graber","@id":"https:\/\/www.graber.cloud\/en\/#\/schema\/person\/50b8d88e3d433af9d16d73f354d897fe"},"headline":"Azure Application Gateway WAF Rules Evaluation","datePublished":"2022-07-20T06:45:22+00:00","dateModified":"2022-07-20T06:47:12+00:00","mainEntityOfPage":{"@id":"https:\/\/www.graber.cloud\/azure-application-gateway-waf-rules-evaluation\/"},"wordCount":522,"commentCount":1,"publisher":{"@id":"https:\/\/www.graber.cloud\/en\/#\/schema\/person\/50b8d88e3d433af9d16d73f354d897fe"},"image":{"@id":"https:\/\/www.graber.cloud\/azure-application-gateway-waf-rules-evaluation\/#primaryimage"},"thumbnailUrl":"https:\/\/www.graber.cloud\/wp-content\/uploads\/2022\/07\/Header-WAF-Rule-Evaluation.png","keywords":["Azure","Learnings","Networking","PaaS","Security"],"articleSection":["Technology"],"inLanguage":"en-GB","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.graber.cloud\/azure-application-gateway-waf-rules-evaluation\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.graber.cloud\/azure-application-gateway-waf-rules-evaluation\/","url":"https:\/\/www.graber.cloud\/azure-application-gateway-waf-rules-evaluation\/","name":"Azure Application Gateway WAF Rules Evaluation","isPartOf":{"@id":"https:\/\/www.graber.cloud\/en\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.graber.cloud\/azure-application-gateway-waf-rules-evaluation\/#primaryimage"},"image":{"@id":"https:\/\/www.graber.cloud\/azure-application-gateway-waf-rules-evaluation\/#primaryimage"},"thumbnailUrl":"https:\/\/www.graber.cloud\/wp-content\/uploads\/2022\/07\/Header-WAF-Rule-Evaluation.png","datePublished":"2022-07-20T06:45:22+00:00","dateModified":"2022-07-20T06:47:12+00:00","description":"Post about Azure Application Gateway WAF Rules Evaluation - created by Yannic Graber - Blogpost available in german and english.","breadcrumb":{"@id":"https:\/\/www.graber.cloud\/azure-application-gateway-waf-rules-evaluation\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.graber.cloud\/azure-application-gateway-waf-rules-evaluation\/"]}]},{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/www.graber.cloud\/azure-application-gateway-waf-rules-evaluation\/#primaryimage","url":"https:\/\/www.graber.cloud\/wp-content\/uploads\/2022\/07\/Header-WAF-Rule-Evaluation.png","contentUrl":"https:\/\/www.graber.cloud\/wp-content\/uploads\/2022\/07\/Header-WAF-Rule-Evaluation.png","width":3855,"height":2033,"caption":"Header WAF Rule Evaluation"},{"@type":"BreadcrumbList","@id":"https:\/\/www.graber.cloud\/azure-application-gateway-waf-rules-evaluation\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.graber.cloud\/en\/"},{"@type":"ListItem","position":2,"name":"Azure Application Gateway WAF Rules Evaluation"}]},{"@type":"WebSite","@id":"https:\/\/www.graber.cloud\/en\/#website","url":"https:\/\/www.graber.cloud\/en\/","name":"Cloud Business &amp; Technology","description":"","publisher":{"@id":"https:\/\/www.graber.cloud\/en\/#\/schema\/person\/50b8d88e3d433af9d16d73f354d897fe"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.graber.cloud\/en\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":["Person","Organization"],"@id":"https:\/\/www.graber.cloud\/en\/#\/schema\/person\/50b8d88e3d433af9d16d73f354d897fe","name":"Yannic Graber","image":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/www.graber.cloud\/en\/#\/schema\/person\/image\/","url":"\/wp-content\/uploads\/2020\/03\/Techdata-Yannic_Graber_downsized.jpg","contentUrl":"\/wp-content\/uploads\/2020\/03\/Techdata-Yannic_Graber_downsized.jpg","width":264,"height":267,"caption":"Yannic Graber"},"logo":{"@id":"https:\/\/www.graber.cloud\/en\/#\/schema\/person\/image\/"},"description":"Experienced technical cloud consultant, certified Azure solutions architect and MCT, focusing on Microsoft Cloud related topics. As a graduate business informatics specialist HF, I consider both the technology and economics. Born in Lucerne, Switzerland and still living there.","sameAs":["https:\/\/www.graber.cloud","https:\/\/www.linkedin.com\/in\/ygr\/","https:\/\/x.com\/GraberYannic"]}]}},"_links":{"self":[{"href":"https:\/\/www.graber.cloud\/en\/wp-json\/wp\/v2\/posts\/961","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.graber.cloud\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.graber.cloud\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.graber.cloud\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.graber.cloud\/en\/wp-json\/wp\/v2\/comments?post=961"}],"version-history":[{"count":9,"href":"https:\/\/www.graber.cloud\/en\/wp-json\/wp\/v2\/posts\/961\/revisions"}],"predecessor-version":[{"id":974,"href":"https:\/\/www.graber.cloud\/en\/wp-json\/wp\/v2\/posts\/961\/revisions\/974"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.graber.cloud\/en\/wp-json\/wp\/v2\/media\/973"}],"wp:attachment":[{"href":"https:\/\/www.graber.cloud\/en\/wp-json\/wp\/v2\/media?parent=961"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.graber.cloud\/en\/wp-json\/wp\/v2\/categories?post=961"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.graber.cloud\/en\/wp-json\/wp\/v2\/tags?post=961"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}