{"id":3332,"date":"2017-04-24T11:30:54","date_gmt":"2017-04-24T18:30:54","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=3332"},"modified":"2025-06-13T19:29:03","modified_gmt":"2025-06-14T02:29:03","slug":"authentication-authorization-rbac-part-2","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/es\/authentication-authorization-rbac-part-2\/","title":{"rendered":"Autorizaci\u00f3n y autenticaci\u00f3n con RBAC (Parte 2)"},"content":{"rendered":"<div class=\"paragraph\">\n<p>La autorizaci\u00f3n y la autenticaci\u00f3n son importantes para Couchbase. En marzo, <a href=\"https:\/\/www.couchbase.com\/blog\/es\/authentication-authorization-rbac\/\">He publicado en el blog algunas de las nuevas funciones de control de acceso basado en roles (RBAC)<\/a> que estamos mostrando en las Couchbase Server 5.0 Developer Builds. Este mes, me gustar\u00eda entrar un poco m\u00e1s en detalle ahora que el <a href=\"https:\/\/www.couchbase.com\/blog\/es\/downloads\/\">April Couchbase Server 5.0 Developer Build est\u00e1 disponible<\/a> (aseg\u00farate de hacer clic en la pesta\u00f1a \"Desarrollador\").<\/p>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_authentication_and_authorization\">Autenticaci\u00f3n y autorizaci\u00f3n<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>En versiones anteriores de Couchbase, los buckets estaban protegidos por una contrase\u00f1a. En 5.0, las contrase\u00f1as de cubo para la autorizaci\u00f3n han desaparecido. Ya no se puede crear una \"contrase\u00f1a de cubo\" para la autorizaci\u00f3n. En su lugar, debes crear uno (o m\u00e1s) usuarios que tengan diferentes niveles de autorizaci\u00f3n para ese bucket. Observe que ya no hay ning\u00fan campo de \"contrase\u00f1a\" (ni siquiera en la \"Configuraci\u00f3n avanzada de cubos\"):<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><span class=\"image\"><img decoding=\"async\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2017\/04\/06601-create-new-bucket-no-password-for-authentication.png\" alt=\"Create a new Couchbase bucket - no password for authorization\" \/><\/span><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>De este modo, ya no tiene que dar una contrase\u00f1a que d\u00e9 acceso completo a un cubo. Puede ajustar la autorizaci\u00f3n de los cubos y proporcionar varios conjuntos de credenciales con distintos niveles de acceso. Esto le ayudar\u00e1 a reforzar la seguridad y a reducir su exposici\u00f3n.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><em>Nota: El usuario administrador todav\u00eda existe, y tiene permiso para hacer todo. As\u00ed que todav\u00eda puedo ejecutar consultas N1QL (por ejemplo) en ese bucket mientras estoy conectado como cuenta de administrador. Sin embargo, esta no es la cuenta que deber\u00edas estar usando desde tus clientes.<\/em><\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_creating_an_authorized_user\">Crear un usuario autorizado<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Para crear un nuevo usuario, debes iniciar sesi\u00f3n como administrador (o como un usuario que tenga el rol de Admin). Ve a la pesta\u00f1a \"Seguridad\" y podr\u00e1s ver una lista de usuarios y a\u00f1adir otros nuevos.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Cree un nuevo usuario haciendo clic en \"A\u00d1ADIR USUARIO\". Introduzca la informaci\u00f3n del usuario. Puede que desee crear un usuario para una persona (por ejemplo, \"Matt\"), o puede que desee crear un usuario para un servicio (por ejemplo, \"MyAspNetApplication\"). Aseg\u00farese de introducir una contrase\u00f1a segura y, a continuaci\u00f3n, seleccione las funciones adecuadas para el usuario que desea crear.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Por ejemplo, creemos un usuario \"Matt\" que s\u00f3lo tenga acceso para ejecutar <code>SELECCIONE<\/code> en el cubo que acabo de crear. En \"Roles\", despliego \"Query Roles\", luego \"Query Select\", y marco la casilla de \"mynewbucket\", y luego \"Save\" para finalizar el usuario.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><span class=\"image\"><img decoding=\"async\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2017\/04\/06602-create-new-user-with-select-authorization.gif\" alt=\"Create a new user with authorization to run a select query\" \/><\/span><\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_authorization_in_action\">Autorizaci\u00f3n en acci\u00f3n<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Cuando salgo de la cuenta de administrador, y vuelvo a entrar como \"Matt\", puedo ver que el nivel de autorizaci\u00f3n que tengo est\u00e1 severamente restringido. S\u00f3lo son visibles \"Panel de control\", \"Servidores\", \"Configuraci\u00f3n\" y \"Consulta\". Si voy a \"Consulta\" puedo ejecutar <code>SELECCIONAR 1<\/code>;<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><span class=\"image\"><img decoding=\"async\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2017\/04\/06603-execute-select-query.png\" alt=\"Execute SELECT query logged in with only Query authorization\" \/><\/span><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Si intento algo m\u00e1s complejo, como <code>SELECT COUNT(1) FROM mynewbucket<\/code>me aparecer\u00e1 un mensaje de error del tipo:<\/p>\n<\/div>\n<div class=\"listingblock\">\n<div class=\"content\">\n<pre class=\"highlight decode:true\"><code class=\"language-JavaScript\">[\r\n  {\r\n    \"code\": 13014,\r\n    \"msg\": \"User does not have credentials to access privilege cluster.bucket[mynewbucket].data.docs!read. Add role Data Reader[mynewbucket] to allow the query to run.\"\r\n  }\r\n]<\/code><\/pre>\n<\/div>\n<\/div>\n<div class=\"paragraph\">\n<p>Por lo tanto, parece que tengo la autenticaci\u00f3n correcta para iniciar sesi\u00f3n, y tengo la autorizaci\u00f3n correcta para ejecutar un <code>SELECCIONE<\/code>pero no tengo la autorizaci\u00f3n correcta para leer los datos. Volver\u00e9 a entrar como administrador y a\u00f1adir\u00e9 la autorizaci\u00f3n de lector de datos.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><span class=\"image\"><img decoding=\"async\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2017\/04\/06604-user-with-two-authorization-roles.gif\" alt=\"User now has authorization for two roles\" \/><\/span><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>En este momento, cuando me conecto con \"Matt\", <code>SELECT COUNT(1) FROM mynewbucket;<\/code> funcionar\u00e1. Si nos est\u00e1 siguiendo, intente <code>SELECT * FROM mynewbucket;<\/code>. Aparecer\u00e1 un mensaje de error que indica que no hay ning\u00fan \u00edndice disponible. Pero, si intenta <code>CREAR \u00cdNDICE<\/code> necesitar\u00e1s otro permiso para hacerlo. Ya te haces una idea.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_new_n1ql_functionality\">Nueva funcionalidad N1QL<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Adem\u00e1s de las nuevas funciones de autenticaci\u00f3n y autorizaci\u00f3n, N1QL incorpora otras nuevas.<\/p>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_grant_and_revoke_role\">conceder y revocar funciones<\/h3>\n<div class=\"paragraph\">\n<p>Puedes otorgar y revocar roles con comandos N1QL. Para ello se necesita acceso de administrador.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>He aqu\u00ed un ejemplo r\u00e1pido de concesi\u00f3n <code>SELECCIONE<\/code> autorizaci\u00f3n de consulta a un usuario llamado \"Matt\" en un bucket llamado \"mynewbucket\":<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><code>GRANT ROLE query_select(`mynewbucket<\/code>) TO Matt;`<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Y del mismo modo, puedes REVOCAR un rol haciendo algo similar:<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><code>REVOKE ROLE query_select(`mynewbucket<\/code>) FROM Matt;`<\/p>\n<\/div>\n<\/div>\n<div class=\"sect2\">\n<h3 id=\"_creating_users_with_rest\">Creaci\u00f3n de usuarios con REST<\/h3>\n<div class=\"paragraph\">\n<p>No hay forma (actualmente) de crear usuarios con N1QL, pero puedes usar la API REST para hacerlo. La documentaci\u00f3n completa vendr\u00e1 m\u00e1s adelante, pero aqu\u00ed est\u00e1 c\u00f3mo se puede crear un usuario con la API REST:<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>PUT al <code>\/configuraci\u00f3n\/rbac\/usuarios\/builtin\/<\/code> punto final.<\/li>\n<li>Utilice credenciales de administrador para este punto final (por ejemplo, Administrador:contrase\u00f1a con autenticaci\u00f3n b\u00e1sica).<\/li>\n<li>El cuerpo debe contener:\n<div class=\"ulist\">\n<ul>\n<li>roles=<\/li>\n<li>contrase\u00f1a=<\/li>\n<\/ul>\n<\/div>\n<\/li>\n<\/ul>\n<\/div>\n<div class=\"paragraph\">\n<p>A continuaci\u00f3n se muestra un ejemplo. Puede utilizar cURL, <a href=\"https:\/\/www.getpostman.com\/\">Cartero<\/a>, <a href=\"https:\/\/www.telerik.com\/fiddler\">Violinista<\/a>o cualquiera que sea su herramienta favorita para realizar la solicitud.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>URL: <code>PUT <a class=\"bare\" href=\"https:\/\/localhost:8091\/settings\/rbac\/users\/builtin\/restman\">https:\/\/localhost:8091\/settings\/rbac\/users\/builtin\/restman<\/a><\/code><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Cabeceras: <code>Content-Type: application\/x-www-form-urlencoded<br \/>\nAutorizaci\u00f3n: Basic QWRtaW5pc3RyYXRvcjpwYXNzd29yZA==<\/code><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Cuerpo: <code>roles=query_select[minuevocubo],query_update[minuevocubo]&amp;password=contrase\u00f1a<\/code><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><em>Lo anterior asume que usted tiene un usuario\/contrase\u00f1a de administrador de Administrator\/password (de ah\u00ed el auth token b\u00e1sico de QWRtaW5pc3RyYXRvcjpwYXNzd29yZA==).<\/em><\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>Despu\u00e9s de ejecutarlo, ver\u00e1s un nuevo usuario llamado \"restman\" con los dos permisos especificados.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><span class=\"image\"><img decoding=\"async\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2017\/04\/06605-create-new-user-with-rest.png\" alt=\"Create a new user with a REST command\" \/><\/span><\/p>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_wait_there_s_more\">\u00a1Espera, hay m\u00e1s!<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>El sistema RBAC es demasiado rico para cubrirlo en una sola entrada de blog, y la documentaci\u00f3n completa est\u00e1 en camino. Mientras tanto, aqu\u00ed tienes algunos detalles que pueden ayudarte a empezar con la vista previa:<\/p>\n<\/div>\n<div class=\"ulist\">\n<ul>\n<li>Es posible que se haya dado cuenta de que <code>todos<\/code> en las capturas de pantalla anteriores. Puede asignar funciones a un usuario cubo por cubo, o puede dar permiso a <strong>todos<\/strong> (incluso los que a\u00fan no se han creado).<\/li>\n<li>Cubr\u00ed los permisos de FTS en la entrada anterior del blog, pero hay permisos que cubren casi todo: vistas, administraci\u00f3n de cubos, copias de seguridad, supervisi\u00f3n, DCP, \u00edndices, etc.<\/li>\n<li>Ya no se pueden crear buckets con contrase\u00f1a. El equivalente es crear en su lugar un usuario con el nombre como el cubo, y darle autorizaci\u00f3n a un rol llamado \"Bucket Full Access\". Esto ser\u00e1 \u00fatil a efectos de actualizaci\u00f3n y transici\u00f3n.<\/li>\n<\/ul>\n<\/div>\n<\/div>\n<\/div>\n<div class=\"sect1\">\n<h2 id=\"_we_still_want_your_feedback\">Seguimos esperando sus comentarios.<\/h2>\n<div class=\"sectionbody\">\n<div class=\"paragraph\">\n<p>Permanezca atento a la <a href=\"https:\/\/www.couchbase.com\/blog\/es\/\">Blog de Couchbase<\/a> para m\u00e1s informaci\u00f3n sobre la pr\u00f3xima versi\u00f3n para desarrolladores.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>\u00bfLe interesa probar algunas de estas nuevas funciones? <a href=\"https:\/\/www.couchbase.com\/blog\/es\/download\/\">Descargar Couchbase Server 5.0 April 2017 Developer Build<\/a> \u00a1hoy!<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>El lanzamiento de la versi\u00f3n 5.0 se acerca r\u00e1pidamente, \u00a1pero a\u00fan queremos tu opini\u00f3n!<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><strong>Bichos<\/strong>: Si encuentra un error (algo que no funciona o que no funciona como cabr\u00eda esperar), presente un problema en nuestra secci\u00f3n <a href=\"https:\/\/issues.couchbase.com\">Sistema JIRA en issues.couchbase.com<\/a> o env\u00ede una pregunta a <a href=\"https:\/\/www.couchbase.com\/blog\/es\/forums\/\">Foros de Couchbase<\/a>. O ponte en contacto conmigo con una descripci\u00f3n del problema. Estar\u00e9 encantado de ayudarte o de enviar el error por ti (mis gestores de Couchbase me dejan hacerme selfies en nuestro sof\u00e1 caricaturescamente grande cuando env\u00edo buenos errores).<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p><strong>Comentarios<\/strong>: D\u00edgame lo que piensa. \u00bfAlgo que no te guste? \u00bfAlgo que te guste mucho? \u00bfFalta algo? Ahora puedes dar tu opini\u00f3n directamente desde la Consola Web de Couchbase. Busca el icono <span class=\"image\"><img decoding=\"async\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2017\/04\/06606-feedback-icon.png\" alt=\"feedback icon\" \/><\/span> en la parte inferior derecha de la pantalla.<\/p>\n<\/div>\n<div class=\"paragraph\">\n<p>En algunos casos, puede resultar dif\u00edcil decidir si su comentario es un error o una sugerencia. Usa tu mejor criterio o, de nuevo, no dudes en ponerte en contacto conmigo para pedirme ayuda. Quiero saber de ti. La mejor forma de contactar conmigo es <a href=\"https:\/\/twitter.com\/mgroves\">Twitter @mgroves<\/a> o env\u00edeme un correo electr\u00f3nico <a href=\"mailto:matthew.groves@couchbase.com\">matthew.groves@couchbase.com<\/a>.<\/p>\n<\/div>\n<\/div>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>Authorization and authentication are important to Couchbase. In March, I blogged about some of the new Role Based Access Control (RBAC) that we are showing in the Couchbase Server 5.0 Developer Builds. This month, I\u2019d like to go into a [&hellip;]<\/p>","protected":false},"author":71,"featured_media":3004,"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,1456,1903],"ppma_author":[8937],"class_list":["post-3332","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-couchbase-server","category-security","tag-authentication","tag-authorization","tag-rbac"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v26.2 (Yoast SEO v26.2) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Authorization &amp; Authentication with RBAC (Part 2) - The Couchbase Blog<\/title>\n<meta name=\"description\" content=\"Authentication and authorization are important to Couchbase. I&#039;d like to go into more detail now that the April Couchbase 5.0 Developer Build is available.\" \/>\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\/es\/authentication-authorization-rbac-part-2\/\" \/>\n<meta property=\"og:locale\" content=\"es_MX\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Authorization &amp; Authentication with RBAC (Part 2)\" \/>\n<meta property=\"og:description\" content=\"Authentication and authorization are important to Couchbase. I&#039;d like to go into more detail now that the April Couchbase 5.0 Developer Build is available.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/es\/authentication-authorization-rbac-part-2\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2017-04-24T18:30:54+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-14T02:29:03+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/03\/059-Hero-Key-Locks-Security-Authentication-Authorization-e1657658890360.jpeg\" \/>\n\t<meta property=\"og:image:width\" content=\"1125\" \/>\n\t<meta property=\"og:image:height\" content=\"750\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Matthew Groves\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@mgroves\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Matthew Groves\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/authentication-authorization-rbac-part-2\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/authentication-authorization-rbac-part-2\/\"},\"author\":{\"name\":\"Matthew Groves\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/3929663e372020321b0152dc4fa65a58\"},\"headline\":\"Authorization &amp; Authentication with RBAC (Part 2)\",\"datePublished\":\"2017-04-24T18:30:54+00:00\",\"dateModified\":\"2025-06-14T02:29:03+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/authentication-authorization-rbac-part-2\/\"},\"wordCount\":1100,\"commentCount\":5,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/authentication-authorization-rbac-part-2\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/03\/059-Hero-Key-Locks-Security-Authentication-Authorization-e1657658890360.jpeg\",\"keywords\":[\"authentication\",\"authorization\",\"RBAC\"],\"articleSection\":[\"Couchbase Server\",\"Security\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/authentication-authorization-rbac-part-2\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/authentication-authorization-rbac-part-2\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/authentication-authorization-rbac-part-2\/\",\"name\":\"Authorization &amp; Authentication with RBAC (Part 2) - The Couchbase Blog\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/authentication-authorization-rbac-part-2\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/authentication-authorization-rbac-part-2\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/03\/059-Hero-Key-Locks-Security-Authentication-Authorization-e1657658890360.jpeg\",\"datePublished\":\"2017-04-24T18:30:54+00:00\",\"dateModified\":\"2025-06-14T02:29:03+00:00\",\"description\":\"Authentication and authorization are important to Couchbase. I'd like to go into more detail now that the April Couchbase 5.0 Developer Build is available.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/authentication-authorization-rbac-part-2\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/authentication-authorization-rbac-part-2\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/authentication-authorization-rbac-part-2\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/03\/059-Hero-Key-Locks-Security-Authentication-Authorization-e1657658890360.jpeg\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/03\/059-Hero-Key-Locks-Security-Authentication-Authorization-e1657658890360.jpeg\",\"width\":1125,\"height\":750,\"caption\":\"NoSQL has built-in security with Couchbase\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/authentication-authorization-rbac-part-2\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Authorization &amp; Authentication with RBAC (Part 2)\"}]},{\"@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\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\",\"name\":\"The Couchbase Blog\",\"url\":\"https:\/\/www.couchbase.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@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\/3929663e372020321b0152dc4fa65a58\",\"name\":\"Matthew Groves\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/ba51e6aacc53995c323a634e4502ef54\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g\",\"caption\":\"Matthew Groves\"},\"description\":\"Matthew D. Groves is a guy who loves to code. It doesn't matter if it's C#, jQuery, or PHP: he'll submit pull requests for anything. He has been coding professionally ever since he wrote a QuickBASIC point-of-sale app for his parent's pizza shop back in the 90s. He currently works as a Senior Product Marketing Manager for Couchbase. His free time is spent with his family, watching the Reds, and getting involved in the developer community. He is the author of AOP in .NET, Pro Microservices in .NET, a Pluralsight author, and a Microsoft MVP.\",\"sameAs\":[\"https:\/\/crosscuttingconcerns.com\",\"https:\/\/x.com\/mgroves\"],\"url\":\"https:\/\/www.couchbase.com\/blog\/es\/author\/matthew-groves\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Authorization &amp; Authentication with RBAC (Part 2) - The Couchbase Blog","description":"Authentication and authorization are important to Couchbase. I'd like to go into more detail now that the April Couchbase 5.0 Developer Build is available.","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\/es\/authentication-authorization-rbac-part-2\/","og_locale":"es_MX","og_type":"article","og_title":"Authorization &amp; Authentication with RBAC (Part 2)","og_description":"Authentication and authorization are important to Couchbase. I'd like to go into more detail now that the April Couchbase 5.0 Developer Build is available.","og_url":"https:\/\/www.couchbase.com\/blog\/es\/authentication-authorization-rbac-part-2\/","og_site_name":"The Couchbase Blog","article_published_time":"2017-04-24T18:30:54+00:00","article_modified_time":"2025-06-14T02:29:03+00:00","og_image":[{"width":1125,"height":750,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/03\/059-Hero-Key-Locks-Security-Authentication-Authorization-e1657658890360.jpeg","type":"image\/jpeg"}],"author":"Matthew Groves","twitter_card":"summary_large_image","twitter_creator":"@mgroves","twitter_misc":{"Written by":"Matthew Groves","Est. reading time":"7 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/authentication-authorization-rbac-part-2\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/authentication-authorization-rbac-part-2\/"},"author":{"name":"Matthew Groves","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/3929663e372020321b0152dc4fa65a58"},"headline":"Authorization &amp; Authentication with RBAC (Part 2)","datePublished":"2017-04-24T18:30:54+00:00","dateModified":"2025-06-14T02:29:03+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/authentication-authorization-rbac-part-2\/"},"wordCount":1100,"commentCount":5,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/authentication-authorization-rbac-part-2\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/03\/059-Hero-Key-Locks-Security-Authentication-Authorization-e1657658890360.jpeg","keywords":["authentication","authorization","RBAC"],"articleSection":["Couchbase Server","Security"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/authentication-authorization-rbac-part-2\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/authentication-authorization-rbac-part-2\/","url":"https:\/\/www.couchbase.com\/blog\/authentication-authorization-rbac-part-2\/","name":"Authorization &amp; Authentication with RBAC (Part 2) - The Couchbase Blog","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/authentication-authorization-rbac-part-2\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/authentication-authorization-rbac-part-2\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/03\/059-Hero-Key-Locks-Security-Authentication-Authorization-e1657658890360.jpeg","datePublished":"2017-04-24T18:30:54+00:00","dateModified":"2025-06-14T02:29:03+00:00","description":"Authentication and authorization are important to Couchbase. I'd like to go into more detail now that the April Couchbase 5.0 Developer Build is available.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/authentication-authorization-rbac-part-2\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/authentication-authorization-rbac-part-2\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/authentication-authorization-rbac-part-2\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/03\/059-Hero-Key-Locks-Security-Authentication-Authorization-e1657658890360.jpeg","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2017\/03\/059-Hero-Key-Locks-Security-Authentication-Authorization-e1657658890360.jpeg","width":1125,"height":750,"caption":"NoSQL has built-in security with Couchbase"},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/authentication-authorization-rbac-part-2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Authorization &amp; Authentication with RBAC (Part 2)"}]},{"@type":"WebSite","@id":"https:\/\/www.couchbase.com\/blog\/#website","url":"https:\/\/www.couchbase.com\/blog\/","name":"El blog de Couchbase","description":"Couchbase, la base de datos 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":"es"},{"@type":"Organization","@id":"https:\/\/www.couchbase.com\/blog\/#organization","name":"El blog de Couchbase","url":"https:\/\/www.couchbase.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"es","@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\/3929663e372020321b0152dc4fa65a58","name":"Matthew Groves","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/ba51e6aacc53995c323a634e4502ef54","url":"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g","caption":"Matthew Groves"},"description":"A Matthew D. Groves le encanta programar. No importa si se trata de C#, jQuery o PHP: enviar\u00e1 pull requests para cualquier cosa. Lleva codificando profesionalmente desde que escribi\u00f3 una aplicaci\u00f3n de punto de venta en QuickBASIC para la pizzer\u00eda de sus padres, all\u00e1 por los a\u00f1os noventa. Actualmente trabaja como Director de Marketing de Producto para Couchbase. Su tiempo libre lo pasa con su familia, viendo a los Reds y participando en la comunidad de desarrolladores. Es autor de AOP in .NET, Pro Microservices in .NET, autor de Pluralsight y MVP de Microsoft.","sameAs":["https:\/\/crosscuttingconcerns.com","https:\/\/x.com\/mgroves"],"url":"https:\/\/www.couchbase.com\/blog\/es\/author\/matthew-groves\/"}]}},"authors":[{"term_id":8937,"user_id":71,"is_guest":0,"slug":"matthew-groves","display_name":"Matthew Groves","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/70feb1b28a099ad0112b8d21fe1e81e1a4524beed3e20b7f107d5370e85a07ab?s=96&d=mm&r=g","author_category":"","last_name":"Groves","first_name":"Matthew","job_title":"","user_url":"https:\/\/crosscuttingconcerns.com","description":"A Matthew D. Groves le encanta programar.  No importa si se trata de C#, jQuery o PHP: enviar\u00e1 pull requests para cualquier cosa.  Lleva codificando profesionalmente desde que escribi\u00f3 una aplicaci\u00f3n de punto de venta en QuickBASIC para la pizzer\u00eda de sus padres, all\u00e1 por los a\u00f1os noventa.  Actualmente trabaja como Director de Marketing de Producto para Couchbase. Su tiempo libre lo pasa con su familia, viendo a los Reds y participando en la comunidad de desarrolladores.  Es autor de AOP in .NET, Pro Microservices in .NET, autor de Pluralsight y MVP de Microsoft."}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/3332","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/users\/71"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/comments?post=3332"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/3332\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media\/3004"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media?parent=3332"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/categories?post=3332"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/tags?post=3332"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/ppma_author?post=3332"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}