{"id":9670,"date":"2021-08-05T00:00:39","date_gmt":"2021-08-05T07:00:39","guid":{"rendered":"https:\/\/www.couchbase.com\/blog\/?p=9670"},"modified":"2025-06-13T19:27:03","modified_gmt":"2025-06-14T02:27:03","slug":"introducing-rbac-security-for-collections","status":"publish","type":"post","link":"https:\/\/www.couchbase.com\/blog\/es\/introducing-rbac-security-for-collections\/","title":{"rendered":"Introducci\u00f3n a la seguridad de control de acceso basado en roles (RBAC) para colecciones en Couchbase 7.0"},"content":{"rendered":"<p><strong>Tus datos en Couchbase son ahora m\u00e1s seguros.<\/strong> <\/p>\n<p>Couchbase Server 7.0 introdujo Scopes y Collections para mejorar el mapeo entre modelos de datos relacionales y NoSQL. Pero la versi\u00f3n 7.0 tambi\u00e9n incluye algunas mejoras adicionales para reforzar la seguridad de <a href=\"https:\/\/www.couchbase.com\/blog\/es\/products\/capella\/\" rel=\"noopener\" target=\"_blank\">la plataforma de datos<\/a>. M\u00e1s concretamente, la seguridad de control de acceso basado en roles (RBAC) se soporta ahora a nivel de \u00c1mbitos y Colecciones individuales.  <\/p>\n<p>\u00bfQu\u00e9 significa todo esto para tus despliegues de Couchbase? Vamos a ello.<\/p>\n<h2>Roles de seguridad RBAC existentes en Couchbase<\/h2>\n<p>Couchbase Server ha permitido controles detallados del acceso de los usuarios a la plataforma con seguridad de control de acceso basado en roles (RBAC). <a href=\"https:\/\/www.couchbase.com\/blog\/es\/administrative-role-based-access-control-in-4-5\/?ref=blog\" rel=\"noopener\" target=\"_blank\">para administradores desde la versi\u00f3n 4.5<\/a> y para <a href=\"https:\/\/www.couchbase.com\/blog\/es\/secure-nosql-data-couchbase-role-based-access-control\/?ref=blog\" rel=\"noopener\" target=\"_blank\">todos los usuarios desde la versi\u00f3n 5.0<\/a>. Couchbase Collections se introdujeron como una funci\u00f3n de vista previa para desarrolladores en Couchbase Server 6.5 y son <a href=\"https:\/\/www.couchbase.com\/blog\/es\/couchbase-server-7-0-release\/?ref=blog\" rel=\"noopener\" target=\"_blank\">ahora totalmente compatible con Couchbase Server 7.0<\/a>. <\/p>\n<p>Couchbase <a href=\"https:\/\/docs.couchbase.com\/server\/current\/learn\/security\/roles.html?ref=blog\" rel=\"noopener\" target=\"_blank\">Roles de seguridad RBAC<\/a> antes se divid\u00edan en dos categor\u00edas:<\/p>\n<ul>\n<ul>\n<li><strong>Administraci\u00f3n y Global:<\/strong> Estos roles est\u00e1n asociados con privilegios para todo el cluster. Algunos de estos roles son para administradores que pueden gestionar configuraciones de cl\u00faster, leer estad\u00edsticas o reforzar la seguridad. Otros son para usuarios y aplicaciones definidas por el usuario que requieren acceso a recursos espec\u00edficos de todo el cl\u00faster.<\/li>\n<li><strong>Por cubo:<\/strong> Estos roles est\u00e1n asociados a uno o m\u00e1s Buckets y soportan la lectura y escritura de la configuraci\u00f3n del Bucket, el acceso a los datos y la gesti\u00f3n de servicios, \u00edndices y procedimientos de replicaci\u00f3n.<\/li>\n<\/ul>\n<\/ul>\n<div class=\"wp-block-spacer\" style=\"height: 15px\" aria-hidden=\"true\"> <\/div>\n<h2>Ejemplo de RBAC con \u00e1mbitos y colecciones<\/h2>\n<p>Por ejemplo, puede haber dado acceso de lectura a un Bucket llamado <code>Viajar<\/code> a un buscador de hoteles de confianza llamado Acme Co. con un usuario llamado <code>acme<\/code> utilizando un comando como este en la interfaz de l\u00ednea de comandos de un cl\u00faster basado en Linux. (Es posible que tengas que ajustar las rutas si utilizas otra plataforma).<\/p>\n<pre>\r\n\/opt\/couchbase\/bin\/couchbase-cli user-manage -c localhost:8091  -u Administrator  -p password \\\r\n --set --rbac-username acme --rbac-password cbpass7beta  --rbac-name \"Acme Co. (Hotel)\" \\\r\n --roles data_reader[Travel] --auth-domain local\r\n<\/pre>\n<div class=\"wp-block-spacer\" style=\"height: 15px\" aria-hidden=\"true\"> <\/div>\n<p>Lo que esto har\u00eda es permitir a su socio de b\u00fasqueda de hoteles Acme Co. acceder a todos los datos que su empresa est\u00e1 almacenando en el <code>Viajar<\/code> Couchbase Bucket. Esto podr\u00eda incluir pedidos, inventario y otros datos no s\u00f3lo de hoteles, sino tambi\u00e9n de aerol\u00edneas y otros productos de viaje. Siguiendo el principio del menor privilegio, \u00bfqu\u00e9 pasar\u00eda si quisi\u00e9ramos limitar a qu\u00e9 datos tiene acceso Acme Co., en lugar de permitirles el acceso a <em>todos<\/em> datos de viajes en nuestra empresa?<\/p>\n<p>Las colecciones permiten organizar los documentos JSON en un bucket de Couchbase, primero en \u00e1mbitos, donde un \u00e1mbito es similar a un esquema en una base de datos relacional (RDBMS). A continuaci\u00f3n, el \u00e1mbito se subdivide en colecciones individuales, de forma similar a c\u00f3mo se estructurar\u00eda una tabla en una base de datos relacional tradicional. <\/p>\n<p>El espacio de nombres dentro de cada \u00e1mbito es independiente de los dem\u00e1s, por lo que puede tener los mismos nombres de colecciones dentro de \u00e1mbitos diferentes. Del mismo modo, las claves de los documentos s\u00f3lo deben ser \u00fanicas dentro de una colecci\u00f3n, por lo que pueden existir documentos con la misma clave en distintas colecciones. <\/p>\n<p>Antes de la introducci\u00f3n de Scopes y Collections, era com\u00fan organizar los documentos de Couchbase bas\u00e1ndose en prefijos clave, como por ejemplo <code>Pedidos::Europa::Cliente1<\/code>. Las colecciones ofrecen mucha m\u00e1s flexibilidad en las claves de los documentos que antes.<\/p>\n<p>A continuaci\u00f3n se muestra un diagrama visual de la relaci\u00f3n entre Buckets, Scopes y Collections para un ejemplo de conjunto de datos de viajes. <\/p>\n<div class=\"wp-block-spacer\" style=\"height: 15px\" aria-hidden=\"true\"> <\/div>\n<p><a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/11\/CollectionsDiagram.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-large wp-image-9739\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/11\/CollectionsDiagram-1024x599.png\" alt=\"Buckets, Scopes and Collections within Couchbase\" width=\"900\" height=\"526\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/CollectionsDiagram-1024x599.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/CollectionsDiagram-300x176.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/CollectionsDiagram-768x449.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/CollectionsDiagram-20x12.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/CollectionsDiagram.png 1080w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/a><\/p>\n<div class=\"wp-block-spacer\" style=\"height: 15px\" aria-hidden=\"true\"> <\/div>\n<p>Para que las actualizaciones sean fluidas y compatibles con las versiones anteriores, todos los cubos tienen ahora una etiqueta <code>Por defecto<\/code> \u00c1mbito de aplicaci\u00f3n <code>Por defecto<\/code> Scope tiene un <code>Por defecto<\/code> Colecci\u00f3n. En <code>Por defecto<\/code> Collection proporciona compatibilidad con versiones anteriores y una referencia directa al Bucket se asigna autom\u00e1ticamente a la colecci\u00f3n <code>Por defecto<\/code> Recogida. Adem\u00e1s, al actualizar, todos los datos existentes se a\u00f1aden autom\u00e1ticamente a la colecci\u00f3n <code>Por defecto<\/code> Colecci\u00f3n. <\/p>\n<p>Mientras que el <code>Por defecto<\/code> Collection se proporciona como un mecanismo de compatibilidad con versiones anteriores, las nuevas aplicaciones deben escribirse utilizando Colecciones con nombre. Como puede ver, las Colecciones permiten opciones adicionales para organizar los datos en un entorno <a href=\"https:\/\/www.couchbase.com\/blog\/es\/products\/server\/?ref=blog\" rel=\"noopener\" target=\"_blank\">Servidor Couchbase<\/a> racimo.<\/p>\n<p>Volviendo al ejemplo anterior, \u00bfqu\u00e9 pasar\u00eda si quisi\u00e9ramos permitir que Acme Co. s\u00f3lo viera los datos del hotel, en lugar de todos los datos de viajes de la empresa? Con Colecciones, ahora puede limitar el acceso de Acme a s\u00f3lo el \u00c1mbito de su elecci\u00f3n. <\/p>\n<p>Por ejemplo, supongamos que Acme Co. necesita comprobar el inventario de habitaciones de hotel disponibles, podemos reducir su funci\u00f3n RBAC a la funci\u00f3n <code>Hotel<\/code> Colecci\u00f3n dentro del <code>Inventario<\/code> \u00c1mbito dentro del <code>Viajar<\/code> Cubo.<\/p>\n<h2>Explicaci\u00f3n de la seguridad del control de acceso basado en funciones (RBAC)<\/h2>\n<p>\u00bfC\u00f3mo funcionan los \u00e1mbitos y las colecciones con el control de acceso basado en funciones en la base de datos? <\/p>\n<p>Un usuario con acceso a un Bucket hereda el acceso a los Scopes y Collections hijos de ese Bucket. Del mismo modo, un usuario con acceso a un \u00e1mbito hereda el acceso a las colecciones secundarias, pero no al cubo principal. <\/p>\n<p>Aqu\u00ed tienes un desglose de c\u00f3mo funciona la nueva seguridad basada en roles con Colecciones:<\/p>\n<table>\n<tbody>\n<tr>\n<td><strong>Papel<\/strong><\/td>\n<td><strong>Descripci\u00f3n<\/strong><\/td>\n<\/tr>\n<tr>\n<td><code>lector_datos[*]<\/code><\/td>\n<td>Puede leer datos en cada Bucket, incluyendo cada Scope y Collection, en todo el cluster.<\/td>\n<\/tr>\n<tr>\n<td><code>lector_datos[foo]<\/code><\/td>\n<td>Puede leer datos en todos los \u00c1mbitos y Colecciones s\u00f3lo dentro del Cubo <code>foo<\/code>.<\/td>\n<\/tr>\n<tr>\n<td><code>lector_datos[foo:bar]<\/code><\/td>\n<td>Puede leer los datos de todas las colecciones del \u00e1mbito de aplicaci\u00f3n. <strong>bar<\/strong> del Cubo <code>foo<\/code>.<\/td>\n<\/tr>\n<tr>\n<td><code>lector_datos[foo:bar:baz]<\/code><\/td>\n<td>S\u00f3lo puede leer datos en la colecci\u00f3n <em>baz<\/em> que se encuentra en el \u00c1mbito <strong>bar<\/strong> del Cubo <code>foo<\/code>.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<div class=\"wp-block-spacer\" style=\"height: 15px\" aria-hidden=\"true\"> <\/div>\n<div class=\"wp-block-spacer\" style=\"height: 15px\" aria-hidden=\"true\"> <\/div>\n<a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/11\/CollectionsRBAC-example1.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/11\/CollectionsRBAC-example1-1024x580.png\" alt=\"Role-based access control on Couchbase Scopes and Collections Example\" width=\"900\" height=\"510\" class=\"aligncenter size-large wp-image-9737\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/CollectionsRBAC-example1-1024x580.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/CollectionsRBAC-example1-300x170.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/CollectionsRBAC-example1-768x435.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/CollectionsRBAC-example1-20x11.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/CollectionsRBAC-example1.png 1084w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/a>\n<div class=\"wp-block-spacer\" style=\"height: 15px\" aria-hidden=\"true\"> <\/div>\n<a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/11\/CollectionsRBAC-example2.png\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/11\/CollectionsRBAC-example2-1024x527.png\" alt=\"An example of RBAC security on Scopes and Collections in Couchbase\" width=\"900\" height=\"463\" class=\"aligncenter size-large wp-image-9738\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/CollectionsRBAC-example2-1024x527.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/CollectionsRBAC-example2-300x154.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/CollectionsRBAC-example2-768x395.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/CollectionsRBAC-example2-20x10.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/CollectionsRBAC-example2.png 1080w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/a>\n<div class=\"wp-block-spacer\" style=\"height: 15px\" aria-hidden=\"true\"> <\/div>\n<p>Para Acme Co, el comando CLI es similar al ejemplo anterior, pero en lugar de establecer el RBAC en un Bucket, es necesario ajustarlo para permitir s\u00f3lo un \u00fanico Scope y\/o Collection.<\/p>\n<p>En nuestro ejemplo anterior, queremos permitir que el <code>acme<\/code> acceso del usuario al <code>Hotel<\/code> Colecci\u00f3n dentro del <code>Inventario<\/code> Scope, por lo que en este caso la funci\u00f3n ser\u00eda <code>data_reader[Viaje:Inventario:Hotel]<\/code>.<\/p>\n<pre>\r\n\/opt\/couchbase\/bin\/couchbase-cli user-manage -c localhost:8091 -u Administrator  -p password \\\r\n --set --rbac-username acme --rbac-password cbpass7beta --rbac-name \"Acme Co. (Hotel)\" \\\r\n --roles data_reader[Travel:Inventory:Hotel] --auth-domain local\r\n<\/pre>\n<p>Probablemente se est\u00e9 preguntando, \u00bfqu\u00e9 funciones de acceso de usuario pueden tener un \u00c1mbito y una Colecci\u00f3n definidos? Aqu\u00ed est\u00e1 la lista completa:<\/p>\n<ul><\/ul>\n<li>Acceso a la aplicaci\u00f3n<\/li>\n<li>Lector de datos<\/li>\n<li>Redactor de datos<\/li>\n<li>Lector DCP de datos<\/li>\n<li>Supervisi\u00f3n de datos<\/li>\n<li>Lector de b\u00fasqueda de texto completo (FTS)<\/li>\n<li>Seleccionar consulta<\/li>\n<li>Actualizaci\u00f3n de consultas<\/li>\n<li>Insertar consulta<\/li>\n<li>Consulta Borrar<\/li>\n<li>Consulta Gestionar \u00edndice<\/li>\n<li>Selecci\u00f3n de an\u00e1lisis<\/li>\n<li>Tambi\u00e9n hemos a\u00f1adido la funci\u00f3n Gestionar colecciones en el \u00e1mbito para que un usuario pueda a\u00f1adir y eliminar colecciones en un \u00e1mbito espec\u00edfico de un cubo.<\/li>\n<\/ul>\n<\/ul>\n<div class=\"wp-block-spacer\" style=\"height: 15px\" aria-hidden=\"true\"> <\/div>\n<h2>Ejemplo pr\u00e1ctico de seguridad RBAC con Couchbase Server 7.0<\/h2>\n<p>Ahora es el momento de ver otros ejemplos pr\u00e1cticos que puedes <a href=\"https:\/\/www.couchbase.com\/blog\/es\/downloads\/?ref=blog\" rel=\"noopener\" target=\"_blank\">pru\u00e9belo usted mismo en Couchbase Server 7.0<\/a>. Como antes, estoy usando un cluster basado en Linux, as\u00ed que puede que necesites ajustar las rutas si usas otra plataforma. Necesitar\u00e1s ejecutar los Servicios de Datos, Consultas e \u00cdndices de Couchbase para este ejemplo.<\/p>\n<p>En primer lugar, cargue el <code>viaje-muestra<\/code> Bucket en su cl\u00faster. <\/p>\n<pre>\r\ncurl -X POST -u Administrator:password https:\/\/localhost:8091\/sampleBuckets\/install -d '[\"travel-sample\"]'\r\n[]\r\n<\/pre>\n<div class=\"wp-block-spacer\" style=\"height: 15px\" aria-hidden=\"true\"> <\/div>\n<p>A continuaci\u00f3n, cree algunas colecciones adicionales en el cubo. Utilizaremos la colecci\u00f3n <code>Por defecto<\/code> Alcance. Deber\u00e1 utilizar un usuario administrador de Bucket (o privilegios superiores) para crear las nuevas colecciones. <\/p>\n<pre>\r\n$ \/opt\/couchbase\/bin\/couchbase-cli collection-manage --create-collection _default.hotel -c localhost \\\r\n -u Administrator -p password --bucket travel-sample\r\n<\/pre>\n<pre>\r\nSUCCESS: Collection created\r\n<\/pre>\n<pre>\r\n$ \/opt\/couchbase\/bin\/couchbase-cli collection-manage --create-collection _default.airport -c localhost \\\r\n-u Administrator -p password --bucket travel-sample\r\n<\/pre>\n<pre>\r\nSUCCESS: Collection created\r\n<\/pre>\n<pre>\r\n$ \/opt\/couchbase\/bin\/couchbase-cli collection-manage --create-collection _default.airline -c localhost \\\r\n-u Administrator -p password --bucket travel-sample\r\n<\/pre>\n<pre>\r\nSUCCESS: Collection created\r\n<\/pre>\n<pre>\r\n$ \/opt\/couchbase\/bin\/couchbase-cli collection-manage --create-collection _default.landmark -c localhost \\\r\n -u Administrator -p password --bucket travel-sample\r\n<\/pre>\n<pre>\r\nSUCCESS: Collection created\r\n<\/pre>\n<div class=\"wp-block-spacer\" style=\"height: 15px\" aria-hidden=\"true\"> <\/div>\n<p>Tambi\u00e9n puede ver estas colecciones en la interfaz web del servidor Couchbase, como se muestra a continuaci\u00f3n.<\/p>\n<div class=\"wp-block-spacer\" style=\"height: 15px\" aria-hidden=\"true\"> <\/div>\n<div id=\"attachment_9676\" style=\"width: 910px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/11\/CollectionsRBAC-02.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-9676\" class=\"wp-image-9676 size-large\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/11\/CollectionsRBAC-02-1024x564.png\" alt=\"Screenshot of Couchbase Server 7.0 Buckets\" width=\"900\" height=\"496\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/CollectionsRBAC-02-1024x564.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/CollectionsRBAC-02-300x165.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/CollectionsRBAC-02-768x423.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/CollectionsRBAC-02-20x11.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/CollectionsRBAC-02.png 1246w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/a><p id=\"caption-attachment-9676\" class=\"wp-caption-text\">La vista Bucket en Couchbase Server 7.0<\/p><\/div>\n<div class=\"wp-block-spacer\" style=\"height: 15px\" aria-hidden=\"true\"> <\/div>\n<div id=\"attachment_9677\" style=\"width: 910px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/11\/CollectionsRBAC-03.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-9677\" class=\"wp-image-9677 size-large\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/11\/CollectionsRBAC-03-1024x561.png\" alt=\"Couchbase Server 7.0 Scopes and Collections Screenshot\" width=\"900\" height=\"493\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/CollectionsRBAC-03-1024x561.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/CollectionsRBAC-03-300x164.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/CollectionsRBAC-03-768x421.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/CollectionsRBAC-03-20x11.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/CollectionsRBAC-03.png 1244w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/a><p id=\"caption-attachment-9677\" class=\"wp-caption-text\">La vista de \u00c1mbitos y Colecciones en Couchbase Server 7.0<\/p><\/div>\n<div class=\"wp-block-spacer\" style=\"height: 15px\" aria-hidden=\"true\"> <\/div>\n<p>A continuaci\u00f3n, cargaremos datos en cada una de las colecciones bas\u00e1ndonos en un campo que ya existe en los documentos, denominado <code>tipo<\/code>. El documento <code>tipo<\/code> coincide con la nueva colecci\u00f3n que acabamos de crear. Los datos se copian en la colecci\u00f3n utilizando <a href=\"https:\/\/www.couchbase.com\/blog\/es\/products\/n1ql\/?ref=blog\" rel=\"noopener\" target=\"_blank\">el lenguaje de consulta N1QL<\/a> desde la l\u00ednea de comandos. <strong>Nota:<\/strong> Debemos tener cuidado con los caracteres de escape que el int\u00e9rprete de comandos intentar\u00eda ejecutar, como los puntos suspensivos.<\/p>\n<p>Si tienes alg\u00fan problema con el formato o con la ejecuci\u00f3n del comando, aqu\u00ed tienes una imagen de ejemplo de c\u00f3mo deber\u00eda ser el comando. <\/p>\n<div class=\"wp-block-spacer\" style=\"height: 15px\" aria-hidden=\"true\"> <\/div>\n<p><a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/11\/Screenshot-N1QL-HotelCollectionPopulate.png\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-9814\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/11\/Screenshot-N1QL-HotelCollectionPopulate.png\" alt=\"Screenshot of N1QL query for Hotel Collection Populate\" width=\"1500\" height=\"74\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/Screenshot-N1QL-HotelCollectionPopulate.png 1500w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/Screenshot-N1QL-HotelCollectionPopulate-300x15.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/Screenshot-N1QL-HotelCollectionPopulate-1024x51.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/Screenshot-N1QL-HotelCollectionPopulate-768x38.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/Screenshot-N1QL-HotelCollectionPopulate-20x1.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/Screenshot-N1QL-HotelCollectionPopulate-1320x65.png 1320w\" sizes=\"auto, (max-width: 1500px) 100vw, 1500px\" \/><\/a><\/p>\n<div class=\"wp-block-spacer\" style=\"height: 15px\" aria-hidden=\"true\"> <\/div>\n<pre>\r\n\/opt\/couchbase\/bin\/cbq -u=Administrator -p=password --script=\\\r\n\"INSERT INTO \\\\`travel-sample\\\\`._default.hotel (KEY _key, VALUE _value)\\\r\n SELECT meta().id _key, _value FROM \\\\`travel-sample\\\\` _value WHERE type='hotel'\"\r\n<\/pre>\n<pre>\r\n\/opt\/couchbase\/bin\/cbq -u=Administrator -p=password --script=\\\r\n\"INSERT INTO \\\\`travel-sample\\\\`._default.airport (KEY _key, VALUE _value)\\\r\n SELECT meta().id _key, _value FROM \\\\`travel-sample\\\\` _value WHERE type='airport'\"\r\n<\/pre>\n<pre>\r\n\/opt\/couchbase\/bin\/cbq -u=Administrator -p=password --script=\\\r\n\"INSERT INTO \\\\`travel-sample\\\\`._default.airline (KEY _key, VALUE _value)\\\r\n SELECT meta().id _key, _value FROM \\\\`travel-sample\\\\` _value WHERE type='airline'\"\r\n<\/pre>\n<pre>\r\n\/opt\/couchbase\/bin\/cbq -u=Administrator -p=password --script=\\\r\n\"INSERT INTO \\\\`travel-sample\\\\`._default.landmark (KEY _key, VALUE _value)\\\r\n SELECT meta().id _key, _value FROM \\\\`travel-sample\\\\` _value WHERE type='landmark'\"\r\n<\/pre>\n<div class=\"wp-block-spacer\" style=\"height: 15px\" aria-hidden=\"true\"> <\/div>\n<p>Vamos a crear un \u00edndice primario en <code>hotel<\/code> Recaudaci\u00f3n como administrador:<\/p>\n<pre>\r\n\/opt\/couchbase\/bin\/cbq -u=Administrator -p=password --script=\\\r\n\"CREATE PRIMARY INDEX \\`hotel-primary\\` ON \\\\`travel-sample\\\\`._default.hotel\"\r\n<\/pre>\n<div class=\"wp-block-spacer\" style=\"height: 15px\" aria-hidden=\"true\"> <\/div>\n<p>Ahora, vamos a obtener una lista de todos los usuarios y roles:<\/p>\n<pre>\r\n\/opt\/couchbase\/bin\/couchbase-cli user-manage -c localhost:8091 -u Administrator -p password --list\r\n<\/pre>\n<pre>\r\n[]\r\n<\/pre>\n<div class=\"wp-block-spacer\" style=\"height: 15px\" aria-hidden=\"true\"> <\/div>\n<p>Como puede ver arriba, actualmente s\u00f3lo tenemos el Administrador incorporado y ning\u00fan usuario adicional. As\u00ed que la salida del comando est\u00e1 vac\u00eda, como era de esperar. <\/p>\n<p>A continuaci\u00f3n, vamos a crear un usuario, John Doe. Le daremos a John un rol de lector de datos y un rol de selecci\u00f3n de consulta en el directorio <code>hotel<\/code> Colecci\u00f3n, que se encuentra en la <code>Por defecto<\/code> Alcance.<\/p>\n<pre>\r\n\/opt\/couchbase\/bin\/couchbase-cli user-manage -c localhost:8091 -u Administrator  -p password \\\r\n--set --rbac-username jdoe --rbac-password cbpass7beta  --rbac-name \"John Doe\" \\\r\n--roles data_reader[travel-sample:_default:hotel],query_select[travel-sample:_default:hotel]  \\\r\n--auth-domain local\r\n<\/pre>\n<pre>\r\nSUCCESS: User jdoe set\r\n<\/pre>\n<div class=\"wp-block-spacer\" style=\"height: 15px\" aria-hidden=\"true\"> <\/div>\n<p>Tambi\u00e9n puede hacerlo desde la interfaz web.<\/p>\n<div class=\"wp-block-spacer\" style=\"height: 15px\" aria-hidden=\"true\"> <\/div>\n<div id=\"attachment_9678\" style=\"width: 910px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/11\/CollectionsRBAC-04.png\"><img loading=\"lazy\" decoding=\"async\" aria-describedby=\"caption-attachment-9678\" class=\"wp-image-9678 size-large\" src=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/2020\/11\/CollectionsRBAC-04-1024x362.png\" alt=\"Couchbase Server 7.0 screenshot of user roles\" width=\"900\" height=\"318\" srcset=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/CollectionsRBAC-04-1024x362.png 1024w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/CollectionsRBAC-04-300x106.png 300w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/CollectionsRBAC-04-768x271.png 768w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/CollectionsRBAC-04-20x7.png 20w, https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/CollectionsRBAC-04.png 1246w\" sizes=\"auto, (max-width: 900px) 100vw, 900px\" \/><\/a><p id=\"caption-attachment-9678\" class=\"wp-caption-text\">Roles de usuario RBAC en Couchbase Server 7.0<\/p><\/div>\n<div class=\"wp-block-spacer\" style=\"height: 15px\" aria-hidden=\"true\"> <\/div>\n<p>A continuaci\u00f3n, verificamos que John Doe dispone de los permisos espec\u00edficos para el <code>hotel<\/code> Recogida. Cuando John intenta leer todo el Cubo de muestras de viajes, obtiene un error de permiso denegado.<\/p>\n<pre>\r\n\/opt\/couchbase\/bin\/couchbase-cli user-manage -c localhost:8091 -u Administrator -p password --list\r\n<\/pre>\n<pre>\r\n\/opt\/couchbase\/bin\/cbq -u=jdoe -p=cbpass7beta --script=\\\r\n\"SELECT type, name, hotel.country FROM \\\\`travel-sample\\\\` LIMIT 5;\"\r\n<\/pre>\n<pre>\r\nSELECT type, name, hotel.country FROM `travel-sample` LIMIT 5;\r\n\r\n{\r\n....\r\n    \"results\": [\r\n\r\n    ],\r\n\r\n    \"errors\": [\r\n\r\n        {\r\n\r\n            \"code\": 13014,\r\n\r\n            \"msg\": \"User does not have credentials to run SELECT queries on default:travel-sample. Add role query_select on default:travel-sample to allow the query to run.\"\r\n\r\n        }\r\n\r\n    ],\r\n\r\n    \"status\": \"fatal\",\r\n    \u2026\r\n<\/pre>\n<div class=\"wp-block-spacer\" style=\"height: 15px\" aria-hidden=\"true\"> <\/div>\n<p>Esta vez, como John, vamos a seleccionar cinco hoteles de entre s\u00f3lo los <code>hotel<\/code> Colecci\u00f3n del <code>viaje-muestra<\/code> Bucket, que John <em>hace<\/em> tener acceso.<\/p>\n<pre>\r\n\/opt\/couchbase\/bin\/cbq -u=jdoe -p=cbpass7beta --script=\\\r\n\"SELECT type, name, hotel.country FROM \\\\`travel-sample\\\\`._default.hotel LIMIT 5;\"\r\n<\/pre>\n<pre> \r\n SELECT type, name, hotel.country FROM `travel-sample`._default.hotel LIMIT 5;\r\n{\r\n    \"requestID\": \"3cdc2fa8-b0cf-411a-a325-a1534280087a\",\r\n    \"signature\": {\r\n        \"country\": \"json\",\r\n        \"name\": \"json\",\r\n        \"type\": \"json\"\r\n    },\r\n    \"results\": [\r\n    {\r\n        \"country\": \"United Kingdom\",\r\n        \"name\": \"Medway Youth Hostel\",\r\n        \"type\": \"hotel\"\r\n    },\r\n    {\r\n        \"country\": \"United Kingdom\",\r\n        \"name\": \"The Balmoral Guesthouse\",\r\n        \"type\": \"hotel\"\r\n    },\r\n    {\r\n        \"country\": \"France\",\r\n        \"name\": \"The Robins\",\r\n        \"type\": \"hotel\"\r\n    },\r\n    {\r\n        \"country\": \"France\",\r\n        \"name\": \"Le Clos Fleuri\",\r\n        \"type\": \"hotel\"\r\n    },\r\n    {\r\n        \"country\": \"United Kingdom\",\r\n        \"name\": \"Glasgow Grand Central\",\r\n        \"type\": \"hotel\"\r\n    }\r\n    ],\r\n    \"status\": \"success\",\r\n...\r\n}\r\n<\/pre>\n<div class=\"wp-block-spacer\" style=\"height: 15px\" aria-hidden=\"true\"> <\/div>\n<p>Como se muestra en los ejemplos anteriores, puede calificar un rol de Lector de Datos y Selecci\u00f3n de Consulta con un confinamiento de Alcance y Colecci\u00f3n. <\/p>\n<p>Divi\u00e9rtete y protege tus colecciones con nuestra nueva funci\u00f3n de control de acceso basado en roles.<\/p>\n<h2>M\u00e1s recursos sobre la versi\u00f3n 7.0 de Couchbase<\/h3>\n<ul>\n<ul>\n<li><a href=\"https:\/\/docs.couchbase.com\/server\/7.0\/introduction\/whats-new.html?ref=blog\" rel=\"noopener\" target=\"_blank\">Novedades de Couchbase Server 7.0<\/a><\/li>\n<li><a href=\"https:\/\/docs.couchbase.com\/server\/7.0\/release-notes\/relnotes.html?ref=blog\" rel=\"noopener\" target=\"_blank\">Notas de la versi\u00f3n de Couchbase 7.0<\/a><\/li>\n<li><a href=\"https:\/\/www.couchbase.com\/blog\/es\/scopes-and-collections-for-modern-multi-tenant-applications-couchbase-7-0\/?ref=blog\" rel=\"noopener\" target=\"_blank\">C\u00f3mo los \u00e1mbitos y las colecciones simplifican el despliegue de aplicaciones multiusuario en Couchbase<\/a><\/li>\n<li>La asistencia al cliente de Enterprise Edition est\u00e1 disponible a trav\u00e9s de sus canales de asistencia habituales. <a href=\"https:\/\/www.couchbase.com\/blog\/es\/forums\/?ref=blog\" rel=\"noopener\" target=\"_blank\">El soporte de la comunidad est\u00e1 disponible a trav\u00e9s de los foros de Couchbase<\/a><\/li>\n<\/ul>\n<\/ul>\n<div class=\"wp-block-spacer\" style=\"height: 30px\" aria-hidden=\"true\"> <\/div>\n<div style=\"text-align:center\"><strong>\u00bfQuieres probar por ti mismo la seguridad RBAC en Couchbase?<br \/>\n<a href=\"https:\/\/www.couchbase.com\/blog\/es\/downloads\/?ref=blog\" rel=\"noopener\" target=\"_blank\">Pruebe Couchbase hoy mismo<\/a><\/strong><\/div>\n<div class=\"wp-block-spacer\" style=\"height: 15px\" aria-hidden=\"true\"> <\/div>\n<p>&nbsp;<br \/>\n&nbsp;<br \/>\n&nbsp;<\/p>","protected":false},"excerpt":{"rendered":"<p>Your data in Couchbase just got more secure. Couchbase Server 7.0 introduced Scopes and Collections to better map between relational and NoSQL data models. But the 7.0 release also includes some additional enhancements to strengthen the security of the data [&hellip;]<\/p>","protected":false},"author":1864,"featured_media":11668,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"categories":[1816,9336,1813,1812],"tags":[1261,1725,1903,1385,9301,1962],"ppma_author":[8928],"class_list":["post-9670","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-couchbase-server","category-scopes-and-collections","category-security","category-n1ql-query","tag-json","tag-nosql-database","tag-rbac","tag-rdbms","tag-relational-database","tag-role-based-access-control"],"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>Introducing Role-Based Access Control (RBAC) Security for Collections in Couchbase 7.0<\/title>\n<meta name=\"description\" content=\"Learn how role-based access control, or RBAC Security in the database, has been expanded for Scopes and Collections in the Couchbase Server 7.0 release.\" \/>\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\/introducing-rbac-security-for-collections\/\" \/>\n<meta property=\"og:locale\" content=\"es_MX\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Introducing Role-Based Access Control (RBAC) Security for Collections in Couchbase 7.0\" \/>\n<meta property=\"og:description\" content=\"Learn how role-based access control, or RBAC Security in the database, has been expanded for Scopes and Collections in the Couchbase Server 7.0 release.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.couchbase.com\/blog\/es\/introducing-rbac-security-for-collections\/\" \/>\n<meta property=\"og:site_name\" content=\"The Couchbase Blog\" \/>\n<meta property=\"article:published_time\" content=\"2021-08-05T07:00:39+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-06-14T02:27:03+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/Introducing-RBAC-Security-for-Collections.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"627\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Ian McCloy, Director Product Management\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:image\" content=\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/role-based-access-control-rbac-couchbase-scopes-collections-social.jpeg\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Ian McCloy, Director Product Management\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"8 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/introducing-rbac-security-for-collections\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/introducing-rbac-security-for-collections\/\"},\"author\":{\"name\":\"Ian McCloy, Director Product Management, Couchbase\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/7e8c834bce5128ad6cd764cd1c4cea19\"},\"headline\":\"Introducing Role-Based Access Control (RBAC) Security for Collections in Couchbase 7.0\",\"datePublished\":\"2021-08-05T07:00:39+00:00\",\"dateModified\":\"2025-06-14T02:27:03+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/introducing-rbac-security-for-collections\/\"},\"wordCount\":1433,\"commentCount\":3,\"publisher\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/introducing-rbac-security-for-collections\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/role-based-access-control-rbac-couchbase-scopes-collections.jpeg\",\"keywords\":[\"JSON\",\"NoSQL Database\",\"RBAC\",\"RDBMS\",\"relational database\",\"Role Based Access Control (RBAC)\"],\"articleSection\":[\"Couchbase Server\",\"Scopes and Collections\",\"Security\",\"SQL++ \/ N1QL Query\"],\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/introducing-rbac-security-for-collections\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/introducing-rbac-security-for-collections\/\",\"url\":\"https:\/\/www.couchbase.com\/blog\/introducing-rbac-security-for-collections\/\",\"name\":\"Introducing Role-Based Access Control (RBAC) Security for Collections in Couchbase 7.0\",\"isPartOf\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/introducing-rbac-security-for-collections\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/introducing-rbac-security-for-collections\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/role-based-access-control-rbac-couchbase-scopes-collections.jpeg\",\"datePublished\":\"2021-08-05T07:00:39+00:00\",\"dateModified\":\"2025-06-14T02:27:03+00:00\",\"description\":\"Learn how role-based access control, or RBAC Security in the database, has been expanded for Scopes and Collections in the Couchbase Server 7.0 release.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.couchbase.com\/blog\/introducing-rbac-security-for-collections\/#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.couchbase.com\/blog\/introducing-rbac-security-for-collections\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/introducing-rbac-security-for-collections\/#primaryimage\",\"url\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/role-based-access-control-rbac-couchbase-scopes-collections.jpeg\",\"contentUrl\":\"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/role-based-access-control-rbac-couchbase-scopes-collections.jpeg\",\"width\":1200,\"height\":628,\"caption\":\"Learn how role-based access control has expanded for Scopes and Collections in Couchbase Server 7.0\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/introducing-rbac-security-for-collections\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.couchbase.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Introducing Role-Based Access Control (RBAC) Security for Collections in Couchbase 7.0\"}]},{\"@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\/7e8c834bce5128ad6cd764cd1c4cea19\",\"name\":\"Ian McCloy, Director Product Management, Couchbase\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/97dd714a3242521ce9dcea0d96550c5f\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/41f65bee70b5e03e46ae996303a13060d366d405ecb235ff5493d4f1ac3a6f3d?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/41f65bee70b5e03e46ae996303a13060d366d405ecb235ff5493d4f1ac3a6f3d?s=96&d=mm&r=g\",\"caption\":\"Ian McCloy, Director Product Management, Couchbase\"},\"description\":\"Ian McCloy is the Director of the Platform and Security Product Management Group for Couchbase and lives in the United Kingdom. His dedicated team is responsible for the Reliability, Availability, Serviceability and Security architecture of Couchbase Server and the SaaS Database, Capella. This team also own cloud-native platforms like the Couchbase Kubernetes Autonomous Operator. Ian has a vast range of experience as a Software Engineer, Technical Support Engineer, Quality Assurance Engineer and Systems Administrator. Ian has led global technical teams for the majority of his 20 year professional career and holds several patents in the areas of information security, virtualisation and hardware design. https:\/\/www.linkedin.com\/in\/ianmccloy\/\",\"sameAs\":[\"https:\/\/www.linkedin.com\/in\/ianmccloy\/\"],\"url\":\"https:\/\/www.couchbase.com\/blog\/es\/author\/ian-mccloycouchbase-com\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Introducci\u00f3n a la seguridad de control de acceso basado en roles (RBAC) para colecciones en Couchbase 7.0","description":"Aprende c\u00f3mo el control de acceso basado en roles, o Seguridad RBAC en la base de datos, se ha ampliado para \u00c1mbitos y Colecciones en la versi\u00f3n 7.0 de Couchbase Server.","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\/introducing-rbac-security-for-collections\/","og_locale":"es_MX","og_type":"article","og_title":"Introducing Role-Based Access Control (RBAC) Security for Collections in Couchbase 7.0","og_description":"Learn how role-based access control, or RBAC Security in the database, has been expanded for Scopes and Collections in the Couchbase Server 7.0 release.","og_url":"https:\/\/www.couchbase.com\/blog\/es\/introducing-rbac-security-for-collections\/","og_site_name":"The Couchbase Blog","article_published_time":"2021-08-05T07:00:39+00:00","article_modified_time":"2025-06-14T02:27:03+00:00","og_image":[{"width":1200,"height":627,"url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/Introducing-RBAC-Security-for-Collections.png","type":"image\/png"}],"author":"Ian McCloy, Director Product Management","twitter_card":"summary_large_image","twitter_image":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/role-based-access-control-rbac-couchbase-scopes-collections-social.jpeg","twitter_misc":{"Written by":"Ian McCloy, Director Product Management","Est. reading time":"8 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.couchbase.com\/blog\/introducing-rbac-security-for-collections\/#article","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/introducing-rbac-security-for-collections\/"},"author":{"name":"Ian McCloy, Director Product Management, Couchbase","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/7e8c834bce5128ad6cd764cd1c4cea19"},"headline":"Introducing Role-Based Access Control (RBAC) Security for Collections in Couchbase 7.0","datePublished":"2021-08-05T07:00:39+00:00","dateModified":"2025-06-14T02:27:03+00:00","mainEntityOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/introducing-rbac-security-for-collections\/"},"wordCount":1433,"commentCount":3,"publisher":{"@id":"https:\/\/www.couchbase.com\/blog\/#organization"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/introducing-rbac-security-for-collections\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/role-based-access-control-rbac-couchbase-scopes-collections.jpeg","keywords":["JSON","NoSQL Database","RBAC","RDBMS","relational database","Role Based Access Control (RBAC)"],"articleSection":["Couchbase Server","Scopes and Collections","Security","SQL++ \/ N1QL Query"],"inLanguage":"es","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.couchbase.com\/blog\/introducing-rbac-security-for-collections\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.couchbase.com\/blog\/introducing-rbac-security-for-collections\/","url":"https:\/\/www.couchbase.com\/blog\/introducing-rbac-security-for-collections\/","name":"Introducci\u00f3n a la seguridad de control de acceso basado en roles (RBAC) para colecciones en Couchbase 7.0","isPartOf":{"@id":"https:\/\/www.couchbase.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.couchbase.com\/blog\/introducing-rbac-security-for-collections\/#primaryimage"},"image":{"@id":"https:\/\/www.couchbase.com\/blog\/introducing-rbac-security-for-collections\/#primaryimage"},"thumbnailUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/role-based-access-control-rbac-couchbase-scopes-collections.jpeg","datePublished":"2021-08-05T07:00:39+00:00","dateModified":"2025-06-14T02:27:03+00:00","description":"Aprende c\u00f3mo el control de acceso basado en roles, o Seguridad RBAC en la base de datos, se ha ampliado para \u00c1mbitos y Colecciones en la versi\u00f3n 7.0 de Couchbase Server.","breadcrumb":{"@id":"https:\/\/www.couchbase.com\/blog\/introducing-rbac-security-for-collections\/#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.couchbase.com\/blog\/introducing-rbac-security-for-collections\/"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/introducing-rbac-security-for-collections\/#primaryimage","url":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/role-based-access-control-rbac-couchbase-scopes-collections.jpeg","contentUrl":"https:\/\/www.couchbase.com\/blog\/wp-content\/uploads\/sites\/1\/2020\/11\/role-based-access-control-rbac-couchbase-scopes-collections.jpeg","width":1200,"height":628,"caption":"Learn how role-based access control has expanded for Scopes and Collections in Couchbase Server 7.0"},{"@type":"BreadcrumbList","@id":"https:\/\/www.couchbase.com\/blog\/introducing-rbac-security-for-collections\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.couchbase.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Introducing Role-Based Access Control (RBAC) Security for Collections in Couchbase 7.0"}]},{"@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\/7e8c834bce5128ad6cd764cd1c4cea19","name":"Ian McCloy, Director de Gesti\u00f3n de Productos, Couchbase","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/www.couchbase.com\/blog\/#\/schema\/person\/image\/97dd714a3242521ce9dcea0d96550c5f","url":"https:\/\/secure.gravatar.com\/avatar\/41f65bee70b5e03e46ae996303a13060d366d405ecb235ff5493d4f1ac3a6f3d?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/41f65bee70b5e03e46ae996303a13060d366d405ecb235ff5493d4f1ac3a6f3d?s=96&d=mm&r=g","caption":"Ian McCloy, Director Product Management, Couchbase"},"description":"Ian McCloy es el Director del Grupo de Gesti\u00f3n de Productos de Plataforma y Seguridad de Couchbase y vive en el Reino Unido. Su equipo dedicado es responsable de la arquitectura de Fiabilidad, Disponibilidad, Capacidad de Servicio y Seguridad de Couchbase Server y la Base de Datos SaaS, Capella. Este equipo tambi\u00e9n es propietario de plataformas nativas de la nube como el Operador Aut\u00f3nomo Couchbase Kubernetes. Ian tiene una amplia experiencia como Ingeniero de Software, Ingeniero de Soporte T\u00e9cnico, Ingeniero de Garant\u00eda de Calidad y Administrador de Sistemas. Ian ha dirigido equipos t\u00e9cnicos globales durante la mayor parte de sus 20 a\u00f1os de carrera profesional y es titular de varias patentes en las \u00e1reas de seguridad de la informaci\u00f3n, virtualizaci\u00f3n y dise\u00f1o de hardware. https:\/\/www.linkedin.com\/in\/ianmccloy\/","sameAs":["https:\/\/www.linkedin.com\/in\/ianmccloy\/"],"url":"https:\/\/www.couchbase.com\/blog\/es\/author\/ian-mccloycouchbase-com\/"}]}},"authors":[{"term_id":8928,"user_id":1864,"is_guest":0,"slug":"ian-mccloycouchbase-com","display_name":"Ian McCloy, Director Product Management","avatar_url":"https:\/\/secure.gravatar.com\/avatar\/41f65bee70b5e03e46ae996303a13060d366d405ecb235ff5493d4f1ac3a6f3d?s=96&d=mm&r=g","author_category":"","last_name":"McCloy, Director Product Management","first_name":"Ian","job_title":"","user_url":"","description":"Ian McCloy es el Director del Grupo de Gesti\u00f3n de Productos de Plataforma y Seguridad de Couchbase y vive en el Reino Unido.  Su equipo dedicado es responsable de la arquitectura de Fiabilidad, Disponibilidad, Capacidad de Servicio y Seguridad de Couchbase Server y la Base de Datos SaaS, Capella.  Este equipo tambi\u00e9n es propietario de plataformas nativas de la nube como el Operador Aut\u00f3nomo Couchbase Kubernetes.  Ian tiene una amplia experiencia como Ingeniero de Software, Ingeniero de Soporte T\u00e9cnico, Ingeniero de Control de Calidad y Administrador de Sistemas. Ian ha dirigido equipos t\u00e9cnicos globales durante la mayor parte de sus 20 a\u00f1os de carrera profesional y es titular de varias patentes en las \u00e1reas de seguridad de la informaci\u00f3n, virtualizaci\u00f3n y dise\u00f1o de hardware. https:\/\/www.linkedin.com\/in\/ianmccloy\/"}],"_links":{"self":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/9670","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\/1864"}],"replies":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/comments?post=9670"}],"version-history":[{"count":0,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/posts\/9670\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media\/11668"}],"wp:attachment":[{"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/media?parent=9670"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/categories?post=9670"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/tags?post=9670"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/www.couchbase.com\/blog\/es\/wp-json\/wp\/v2\/ppma_author?post=9670"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}