Aprende a utilizar las Reglas de Seguridad de Firestore

Transcripción

él es pancho pancho es un desarrollador

web muy listo que utiliza fire race como

back-end para sus aplicaciones y lograr

mucho dinero gracias a sus bajos costos

pero olvidó configurar reglas de

seguridad y ahora sus datos fueron

modificados y robados el día de hoy te

mostraré cómo puedes configurar reglas

de seguridad para lanzar tu app a

producción sin perder el sueño por las

noches

[Música]

partiremos de que tienes una aplicación

conectada a fire race y que utilizas la

autenticación y base de datos para este

tutorial utilizaremos una app de

inventario de productos en la cual los

usuarios que gestionan inician sesión y

con ello pueden leer y modificar la base

de datos cuando creamos una base de

datos far store nos pregunta si

planeamos desarrollar o lanzar la

producción si elegimos producción toda

la lectura y escritura de datos estará

prohibida caso contrario en modo de

desarrollo se permite que cualquiera que

cualquiera ojo pueda escribir leer datos

siempre y cuando no hayamos llegado a

cierta fecha el problema de punch es que

con sus reglas en modo desarrollo y con

ello expuso completamente toda su

información para configurar reglas de

seguridad hay dos opciones hacerlo desde

la pestaña de reglas aquí en el apartado

de firestone o hacerlo directamente

desde el código de tu aplicación para

esta segunda opción es necesario haber

instalado las herramientas de fire race

en la terminal una vez que las hayas

instalado es necesario iniciar sesión

ejecutando fire veis

y después inicializar hemos fair race en

nuestra aplicación de modo que podamos

acceder a ciertos servicios desde aquí

desde la comodidad de nuestro código

para ello escribiremos airways init aquí

nos pregunta qué servicios queremos

gestionar desde este proyecto desde este

pool de para lo cual nos moveríamos con

las flechas y escogeremos firestorm

haciendo clic en espacio bueno presiona

la tecla de espacio y luego presionando

enter aquí vamos a preguntar si queremos

crear un nuevo proyecto utilizar o no ya

existente en nuestro caso utilizaremos

este que ya está en funcionamiento para

el cual elegiré ocupar utilizar un

proyecto existente y elegir el que se

llama reglas seguridad por último nos va

a preguntar este como queremos llamar a

estos archivos para lo cual basta

presionar enter una y otra vez para que

esté todo listo notarán que se generan

varios archivos entre ellos está

carísima fires arq

jarvis jason fuerte store index es jason

y fire store los para trabajar y

gestionar nuestras reglas de seguridad

nos enfocaremos en este archivo aquí el

the fire store rules

por último podemos o si así lo desean

instalar la extensión de valer 6 para

que tengamos marcado de código y

sugerencias pero bueno basta de todo

esto y es momento de ponernos manos a la

obra para ello voy a cerrar todo esto de

acá y vamos a estar trabajando en el

archivo de firestone rose ok y lo

primero es importante aprender que todas

las reglas se crean a través de una

combinación de elementos el primero es

un scout o de limitación a ciertos

documentos el segundo es una condición

que se evalúa en verdadero o falso

lo que vemos es de momento borrar esta

regla preexistente y vamos a crear una

regla que aplique a nuestra colección de

productos que producto si venimos aquí a

fair reixa el panel de administrador

notarán qué productos tiene dos

documentos de momento tiene estos dos

documentos y este es el path para este

documento en la 08 y el path para el

documento hasta las 123

escribamos más para comenzar nuestra

regla y lo vamos a escribir el pad de la

colección de productos y el documento al

cual queremos aplicar dicha regla

entonces que vamos a hablar como como

productos

y luego pondríamos el nombre del

documento que eran esas las 123 pero

aplicar una regla un solo documento no

tiene sentido salvo ciertos escenarios

lo que queremos es que esta regla

aplique a todos los productos que están

en la colección de productos para lo

cual vamos a utilizar una escritura

variable para ello vamos a colocar dos

llaves y al interior el nombre que

queremos dar a esta variable dado que

nos encontramos en la colección de

productos escribamos algo como producto

lo que ustedes están viendo es que este

camino va a aplicar a cualquier

documento en este caso producto que esté

al interior de la colección de productos

esta parte que está escrita en llaves

que es una variable lo que va a

solucionar es que al momento en que se

ejecute esta regla de seguridad esta

parte de producto va a ser reemplazada

con el nombre del documento en este caso

por ejemplo estas 1 2 3 pero no

regresemos lo así y ahora vamos a abrir

llaves y al interior gracias vamos a

colocar la condición que queremos

evaluar para saber si vamos a permitir

algún tipo de acceso a estos documentos

que están

y ojo solo vamos a tener acceso a los

documentos que explícitamente señalamos

en nuestras reglas de seguridad por

ejemplo que yo podría ser algo como

permitir lectura y escritura si esta

condición es verdad es que bueno al

poner troupe nuestra condición va a ser

siempre verdadera que es un pequeño

atajo que pueden hacer si quieren acabar

como pancho con una base de datos

probada y manipulada por extraños y ojo

fíjense que quienes están en esta regla

de seguridad que está afectando a estos

productos tengo combinados lectura y

escritura para una misma condición dado

que yo podría hacer es es separarlos

permitir lectura si tales de condición

por ejemplo o podría decir permitir

escritura si tal otra condición sucede y

además podemos ser más específicos grid

la lectura por ejemplo se puede separar

en get y en list que es cuando queremos

leer un solo documento y list es cuando

queremos leer los varios documentos por

último write podemos separarla en create

delete y kate de modo que podemos

permitir ciertas condiciones ciertas

reglas para eliminar documentos y

ciertas otras reglas para crearlos o

actualizarlos pero bueno habiendo

explicado esto vamos a ayudar al buen

amigo pancho lo primero que pancho puede

hacer es bloquear la lectura y escritura

o a partir de ahora diré manipulación lo

primero que pasó para hacer es bloquear

la manipulación en la base de datos a

quienes no tengan sesión iniciada

recuerden que en nuestra aplicación

estamos haciendo uso de la autenticación

y es iniciamos sesión y cerramos sesión

acordemente cuando pues utilicemos esto

para nuestras reglas de seguridad

para escribir

diremos

lectura y escritura sí

a solicitud este objeto de request

representa en la solicitud de manipular

los datos sea para leer sea para

escribir request lo vamos a utilizando

mucho en este caso lo que hacemos es

evaluar si la solicitud de manipular

datos tiene la propiedad de oz’ en ella

y es que sucede que quienes inician

decisiones airways y mandan a manipular

datos en fire store bueno

automáticamente esta mente se mandan la

información de quién tiene la sesión

iniciada tengo muy sencillo que podemos

hacer políticas es revisar que quien

manda la solicitud tenga sesión iniciada

comparándolo o con el operador de

diferencia y diciendo que no sea igual

andulo al interior de esta propiedad de

hoy también tenemos acceso como les dije

a todos los datos de la persona que

inició sesión y que está enviando la

solicitud de manipular los datos por

ejemplo regresando a nuestra base de

datos además de esta colección de

productos tenemos una colección de

usuarios y fíjense que tenemos al

interior de usuarios documentos cuyo

nombre es el y whitey de los usuarios

por ejemplo aquí tengo este usuario que

tiene el rol de súper admin

qué tiene este wajdi y si yo reviso mi

lista de usuarios registrados notarán

que éste you why they pertenece a la

suite o bueno aunque podemos hacer es

acceder a esta propiedad de wajdi en la

solicitud para revisar por ejemplo o

para crear una regla que permita que

solamente la suite o pueda modificar la

información de su documento lo mejor

aquí tenemos datos sensibles o buenos

datos personales como edad

este país qué sé yo y no queremos que

nadie salvo las fito edite estos datos

en esta colección de usuarios bueno para

ello vamos a crear otra regla más y como

bien saben comenzamos las reglas con

match seguido del path en este caso el

pan es usuarios y queremos que apliquen

a cualquier usuario y diremos que vamos

a permitir la escritura por ejemplo

si ojo si el request y el love y el wide

y son exactamente iguales

el wide y del usuario aquí en la

colección aquí vamos a poner usuario y

automáticamente cuando esta regla se

ejecute lo que va a suceder es que esta

variable estamos definiendo de aquí de

la colección de usuarios va a tomar el

nombre que le corresponde al documento

en este caso este dakar buena ya que iba

a decir buena y va a evaluar que el wide

in esquinas de la solicitud sea igual a

buena en este caso si la solicitud las

elas fito que tiene este wide y va a

permitir la escritura caso contrario lo

va a bloquear otra manera que tenemos

para implementar reglas es evaluando la

información del documento voy a ahorrar

esto acá y esto de aquí y supongamos

regresemos a nuestra base de datos

esta es la información que tenemos en

cada producto cantidad precio es q y

título pero supongamos que además

tuviéramos un campo un valor que se

llame es editable y aquí vamos a tener

un julián por ejemplo lo que podemos

hacer con este este campo d es editable

crear una regla de modo que sólo podamos

modificar los productos que tengan este

valor con mucho para ello podemos

acceder a la información del documento

que queremos someter a esta regla de

seguridad y aquí haríamos algo como

allowed

update si ojos y

research

punto de ira y ojo que este resort se

refiere al documento a la información

del documento al cual estamos atacando y

deidad como pueden suponer nos da acceso

a la información entonces ya que podría

colocar resorts de ira es evitable

y dis preguntando que si estos

verdaderos entonces vamos a permitir la

actualización

u otro caso por ejemplo hablando de

productos imaginemos que no queremos

eliminar productos que sean muy muy

caros entonces que podríamos decir

permite eliminar sólo si el precio

es menor que 100 por ejemplo y entonces

si nuestro producto tiene de precio 500

esta regla ya no va a permitir que se

elimine y así como podemos acceder a la

información del documento la información

que ya existe con tres puntos de ira

otra cosa que podemos hacer es evaluar

la información que la que el usuario

está mandando a la base de datos por

ejemplo aquí tenemos este producto que

vale 24 pesos ya lo mejor la espíritu se

mete al hub y hace una modificación para

que ahora cueste 100 pesos bueno con

fire veis podemos tener acceso a esta

información que viene llamémoslo hacia

la información que viene y evaluarla

para ver esta información que viene en

lugar de acceder a research puntos de

irak lo que haremos es acceder como les

había dicho hace rato a request request

tiene esta propiedad de resource que

también tiene la propiedad de ira y nos

da acceso a estas propiedades que la

persona está enviando a la base de datos

y por ejemplo lo que podríamos hacer una

regla que dijera bueno vamos a permitir

el cambio

este no lo sé a lo mejor el precio es

igual al precio que ya teníamos antes

esta regla lo que hace es esto evalúa el

nuevo precio que viene en la solicitud

lo evalúa con el precio que ya teníamos

bueno que no sé por qué puse este 100 si

los dos son iguales va a permitir que se

actualicen por ejemplo

a lo mejor presión o no es un ejemplo

hoy muy útil pero hablando de productos

tenemos un dato que sea más como que es

el valor único para identificar a lo

mejor las fit o viene acá vamos a

iniciar sesión

el aspecto va a agarrar este producto ve

y le dan editar y a lo mejor la suite o

por accidente modificó el esquí no

queremos eso verdad entonces lo que

podemos hacer aquí es decir sabes que si

el esquí que viene en la solicitud

request es idéntico al scoop que ya

estaba aquí guardado entonces si te

permite que actualices si no rebota la

solicitud pero bueno si como podemos

acceder a el documento a la información

que ya existía así como podemos acceder

a la información que viene en camino en

request otra cosa que podemos hacer es

acceder a documentos en ubicaciones

distintas del path para el cual estamos

trabajando nuestra regla pero lo que

estamos hablando de documentos en la

colección de productos pero que podemos

hacer por ejemplo es

crear una regla que sólo permita

eliminar

productos si la persona que hace la

solicitud tiene el rol de super admin

aquí en usuarios tenemos este usuario

con tal de edad cuyo rol es súper admin

y supera min es la única persona que

puede eliminar productos como

implementaríamos muy fácil venimos acá

creamos esta regla que era aplicar a

productos y decimos que va a ser posible

eliminar si por ejemplo quien solicita

tiene el estatus de súper admin para

ello vamos a borrar esto y vamos a

ocupar get para jalar un documento

natural a vamos a jalar un documento y

ojo aquí vamos a pasar la ubicación haya

mostrado como usuarios y aquí pondríamos

en la idea de la persona que solicita

por ejemplo supongamos que quien está

solicitando es el aspecto como obtenemos

su ied y muy fácil recuerden que podemos

acceder a request punto o punto y white

y ya esta manera vamos a acceder al wide

y de la persona que solicita y buscarlo

en la colección de usuarios pero ojo ojo

ojo que cada vez que trabajemos con get

y lo punto aquí cabe que trabajemos con

10 y que trabajemos con existe y habrá

más ahorita para qué sirve teníamos que

pasar el pad completo y cuál es el paz

completo ustedes pensarán hoy pero aquí

en tu base de datos quieras editar este

es el path que te dan ahora no hay más

no en realidad hay un pad aún más

completo que este y asia que nos arroja

aquí airways por defecto que note el

caso sería todo esto acá antes de la

colección entonces simple y

sencillamente lo copiamos

y lo ponemos antes del pad de la

colección y ahora un último dato y es

que cada vez que utilicemos que existe

la parte de las variables tiene una

sintaxis distinta en lugar de trabajarlo

con llaves lo vamos a envolver en

paréntesis y lo vamos a vamos a poner un

símbolo de dinero

antes de estos paréntesis entonces aquí

para acceder a de wajdi de la persona

que está mandando la solicitud haremos

lo mismo y envolvemos en paréntesis

y ahora aquí lo que estamos haciendo es

que estamos obteniendo este documento lo

que estaríamos obteniendo es el

documento cuyo nombre corresponda al

haití de la persona que está haciendo la

solicitud de momento es todo lo que

estamos haciendo lo que faltaría

entonces es acceder a la información de

dicho documento accedemos a la propiedad

de rol porque así es como aquí lo hemos

definido y vamos a revisar que sea igual

a super admin por ejemplo y entonces

ahora mismo esta regla que aplica

productos va a permitir eliminar

productos si

existe en usuarios

en un documento cuyo nombre sea igual a

la de la persona que solicita y que

además tenga por error súper admin sí

que son un tanto complicado pero tomarse

su tiempo para procesar lo que ven que

esto es muy pero que muy útil otra cosa

muy pero que muy útil además de gates es

el existe a lo mejor no queremos hacer

tanta validación y supongamos que todos

los que están aquí ya son súper hermits

no es necesario evaluar esta parte de

error basta con que alguien está aquí en

esta colección para saber qué es alguien

con derechos de eliminar en este caso en

lugar de get utilizaríamos existe para

saber que existe y entonces bastaría con

esta parte de aquí

saber que existe y ya no es necesario

acceder a la información si este

documento existe y si esto es verdadero

va a permitir eliminar

muy bien continuando vamos a borrar esto

data que pasa por ejemplo imaginemos

aquí tenemos productos y tenemos este

producto de acá y tenemos este otro

producto que ojo al interior de este

producto tenemos una sub colección que

se llama devolución es quien está su

colección de devoluciones tenemos un

documento con cierta información si

revisamos el path notarán que para

llegar a este documento que trata sobre

devoluciones tenemos que acceder a

productos luego a un producto en

particular no accedemos a una colección

con su producción su colección llamada

devoluciones y lo accedemos a una

devolución en particular qué pasa con

esto que pasa con tenemos colecciones y

documentos enraizados en el famosísimo

testing y qué pasa si yo le aplicó por

ejemplo que pases yo aplico una regla

que a producto y resulta que este

producto tiene estas devoluciones la

regla aplica la respuesta es no las

reglas sólo aplican al documento preciso

que establezcamos acá no a lo que tenga

en su interior ya que vamos a hablar de

en este porque en lugar por ejemplo en

lugar tiene que escribir productos

producto este devoluciones y luego de

evolución en lugar tiene que escribir

todo esto lo que podemos hacer es

enraizar pads para este reglas por

ejemplo vamos a borrar está acá

y supongamos que yo tengo esto de aquí y

aquí tengo mi regla que dice sabes que

esta es mi regla para productos ya que

estamos al interior de esta regla

estando aquí podemos escribir más reglas

y enraizar las de nuevo que el pad de la

regla madre se concatena con el pasa de

la regla hija aquí podría escribir much

devoluciones de evolución y pongo mis

condiciones y ahora lo que va a suceder

es que esta regla está limpiar de

productos toma este paz y lógicamente

ejecutarse leonés todo acá para que sea

más cómodo escribir reglas aunque

cuidado porque lo hicieran si las estén

raíz en mucho las meten mucho creo que

como que confuso leerlas por importante

saber que se puede hacer otra cosa que

se puede hacer es utilizar comodines que

pasa por ejemplo

fíjense aquí tengo dos reglas que son

dos condiciones que son idénticas tengo

esta condición en la hija que es igual a

la condición en la madre

qué pasa si no quiero escribir doble

como hago que las reglas de quién el

producto apliquen de evolución para eso

podemos ocupar comodines y los comodines

lo que hacen es que permiten que la

regla que aplique el comodín aplique

para todo absolutamente todo lo que

tenga en su interior así sean 50.000 su

colección es casi casi y para ellos muy

sencillo lo que haremos es en la parte

de la variable agregarle un igual y dos

asteriscos y ahora lo que va a suceder

es que yo puedo borrar esta parte de

devoluciones

y esta regla llegando aquí a producto

comienza a aplicar a todo lo que

producto tenga hacia adentro y en este

caso producto tiene devoluciones y si

devoluciones tuviera otra colección

consigue tercera colección si tuviera

una tercera colección pues bien en que

también va a aplicar para esto de acá

vale porque desde desde productos se

suelta

algo a señalar acerca de los comodines

es que solamente podemos tener un

comodín por reglas pero podemos ponerlo

en cualquier parte del pad esto a partir

de la segunda versión de las reglas y

ahora tomando esto en cuenta de los

comodines

tenemos esta regla se aplica producto y

al ser comodín por ende también aplica a

devoluciones pero qué pasa si además de

esta regla que yo sé que aplica a las

devoluciones yo hiciera otra regla que

sea algo así como en productos el

producto

y luego tenemos

devoluciones de evolución

qué pasa si tengo esta regla que por el

comodín dice que así si se permite el

tour se aplica a devolución y qué pasa

si además tengo esta otra regla que dice

que en el bíceps y que yo sé que aplican

evolución cuál de las dos es la que gana

puedo o no puedo modificar manipular las

devoluciones la respuesta es sí podemos

porque lo que ocurre cuando dos reglas

aplican al mismo documento siempre y

cuando hay alguna que sea turn fire page

toma esa y ya se permite entonces ojo el

momento de escribir sus reglas no

terminen atacando o aplicando por error

a este un mismo conjunto de documentos

aunque yo que vamos a borrar esto y

vamos a continuar

regresemos aquí a la parte de productos

y supongamos un escenario donde la única

persona que puede actualizar un producto

queremos que número uno esté autenticada

y número dos que este no cambia el

school entonces nosotros pondríamos aquí

escribir nuestra regla por ejemplo

podríamos bla bla bla bla bla pues ya

están y luego qué pasa si esta es la

evaluación la repetimos en en otras

reglas que tenemos otra regla lo mejor

para match para usuarios

usuario y aquí sorpresa ocupamos la

misma regla si no queremos estar

duplicando código fair game soporta o

permite crear funciones para abstraer

esta lógica de evaluación pensaba que yo

podría ser es aquí arriba aquí arriba

creará una función y voy a crear una

función es muy sencilla ocupamos la

palabra reservada de omisión asignamos

un hombre la función puede recibir este

argumentos llegó que solamente puede

tener un solo punto de de devolución

solo

entonces que podría ponerlo como

opciones de evaluar x equipo de recibir

argumentos intentamos poner que no y

aquí yo podría poner esto acá ya no ojo

aquí retorno únicamente esta evaluación

ok de esta evaluación puede ser true o

puede ser fundo estamos de acuerdo

entonces yo guardo este ir en esta

evaluación y entonces aquí lo único que

aliens permitir lectura escritura si la

bla bla y evaluar x y aquí hago lo mismo

si evaluar x y ya está por ejemplo vamos

a vamos a darles algo concreto para que

no me reclamen queremos revisar

la persona que solicita que se quite y

esté registrado aquí en usuarios pues

aquí vamos a llamar esta función

es persona en colección usuarios que va

a recibir un white y entonces lo que

haremos es retornar si esta persona está

en la colección para lo cual ya saben

que podemos utilizar

existe y pasar el path d

de esta conexión recuerden que es un paz

completo existe y que requieren pads

completos con esto acá esta parte previa

luego ya accedemos a la colección de

usuarios y lo vamos a acceder al

documento cuyo nombre sea igual al igual

y que estamos recibiendo como argumentos

si esto existe va a devolver en caso

contrario va a devolver falls y ojo que

las variables van con paréntesis cuando

utilizamos que es y existe entonces esto

lo ponemos en paréntesis

y estar acá también lo ponemos en

paréntesis y ahora lo que voy a hacer es

que por ejemplo aquí para este mamar el

producto de gen esto lo vuelvo normal

para para permitir lectura y escritura

lo que voy a hacer es evaluar en lugar

de evaluar esto vamos a poner si

personas están colección de usuarios y

le pasamos el white y en este caso sería

request punto a punto

y aquí lo ponemos

y listo ahora lo que va a pasar es que

aquí en producto evaluó si existe

pasando en el wide y recibe como

argumento checa retorna verdadero o

falso y aquí está aplica aquí

ok continuando en nuestra misión

samaritana de ayudar al buen pancho que

no le vuelva a suceder esta terrible

tragedia algo más que podemos hacer es

garantizar la escritura mínima de

ciertos datos o prohibir la escritura

este de ciertos datos y obligar la

escritura mínima de todos los datos y sé

que es de zenawi compulsó lo que quiero

decir es que podemos acceder o que

existen estos métodos que se llaman hash

hombre

también tenemos el método de hash n y el

método de hash que como pueden deducir

aquí evaluamos que tenga únicamente tal

que tenga alguno de varios o que tenga

todos necesariamente por ejemplo por

ejemplo supongamos de aquí en productos

no queremos que alguien por accidente de

de alta un producto con solamente el

título queremos que obligatoriamente dé

de alta los cuatro datos cantidad de

precios como pitic en este caso lo que

podríamos hacer es crear una regla que

permita al know how great si la

información

después punto de ir a

tres puntos research puntos de ira

tiene

todos estos campos que yo le voy a pasar

en este caso sería nombre precio este es

q y cantidad solo voy a permitir crear

los silos y lo que él me está mandando

tiene todos todas estas propiedades

aunque piense que las pasamos en una red

o también podríamos decir sabes que te

voy a dar chance de crear un documento

si el documento que me creas tiene por

lo menos alguno de estos con que tenga

alguno ya estás o por ejemplo imaginemos

que alguien algún despistado por

accidente me manda un campo que yo no

necesito para mi aplicación este campo

no me sirve es un campo basura que a lo

mejor está me arruina la aplicación este

campo se llamas destadas bueno en este

caso yo podría decirle te voy a permitir

que me crees algún producto siempre y

cuando la información que me mandes

tenga solamente alguno después si tiene

alguno que no caiga aquí entonces no te

lo permite por ende si la persona manda

en una propiedad que sea más de las

astas no está aquí y no se le va a

permitir

el documento ya por último ya que

estamos hablando de esta validación de

ciertas propiedades de los datos algo

más que podemos hacer con con reglas de

seguridad es prevenir combinación de

tipos de datos por ejemplo notarán que

me up este la cantidad es un entero y mi

código de la aplicación está pensado de

modo que asume que la cantidad va a ser

siempre un entero pero qué pasa si por

accidente alguien no lo agrega como

entero la griega como string en este

caso una aplicación se rompe y nos

metemos en un lío pues para ello las

reglas de seguridad también pueden

ayudarnos y es que

podemos definir que permita que

únicamente ciertos datos por ejemplo el

precio o la cantidad correspondan a

cierto tipo en este caso entero

para ello podemos evaluar el request lo

accedemos a risaralda recuerden que esto

nos da acceso a la información que viene

en camino a punto de ser registrada en

la base lados bueno pues aquí vamos a

evaluar esta cantidad por cantidades

parte del día así se llama en mi base de

datos así hasta aquí cantidad miren que

aquí están string donde está el entero

pero bueno aquí vamos a evaluar que esto

sea del tipo entero ok y además vamos a

evaluar qué

este precio

preciosa del tipo entero por ejemplo

y además vamos a evaluar que esté el

nombre sea de tipo string por ejemplo y

podemos evaluar más podemos evaluar que

sea string que sea éste flow que sea

este mapa para este que sea esté lista

maps sería para objetos de javascript y

lista sería para reid de javascript

tenemos más también timestamp que es un

objeto de tipo de fecha

también tenemos de tipo paz

veamos muchísimos se les invitó a que

los busquen en la documentación nos

vamos a estar todos aquí y ojo que

imaginemos por un momento que aquí

tenemos un campo que se llame no sé a

raíz y este rey es de tipo rey no hay

tiene dos valores

ok aquí tenemos nuestro rey si queremos

evaluar que estos valores el valor

alguno específico sea de cierto tipo

aquí podemos hacerlo aquí posible sabes

que queremos queremos evaluar que el

dato en la propiedad que se llama rey en

la posición 0 sea del tipo string por

ejemplo esto lo podemos hacer o en caso

de que no fuera una rey en caso de que

sea no lo sé un mapa aquí podemos

también acceder a la información dentro

de matrices sabes que lo que tenemos en

este mapa que se llame cantidad que sea

del tipo entero porque es el tipo floyd

vale yo también conocer con las reglas

de seguridad garantizar los tipos de los

datos

y ahora supongamos que ya tenemos que ya

tenemos todas nuestras reglas sobre

tenemos surf tenemos 500 500 casos de

reglas y muchísimas escenarios y tenemos

previsto todo a la pregunta es cómo

hacemos para que estas reglas de

seguridad comiencen a aplicar nuestra

base de datos porque fíjense que esto

esté aquí en local si me vengo para acá

a pesar de que guarden a pesar de que

guarde y me vengo aquí a reglas estas

reglas no han cambiado siguen aquí pues

en este caso lo que tendríamos que hacer

es desde nuestra terminal

ejecutar airways

y aquí lo que va a suceder es que vamos

a enviar fire veis todo lo que hayamos

modificado que bien pueden ser reglas de

seguridad que puede ser este que

tengamos austin este excel entonces que

vamos a ver la gente

bueno aquí me mandó error porque es aquí

donde bien con con las reglas que cree

vamos a

vamos a dejar únicamente este

y vamos a dar nuevamente el display

y es que sucede que me falta una llave

dentro y tenemos uno dos tres que además

tenemos dos no habían ido el mensaje de

error ahora si guardamos y la tercera es

la buena parís deploy vamos a mandar

estas reglas y aquí nos confirma y este

que ya están funcionando

bueno aquí manda error porque es cierto

lo había olvidado chicos es que este

fíjense que este proyecto está en el

plan gratuito que es por el plan

gratuito les dé acceso a ciertas cuotas

ciertos es del espacio de almacenamiento

cierto número de sesiones etcétera y fue

revisiones dos planes gratuitos el spark

y el place que es el de prepago si

quieren poder acceder a esta parte de

personalización de reglas de seguridad y

enviarlo desde la línea de comandos es

necesario que actualicen en su proyecto

al método de place

y una vez que lo hayan hecho ustedes

ejecutan no lo va a hacer ahorita

tendría que crear un método de pago una

vez que lo hayan hecho

le dan aquí en diploide y se envía y van

a aparecer aquí en las reglas de

seguridad aquí van a aparecer todas sus

reglas ahora estuvimos trabajando con

nuestro proyecto sino trabajando local y

como puede ver es muy bonito está la

extensión nos sirve bastante con el

marcado de código y el autocompletado

pero una ventaja que tenemos aquí desde

este lado desde el panel de control en

el navegador es que aquí podemos

comenzar a hacer pruebas antes de

lanzarlas por ejemplo si aquí yo

cambiara esta fecha al 28 aquí le puedo

dar en desarrollar y realizar pruebas y

aquí podemos este abrir una simulación

de cómo sería mi base de datos con estas

reglas que acabo de asignar algo más que

tenemos desde aquí es que una vez que

hayamos aplicado las reglas por ejemplo

podemos revisar cuántos bloqueos ha

habido cuántos errores lo mejor es que

teníamos un problema de escritura y ya

lo solucionamos con rechazar bajo

ciertas condiciones

y en caso de que no quieran este trago

tan complicado como están acá que sé que

puede parecer muy abrumador pueden

pueden más rápido y sencillo desde aquí

una vez que haya metido sus reglas

simular bueno y qué pasa si yo quiero

actualizar algún documento que estén

productos

producto por ejemplo qué pasa si quiero

acceder aquí

bueno pues vamos a darle en ejecutar me

va a decir que ahora mismo si yo intentó

acceder acá sin haberme autenticado

puedo modificar hacer este tipo de

acción y qué pasa yo quiero eliminar ojo

con esto dice que también se puede

eliminar y es que se puede eliminar

porque mis reglas de seguridad aníbal

que las de panchos son una completa

basura pero bueno alguien chicos está

sido olvidado de reglas de seguridad fue

una relativamente introducción básica

aunque vimos cuestiones un tanto

compleja solamente más cosas que pueden

adentrarse como por ejemplo pueden

utilizar éste vip para crear este un

mapa de diferencias entre la información

que viene la información que llega

podemos quedar reglas de seguridad con

base en cuernos no vimos cuervos

coherencia es un tanto complicado pueden

bloquear este ciertas consultas si una

persona que son la consulta no limitó la

cantidad de resultados pueden bloquear

consultas y este el orden no es el

adecuado si no es número en alfabético

etcétera porque esto con esto ya

arrancamos bien y con estos adaptamos de

un buen lío a pancho bien chicos este

regla no me gusta si les ha gustado y en

los comentarios escríbanme

tutorial les gustaría ver por aquí y por

último encuentran en pantalla dos vídeos

míos que sí han pasado bien hoy los

invito a que sigan viendo mi contenido

hasta luego

Acerca del autor

¡Hola! Me llamo Adrián, pero todos me conocen como Lasfito. Soy desarrollador front-end y escribo artículos y tutoriales sobre JavaScript, desarrollo web y diseño.

¿Dudas o comentarios?

Únete al Discord oficial

¿Alguna errata?

Si encuentras alguna errata en este artículo, por favor, no dudes en levantar un pull request en el repositorio de GitHub.