{"id":2474,"date":"2016-05-27T11:19:47","date_gmt":"2016-05-27T11:19:47","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=2474"},"modified":"2025-06-13T19:30:23","modified_gmt":"2025-06-14T02:30:23","slug":"watching-scram-authentication-in-java","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/pt\/watching-scram-authentication-in-java\/","title":{"rendered":"Observando a autentica\u00e7\u00e3o SCRAM em Java"},"content":{"rendered":"<p>A autentica\u00e7\u00e3o SCRAM \u00e9 um dos novos recursos da vers\u00e3o 4.5. Verificar <a href=\"https:\/\/www.couchbase.com\/blog\/pt\/improved-security-couchbase-4.5-scram-sha\/\" target=\"_blank\" rel=\"noopener noreferrer\">esta entrada do blog<\/a> para obter uma introdu\u00e7\u00e3o sobre o SCRAM no Couchbase.<\/p>\n<p>Neste artigo, abordaremos como monitorar o handshake do SCRAM a partir do Java.<\/p>\n<p>Primeiro, voc\u00ea n\u00e3o precisa fazer nada de especial em seu c\u00f3digo Java para usar o SCRAM. O SCRAM \u00e9 ativado por padr\u00e3o e ser\u00e1 usado se a vers\u00e3o do Java SDK for 2.2.5 ou superior e a vers\u00e3o do Couchbase Server for 4.5 ou superior.<\/p>\n<p>O SCRAM ser\u00e1 usado quando voc\u00ea abrir um bucket com uma senha.<\/p>\n<p>Para monitorar a autentica\u00e7\u00e3o da SCRAM em seu c\u00f3digo Java, basta definir o n\u00edvel de depura\u00e7\u00e3o como FINEST:<\/p>\n<pre><code class=\"language-cpp\">Logger logger = Logger.getLogger(\"com.couchbase.client\");\r\n    logger.setLevel(Level.FINEST);\r\n    for(Handler h : logger.getParent().getHandlers()) {\r\n     if(h instanceof ConsoleHandler){\r\n      h.setLevel(Level.FINEST);\r\n        }\r\n    }\r\n}\r\n<\/code><\/pre>\n<p>Agora, em algum ponto do seu c\u00f3digo, voc\u00ea acessa o bucket:<\/p>\n<pre><code class=\"language-cpp\">CouchbaseCluster.create(\"_cluster_address_\").openBucket(bucket, password);\r\n<\/code><\/pre>\n<p>Voc\u00ea pode ver agora a conversa sobre autentica\u00e7\u00e3o:<\/p>\n<pre style=\"color: red;\">May 19, 2016 12:23:45 PM com.couchbase.client.deps.io.netty.handler.logging.LoggingHandler logMessage\r\nFINEST: [id: 0x7af6f756, L:\/127.0.0.1:51766 - R:localhost\/127.0.0.1:11210] RECEIVED: 75B\r\n         +-------------------------------------------------+\r\n         |  0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f |\r\n+--------+-------------------------------------------------+----------------+\r\n|00000000| 81 20 00 00 00 00 00 00 00 00 00 33 00 00 00 00 |. .........3....|\r\n|00000010| 00 00 00 00 00 00 00 00 53 43 52 41 4d 2d 53 48 |........SCRAM-SH|\r\n|00000020| 41 35 31 32 20 53 43 52 41 4d 2d 53 48 41 32 35 |A512 SCRAM-SHA25|\r\n|00000030| 36 20 53 43 52 41 4d 2d 53 48 41 31 20 43 52 41 |6 SCRAM-SHA1 CRA|\r\n|00000040| 4d 2d 4d 44 35 20 50 4c 41 49 4e                |M-MD5 PLAIN     |\r\n+--------+-------------------------------------------------+----------------+\r\nMay 19, 2016 12:23:45 PM com.couchbase.client.deps.io.netty.handler.logging.LoggingHandler logMessage\r\nFINEST: [id: 0x7af6f756, L:\/127.0.0.1:51766 - R:localhost\/127.0.0.1:11210] WRITE: 36B\r\n         +-------------------------------------------------+\r\n         |  0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f |\r\n+--------+-------------------------------------------------+----------------+\r\n|00000000| 80 21 00 0c 00 00 00 00 00 00 00 33 00 00 00 00 |.!.........3....|\r\n|00000010| 00 00 00 00 00 00 00 00 53 43 52 41 4d 2d 53 48 |........SCRAM-SH|\r\n|00000020| 41 35 31 32                                     |A512            |\r\n+--------+-------------------------------------------------+----------------+\r\n<\/pre>\n<p>Mostramos aqui apenas as etapas em que o servidor informa sobre o m\u00e9todo de autentica\u00e7\u00e3o suportado e o cliente escolhe o mais forte. Nesse aperto de m\u00e3o, o servidor suporta:<\/p>\n<ul>\n<li>SCRAM-SHA512<\/li>\n<li>SCRAM-SHA256<\/li>\n<li>SCRAM-SHA1<\/li>\n<li>CRAM-MD5 PLAIN<\/li>\n<\/ul>\n<p>E o cliente escolhe a mais forte: SCRAM-SHA512<\/p>\n<p>O mesmo c\u00f3digo executado no Couchbase 4.1 produz este resultado:<\/p>\n<pre style=\"color: red;\">May 20, 2016 12:05:54 AM com.couchbase.client.deps.io.netty.handler.logging.LoggingHandler logMessage\r\nFINEST: [id: 0x7a2764f3, L:\/192.168.56.1:52201 - R:oracle2couchbase\/192.168.56.101:11210] RECEIVED: 38B\r\n         +-------------------------------------------------+\r\n         |  0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f |\r\n+--------+-------------------------------------------------+----------------+\r\n|00000000| 81 20 00 00 00 00 00 00 00 00 00 0e 00 00 00 00 |. ..............|\r\n|00000010| 00 00 00 00 00 00 00 00 43 52 41 4d 2d 4d 44 35 |........CRAM-MD5|\r\n|00000020| 20 50 4c 41 49 4e                               | PLAIN          |\r\n+--------+-------------------------------------------------+----------------+\r\nMay 20, 2016 12:05:54 AM com.couchbase.client.deps.io.netty.handler.logging.LoggingHandler logMessage\r\nFINEST: [id: 0x7a2764f3, L:\/192.168.56.1:52201 - R:oracle2couchbase\/192.168.56.101:11210] WRITE: 32B\r\n         +-------------------------------------------------+\r\n         |  0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f |\r\n+--------+-------------------------------------------------+----------------+\r\n|00000000| 80 21 00 08 00 00 00 00 00 00 00 08 00 00 00 00 |.!..............|\r\n|00000010| 00 00 00 00 00 00 00 00 43 52 41 4d 2d 4d 44 35 |........CRAM-MD5|\r\n+--------+-------------------------------------------------+----------------+\r\n<\/pre>\n<p>Aqui voc\u00ea pode ver como o CRAM-MD5 \u00e9 selecionado.<\/p>\n<p>Voc\u00ea tamb\u00e9m pode monitorar a autentica\u00e7\u00e3o detectando o tr\u00e1fego da rede. Uma \u00f3tima ferramenta para essa tarefa \u00e9 <a href=\"https:\/\/www.wireshark.org\/\" target=\"_blank\" rel=\"noopener noreferrer\">wireshark<\/a>. Voc\u00ea pode obter o tr\u00e1fego e filtrar por protocolo \"Couchbase\":<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2799\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2016\/05\/ws_scram.png\" alt=\"ws_scram\" width=\"863\" height=\"520\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2016\/05\/ws_scram.png 863w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2016\/05\/ws_scram-300x181.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2016\/05\/ws_scram-768x463.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2016\/05\/ws_scram-20x12.png 20w\" sizes=\"auto, (max-width: 863px) 100vw, 863px\" \/><\/p>\n<p>Para finalizar, voc\u00ea provavelmente notou como \u00e9 f\u00e1cil monitorar o handshake de autentica\u00e7\u00e3o, e \u00e9 por isso que recomendamos o uso do TLS na autentica\u00e7\u00e3o cliente-servidor.<\/p>\n<p>Dessa forma, um ataque man-in-the middle \u00e9 evitado pelo fato de que a SCRAM usa autentica\u00e7\u00e3o m\u00fatua e o servidor deve responder a um desafio para provar que conhece o \"segredo\" com base na senha com hash do cliente.<\/p>\n<p>Feliz autentica\u00e7\u00e3o!<\/p>","protected":false},"excerpt":{"rendered":"<p>SCRAM authentication is one of the new features in version 4.5. Check this blog entry for an introduction on SCRAM in Couchbase. In this article we will cover how to monitor SCRAM handshake from Java. First, you do not have [&hellip;]<\/p>","protected":false},"author":2,"featured_media":13873,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1816,1813],"tags":[1455],"ppma_author":[8968],"class_list":["post-2474","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-couchbase-server","category-security","tag-authentication"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v25.9 (Yoast SEO v25.9) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Watching SCRAM authentication in Java - The Couchbase Blog<\/title>\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.couchbase.com\/blog\/pt\/watching-scram-authentication-in-java\/\" \/>\n<meta property=\"og:locale\" content=\"pt_BR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Watching SCRAM authentication in Java\" \/>\n<meta property=\"og:description\" content=\"SCRAM authentication is one of the new features in version 4.5. Check this blog entry for an introduction on SCRAM in Couchbase. In this article we will cover how to monitor SCRAM handshake from Java. First, you do not have [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/pt\/watching-scram-authentication-in-java\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2016-05-27T11:19:47+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-14T02:30:23+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2016\/05\/ws_scram.png\" \/>\n\t<meta property=\"og:image:width\" content=\"863\" \/>\n\t<meta property=\"og:image:height\" content=\"520\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"The Couchbase Team\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"The Couchbase Team\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"2 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/watching-scram-authentication-in-java\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/watching-scram-authentication-in-java\/\"},\"author\":{\"name\":\"The Couchbase Team\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/764f4a6771ee19bc7af70b70a326fb93\"},\"headline\":\"Watching SCRAM authentication in Java\",\"datePublished\":\"2016-05-27T11:19:47+00:00\",\"dateModified\":\"2025-06-14T02:30:23+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/watching-scram-authentication-in-java\/\"},\"wordCount\":272,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/watching-scram-authentication-in-java\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"keywords\":[\"authentication\"],\"articleSection\":[\"Couchbase Server\",\"Security\"],\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/watching-scram-authentication-in-java\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/watching-scram-authentication-in-java\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/watching-scram-authentication-in-java\/\",\"name\":\"Watching SCRAM authentication in Java - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/watching-scram-authentication-in-java\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/watching-scram-authentication-in-java\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"datePublished\":\"2016-05-27T11:19:47+00:00\",\"dateModified\":\"2025-06-14T02:30:23+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/watching-scram-authentication-in-java\/#breadcrumb\"},\"inLanguage\":\"pt-BR\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/watching-scram-authentication-in-java\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/watching-scram-authentication-in-java\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png\",\"width\":1800,\"height\":630},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/watching-scram-authentication-in-java\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Watching SCRAM authentication in Java\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"name\":\"The Couchbase Blog\",\"description\":\"Couchbase, the NoSQL Database\",\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-BR\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png\",\"width\":218,\"height\":34,\"caption\":\"The Couchbase Blog\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/764f4a6771ee19bc7af70b70a326fb93\",\"name\":\"The Couchbase Team\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-BR\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/7befc37d02226b59499817eafdec60c3\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/b4c18c758421903398e84d6c9560f319f39c665798d7d23e6a6f9dff8a8f984e?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/b4c18c758421903398e84d6c9560f319f39c665798d7d23e6a6f9dff8a8f984e?s=96&d=mm&r=g\",\"caption\":\"The Couchbase Team\"},\"description\":\"Jennifer Garcia is a Senior Web Manager at Couchbase Inc. As the website manager, Jennifer has overall responsibility for the website properties including design, implementation, content, and performance.\",\"sameAs\":[\"https:\/\/www.couchbase.com\"],\"url\":\"https:\/\/www.couchbase.com\/blog\/pt\/author\/jennifer-garcia\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Watching SCRAM authentication in Java - The Couchbase Blog","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.couchbase.com\/blog\/pt\/watching-scram-authentication-in-java\/","og_locale":"pt_BR","og_type":"article","og_title":"Watching SCRAM authentication in Java","og_description":"SCRAM authentication is one of the new features in version 4.5. Check this blog entry for an introduction on SCRAM in Couchbase. In this article we will cover how to monitor SCRAM handshake from Java. First, you do not have [&hellip;]","og_url":"https:\/\/www.couchbase.com\/blog\/pt\/watching-scram-authentication-in-java\/","og_site_name":"The Couchbase Blog","article_published_time":"2016-05-27T11:19:47+00:00","article_modified_time":"2025-06-14T02:30:23+00:00","og_image":[{"width":863,"height":520,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2016\/05\/ws_scram.png","type":"image\/png"}],"author":"The Couchbase Team","twitter_card":"summary_large_image","twitter_misc":{"Written by":"The Couchbase Team","Est. reading time":"2 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/watching-scram-authentication-in-java\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/watching-scram-authentication-in-java\/"},"author":{"name":"The Couchbase Team","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/764f4a6771ee19bc7af70b70a326fb93"},"headline":"Watching SCRAM authentication in Java","datePublished":"2016-05-27T11:19:47+00:00","dateModified":"2025-06-14T02:30:23+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/watching-scram-authentication-in-java\/"},"wordCount":272,"commentCount":0,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/watching-scram-authentication-in-java\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","keywords":["authentication"],"articleSection":["Couchbase Server","Security"],"inLanguage":"pt-BR","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/watching-scram-authentication-in-java\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/watching-scram-authentication-in-java\/","url":"https:\/\/www.couchbase.com\/blog\/watching-scram-authentication-in-java\/","name":"Watching SCRAM authentication in Java - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/watching-scram-authentication-in-java\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/watching-scram-authentication-in-java\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","datePublished":"2016-05-27T11:19:47+00:00","dateModified":"2025-06-14T02:30:23+00:00","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/watching-scram-authentication-in-java\/#breadcrumb"},"inLanguage":"pt-BR","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/watching-scram-authentication-in-java\/"]}]},{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/watching-scram-authentication-in-java\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2022\/11\/couchbase-nosql-dbaas.png","width":1800,"height":630},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/watching-scram-authentication-in-java\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Watching SCRAM authentication in Java"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"Blog do Couchbase","description":"Couchbase, o banco de dados NoSQL","publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.couchbase.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-BR"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"Blog do Couchbase","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2023\/04\/admin-logo.png","width":218,"height":34,"caption":"The Couchbase Blog"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/764f4a6771ee19bc7af70b70a326fb93","name":"A equipe do Couchbase","image":{"@type":"ImageObject","inLanguage":"pt-BR","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/7befc37d02226b59499817eafdec60c3","url":"https:\/\/secure.gravatar.com\/avatar\/b4c18c758421903398e84d6c9560f319f39c665798d7d23e6a6f9dff8a8f984e?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/b4c18c758421903398e84d6c9560f319f39c665798d7d23e6a6f9dff8a8f984e?s=96&d=mm&r=g","caption":"The Couchbase Team"},"description":"Jennifer Garcia \u00e9 gerente s\u00eanior de Web na Couchbase Inc. Como gerente do site, Jennifer tem a responsabilidade geral pelas propriedades do site, incluindo design, implementa\u00e7\u00e3o, conte\u00fado e desempenho.","sameAs":["https:\/\/www.couchbase.com"],"url":"https:\/\/www.couchbase.com\/blog\/pt\/author\/jennifer-garcia\/"}]}},"authors":[{"term_id":8968,"user_id":2,"is_guest":0,"slug":"jennifer-garcia","display_name":"The Couchbase Team","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/b4c18c758421903398e84d6c9560f319f39c665798d7d23e6a6f9dff8a8f984e?s=96&d=mm&r=g","author_category":"","last_name":"Garcia","first_name":"Jennifer","job_title":"","user_url":"https:\/\/www.couchbase.com","description":"Jennifer Garcia \u00e9 gerente s\u00eanior de Web na Couchbase Inc. Como gerente do site, Jennifer tem a responsabilidade geral pelas propriedades do site, incluindo design, implementa\u00e7\u00e3o, conte\u00fado e desempenho."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/2474","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/comments?post=2474"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/posts\/2474\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media\/13873"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/media?parent=2474"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/categories?post=2474"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/tags?post=2474"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/pt\/wp-json\/wp\/v2\/ppma_author?post=2474"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}