{"id":917,"date":"2023-11-13T13:56:08","date_gmt":"2023-11-13T16:56:08","guid":{"rendered":"https:\/\/powerembedded.com.br\/blog\/?page_id=917"},"modified":"2024-10-08T17:57:34","modified_gmt":"2024-10-08T20:57:34","slug":"rls-ols-row-level-security-object-level-security","status":"publish","type":"page","link":"https:\/\/powerembedded.com.br\/blog\/rls-ols-row-level-security-object-level-security\/","title":{"rendered":"Ajuda &#8211; Row Level Security (RLS) e Object Level Security (OLS)"},"content":{"rendered":"\t\t<div data-elementor-type=\"wp-page\" data-elementor-id=\"917\" class=\"elementor elementor-917\" data-elementor-post-type=\"page\">\n\t\t\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-33041758 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"33041758\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-2b722f50\" data-id=\"2b722f50\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-7f9201e2 elementor-widget elementor-widget-heading\" data-id=\"7f9201e2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_82_2 counter-hierarchy ez-toc-counter ez-toc-grey ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Alternar tabela de conte\u00fado\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/powerembedded.com.br\/blog\/rls-ols-row-level-security-object-level-security\/#Ajuda_-_Row_Level_Security_RLS_e_Object_Level_Security_OLS\" >Ajuda - Row Level Security (RLS) e Object Level Security (OLS)<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/powerembedded.com.br\/blog\/rls-ols-row-level-security-object-level-security\/#Seguranca\" >Seguran\u00e7a<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/powerembedded.com.br\/blog\/rls-ols-row-level-security-object-level-security\/#Tipos_de_RLS\" >Tipos de RLS<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/powerembedded.com.br\/blog\/rls-ols-row-level-security-object-level-security\/#Rls_com_Direct_query_no_Power_BI\" >Rls com Direct query no Power BI<\/a><\/li><\/ul><\/nav><\/div>\n<h2 class=\"elementor-heading-title elementor-size-default\"><span class=\"ez-toc-section\" id=\"Ajuda_-_Row_Level_Security_RLS_e_Object_Level_Security_OLS\"><\/span>Ajuda - Row Level Security (RLS) e Object Level Security (OLS)<span class=\"ez-toc-section-end\"><\/span><\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<section class=\"elementor-section elementor-top-section elementor-element elementor-element-713a7964 elementor-section-boxed elementor-section-height-default elementor-section-height-default\" data-id=\"713a7964\" data-element_type=\"section\" data-e-type=\"section\">\n\t\t\t\t\t\t<div class=\"elementor-container elementor-column-gap-default\">\n\t\t\t\t\t<div class=\"elementor-column elementor-col-100 elementor-top-column elementor-element elementor-element-3290bf11\" data-id=\"3290bf11\" data-element_type=\"column\" data-e-type=\"column\">\n\t\t\t<div class=\"elementor-widget-wrap elementor-element-populated\">\n\t\t\t\t\t\t<div class=\"elementor-element elementor-element-393e5013 elementor-widget elementor-widget-video\" data-id=\"393e5013\" data-element_type=\"widget\" data-e-type=\"widget\" data-settings=\"{&quot;youtube_url&quot;:&quot;https:\\\/\\\/www.youtube.com\\\/watch?v=xuLr4iWR378&quot;,&quot;video_type&quot;:&quot;youtube&quot;,&quot;controls&quot;:&quot;yes&quot;}\" data-widget_type=\"video.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-wrapper elementor-open-inline\">\n\t\t\t<div class=\"elementor-video\"><\/div>\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-ff1daf4 elementor-widget elementor-widget-spacer\" data-id=\"ff1daf4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"spacer.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t<div class=\"elementor-spacer\">\n\t\t\t<div class=\"elementor-spacer-inner\"><\/div>\n\t\t<\/div>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-33abaa9 elementor-widget elementor-widget-heading\" data-id=\"33abaa9\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\"><span class=\"ez-toc-section\" id=\"Seguranca\"><\/span>Seguran\u00e7a<span class=\"ez-toc-section-end\"><\/span><\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3225c7f elementor-widget elementor-widget-text-editor\" data-id=\"3225c7f\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<div class=\"flex-shrink-0 flex flex-col relative items-end\"><div><div class=\"pt-0.5 juice:pt-0\"><div class=\"gizmo-bot-avatar flex h-6 w-6 items-center justify-center overflow-hidden rounded-full juice:h-8 juice:w-8\"><div class=\"relative p-1 rounded-sm flex items-center justify-center bg-token-main-surface-primary text-token-text-primary h-6 w-6\"><span style=\"color: #000000;\">Seguran\u00e7a a n\u00edvel de linhas \u00e9 amplamente utilizada para aplicar filtros nos modelos de dados e garantir que os usu\u00e1rios vejam apenas as informa\u00e7\u00f5es pertinentes. No Power Embedded, oferecemos suporte tanto para RLS (Row-Level Security) quanto para OLS (Object-Level Security). Abaixo est\u00e3o algumas informa\u00e7\u00f5es para ajudar no entendimento.<\/span><\/div><\/div><\/div><\/div><\/div>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-0997682 elementor-widget elementor-widget-image\" data-id=\"0997682\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"608\" height=\"757\" src=\"https:\/\/powerembedded.com.br\/blog\/wp-content\/uploads\/2024\/10\/RLS.jpg\" class=\"attachment-large size-large wp-image-4308\" alt=\"\" srcset=\"https:\/\/powerembedded.com.br\/blog\/wp-content\/uploads\/2024\/10\/RLS.jpg 608w, https:\/\/powerembedded.com.br\/blog\/wp-content\/uploads\/2024\/10\/RLS-241x300.jpg 241w, https:\/\/powerembedded.com.br\/blog\/wp-content\/uploads\/2024\/10\/RLS-10x12.jpg 10w\" sizes=\"(max-width: 608px) 100vw, 608px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-b1a45d2 elementor-widget elementor-widget-heading\" data-id=\"b1a45d2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\"><span class=\"ez-toc-section\" id=\"Tipos_de_RLS\"><\/span>Tipos de RLS<span class=\"ez-toc-section-end\"><\/span><\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-60599d4 elementor-widget elementor-widget-text-editor\" data-id=\"60599d4\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"color: #000000;\"><strong><span style=\"font-size: 14pt;\">Seguran\u00e7a est\u00e1tica<br \/><\/span><\/strong><br \/>Para empresas que precisam ou gostariam de criar v\u00e1rias roles e utilizar uma role de acordo com o usu\u00e1rio que est\u00e1 acessando, sem a necessidade de ter uma tabela no modelo com os usu\u00e1rios e permiss\u00f5es, existe a seguran\u00e7a est\u00e1tica, que \u00e9 mais simples de configurar, mas apresenta performance pior e \u00e9 mais dif\u00edcil de gerenciar as permiss\u00f5es.<\/span><\/p><p><span style=\"color: #000000;\">Nesse formato, voc\u00ea ir\u00e1 visualizar a lista das roles que existem no modelo e poder\u00e1 associar os usu\u00e1rios ou grupos que ser\u00e3o filtrados por essa role.<\/span><\/p><p><span style=\"color: #000000;\">Aqui est\u00e1 um print das regras criadas no Power BI Desktop. Existem duas regras criadas: &#8216;Alimentos&#8217; e &#8216;Bebidas&#8217;. Isso significa que se um usu\u00e1rio for atribu\u00eddo \u00e0 regra de alimentos, ele s\u00f3 poder\u00e1 visualizar dados relacionados a alimentos.<br \/><br \/><\/span><\/p><p><span style=\"color: #000000;\"><img decoding=\"async\" class=\"alignnone size-full wp-image-2050\" src=\"https:\/\/powerembedded.com.br\/blog\/wp-content\/uploads\/2024\/06\/RLS-ESTATICA.png\" alt=\"\" width=\"1069\" height=\"622\" srcset=\"https:\/\/powerembedded.com.br\/blog\/wp-content\/uploads\/2024\/06\/RLS-ESTATICA.png 1069w, https:\/\/powerembedded.com.br\/blog\/wp-content\/uploads\/2024\/06\/RLS-ESTATICA-300x175.png 300w, https:\/\/powerembedded.com.br\/blog\/wp-content\/uploads\/2024\/06\/RLS-ESTATICA-1024x596.png 1024w, https:\/\/powerembedded.com.br\/blog\/wp-content\/uploads\/2024\/06\/RLS-ESTATICA-768x447.png 768w, https:\/\/powerembedded.com.br\/blog\/wp-content\/uploads\/2024\/06\/RLS-ESTATICA-18x10.png 18w\" sizes=\"(max-width: 1069px) 100vw, 1069px\" \/><br \/><br \/><\/span><\/p><p><span style=\"color: #000000;\">Ao publicar o relat\u00f3rio, ao acessar &#8220;A\u00e7\u00f5es&#8221; &gt; &#8220;Seguran\u00e7a&#8221;, o Power Embedded automaticamente identifica as regras criadas. Voc\u00ea pode ent\u00e3o atribuir essas regras aos usu\u00e1rios conforme necess\u00e1rio.<br \/><br \/><\/span><\/p><p><img decoding=\"async\" class=\"alignnone size-full wp-image-2069\" src=\"https:\/\/powerembedded.com.br\/blog\/wp-content\/uploads\/2024\/06\/rls-estatica-aplicada.png\" alt=\"\" width=\"1359\" height=\"456\" srcset=\"https:\/\/powerembedded.com.br\/blog\/wp-content\/uploads\/2024\/06\/rls-estatica-aplicada.png 1359w, https:\/\/powerembedded.com.br\/blog\/wp-content\/uploads\/2024\/06\/rls-estatica-aplicada-300x101.png 300w, https:\/\/powerembedded.com.br\/blog\/wp-content\/uploads\/2024\/06\/rls-estatica-aplicada-1024x344.png 1024w, https:\/\/powerembedded.com.br\/blog\/wp-content\/uploads\/2024\/06\/rls-estatica-aplicada-768x258.png 768w, https:\/\/powerembedded.com.br\/blog\/wp-content\/uploads\/2024\/06\/rls-estatica-aplicada-18x6.png 18w\" sizes=\"(max-width: 1359px) 100vw, 1359px\" \/><br \/><br \/><\/p><p><span style=\"color: #000000;\">Quando o usu\u00e1rio marcos acessar o relat\u00f3rio ele s\u00f3 vai ver a as informa\u00e7\u00f5es relacionadas a alimentos.<br \/><br \/><\/span><\/p><p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2070\" src=\"https:\/\/powerembedded.com.br\/blog\/wp-content\/uploads\/2024\/06\/marcos-rls-estatica.png\" alt=\"\" width=\"1910\" height=\"647\" srcset=\"https:\/\/powerembedded.com.br\/blog\/wp-content\/uploads\/2024\/06\/marcos-rls-estatica.png 1910w, https:\/\/powerembedded.com.br\/blog\/wp-content\/uploads\/2024\/06\/marcos-rls-estatica-300x102.png 300w, https:\/\/powerembedded.com.br\/blog\/wp-content\/uploads\/2024\/06\/marcos-rls-estatica-1024x347.png 1024w, https:\/\/powerembedded.com.br\/blog\/wp-content\/uploads\/2024\/06\/marcos-rls-estatica-768x260.png 768w, https:\/\/powerembedded.com.br\/blog\/wp-content\/uploads\/2024\/06\/marcos-rls-estatica-1536x520.png 1536w, https:\/\/powerembedded.com.br\/blog\/wp-content\/uploads\/2024\/06\/marcos-rls-estatica-18x6.png 18w\" sizes=\"(max-width: 1910px) 100vw, 1910px\" \/><br \/><br \/><\/p><p><span style=\"color: #000000;\"><strong><span style=\"font-size: 14pt;\">Seguran\u00e7a Din\u00e2mica<\/span> <\/strong><\/span><\/p><p><span style=\"color: #000000;\">Com a Seguran\u00e7a Din\u00e2mica, voc\u00ea pode definir uma ou mais roles e elas ser\u00e3o aplicadas automaticamente para todos os usu\u00e1rios que acessem o relat\u00f3rio. Essa \u00e9 a recomenda\u00e7\u00e3o de boas pr\u00e1ticas para melhor gerenciamento de regras e performance.<\/span><\/p><p><span style=\"color: #000000;\">Nesse formato, a role\/fun\u00e7\u00e3o criada no Power BI Desktop, receber\u00e1 o e-mail do usu\u00e1rio que est\u00e1 acessando o relat\u00f3rio (utilizando as fun\u00e7\u00f5es USERNAME() ou USERPRINCIPALNAME()) e ser\u00e1 respons\u00e1vel por realizar os filtros utilizando esse e-mail, com base nas regras criadas.<\/span><\/p><p>\u00a0<\/p><p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2071\" src=\"https:\/\/powerembedded.com.br\/blog\/wp-content\/uploads\/2024\/06\/RLS-DINAMICA.png\" alt=\"\" width=\"1071\" height=\"622\" srcset=\"https:\/\/powerembedded.com.br\/blog\/wp-content\/uploads\/2024\/06\/RLS-DINAMICA.png 1071w, https:\/\/powerembedded.com.br\/blog\/wp-content\/uploads\/2024\/06\/RLS-DINAMICA-300x174.png 300w, https:\/\/powerembedded.com.br\/blog\/wp-content\/uploads\/2024\/06\/RLS-DINAMICA-1024x595.png 1024w, https:\/\/powerembedded.com.br\/blog\/wp-content\/uploads\/2024\/06\/RLS-DINAMICA-768x446.png 768w, https:\/\/powerembedded.com.br\/blog\/wp-content\/uploads\/2024\/06\/RLS-DINAMICA-18x10.png 18w\" sizes=\"(max-width: 1071px) 100vw, 1071px\" \/><br \/><br \/><\/p><p><span style=\"color: #000000;\">Nessa forma de aplicar os filtros automaticamente de acordo com o usu\u00e1rio, \u00e9 necess\u00e1rio manter no seu modelo uma tabela com os usu\u00e1rios e permiss\u00f5es de acordo com a regra do RLS ou OLS.<\/span><\/p><p><span style=\"color: #000000;\">A tabela abaixo exemplifica um modelo contendo as informa\u00e7\u00f5es de e-mails dos gerentes de um determinado relat\u00f3rio.<br \/><br \/><\/span><\/p><p><span style=\"color: #000000;\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2052\" src=\"https:\/\/powerembedded.com.br\/blog\/wp-content\/uploads\/2024\/06\/exemplo-rls-dinamica.png\" alt=\"\" width=\"438\" height=\"63\" srcset=\"https:\/\/powerembedded.com.br\/blog\/wp-content\/uploads\/2024\/06\/exemplo-rls-dinamica.png 438w, https:\/\/powerembedded.com.br\/blog\/wp-content\/uploads\/2024\/06\/exemplo-rls-dinamica-300x43.png 300w, https:\/\/powerembedded.com.br\/blog\/wp-content\/uploads\/2024\/06\/exemplo-rls-dinamica-18x3.png 18w\" sizes=\"(max-width: 438px) 100vw, 438px\" \/><br \/><br \/><\/span><\/p><p><span style=\"color: #000000;\">Relacionamento entre as tabelas, ou seja sua tabela vai estar vinculada a uma fato que cont\u00e9m as informa\u00e7\u00f5es.<br \/><br \/><\/span><\/p><p><span style=\"color: #000000;\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2053\" src=\"https:\/\/powerembedded.com.br\/blog\/wp-content\/uploads\/2024\/06\/relacionamento-rls-dinamica.png\" alt=\"\" width=\"567\" height=\"354\" srcset=\"https:\/\/powerembedded.com.br\/blog\/wp-content\/uploads\/2024\/06\/relacionamento-rls-dinamica.png 567w, https:\/\/powerembedded.com.br\/blog\/wp-content\/uploads\/2024\/06\/relacionamento-rls-dinamica-300x187.png 300w, https:\/\/powerembedded.com.br\/blog\/wp-content\/uploads\/2024\/06\/relacionamento-rls-dinamica-18x12.png 18w\" sizes=\"(max-width: 567px) 100vw, 567px\" \/><br \/><br \/><\/span><\/p><p><span style=\"color: #000000;\">Ao publicar essa relat\u00f3rio, a regra passa a ser visualizada no portal, \u00e9 s\u00f3 selecionar a mesma e a regra ser\u00e1 aplicada, diferente da est\u00e1tica aqui voc\u00ea n\u00e3o atribui um usu\u00e1rio a regra, somente clica na regra que deseja aplicar.<br \/><br \/><\/span><\/p><p><span style=\"color: #000000;\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2072 size-full\" src=\"https:\/\/powerembedded.com.br\/blog\/wp-content\/uploads\/2024\/06\/rls-upn.png\" alt=\"\" width=\"1369\" height=\"512\" srcset=\"https:\/\/powerembedded.com.br\/blog\/wp-content\/uploads\/2024\/06\/rls-upn.png 1369w, https:\/\/powerembedded.com.br\/blog\/wp-content\/uploads\/2024\/06\/rls-upn-300x112.png 300w, https:\/\/powerembedded.com.br\/blog\/wp-content\/uploads\/2024\/06\/rls-upn-1024x383.png 1024w, https:\/\/powerembedded.com.br\/blog\/wp-content\/uploads\/2024\/06\/rls-upn-768x287.png 768w, https:\/\/powerembedded.com.br\/blog\/wp-content\/uploads\/2024\/06\/rls-upn-18x7.png 18w\" sizes=\"(max-width: 1369px) 100vw, 1369px\" \/><br \/><br \/><\/span><\/p><p><span style=\"color: #000000;\">Relat\u00f3rio normal sem a regra existentes:<\/span><\/p><p><span style=\"color: #000000;\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone wp-image-2073 size-full\" src=\"https:\/\/powerembedded.com.br\/blog\/wp-content\/uploads\/2024\/06\/sem-rls-aplicada.png\" alt=\"\" width=\"853\" height=\"399\" srcset=\"https:\/\/powerembedded.com.br\/blog\/wp-content\/uploads\/2024\/06\/sem-rls-aplicada.png 853w, https:\/\/powerembedded.com.br\/blog\/wp-content\/uploads\/2024\/06\/sem-rls-aplicada-300x140.png 300w, https:\/\/powerembedded.com.br\/blog\/wp-content\/uploads\/2024\/06\/sem-rls-aplicada-768x359.png 768w, https:\/\/powerembedded.com.br\/blog\/wp-content\/uploads\/2024\/06\/sem-rls-aplicada-18x8.png 18w\" sizes=\"(max-width: 853px) 100vw, 853px\" \/><\/span><\/p><p><span style=\"color: #000000;\">Relat\u00f3rio com regra de rls existente no modelo utilizando\u00a0 a RLS din\u00e2mica:<\/span><\/p><p>\u00a0\u00a0<img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2074\" src=\"https:\/\/powerembedded.com.br\/blog\/wp-content\/uploads\/2024\/06\/identificado-upn.png\" alt=\"\" width=\"1904\" height=\"597\" srcset=\"https:\/\/powerembedded.com.br\/blog\/wp-content\/uploads\/2024\/06\/identificado-upn.png 1904w, https:\/\/powerembedded.com.br\/blog\/wp-content\/uploads\/2024\/06\/identificado-upn-300x94.png 300w, https:\/\/powerembedded.com.br\/blog\/wp-content\/uploads\/2024\/06\/identificado-upn-1024x321.png 1024w, https:\/\/powerembedded.com.br\/blog\/wp-content\/uploads\/2024\/06\/identificado-upn-768x241.png 768w, https:\/\/powerembedded.com.br\/blog\/wp-content\/uploads\/2024\/06\/identificado-upn-1536x482.png 1536w, https:\/\/powerembedded.com.br\/blog\/wp-content\/uploads\/2024\/06\/identificado-upn-18x6.png 18w\" sizes=\"(max-width: 1904px) 100vw, 1904px\" \/><br \/><br \/><\/p><p><span style=\"color: #000000;\">A regra de RLS \u00e9 aplicada utilizando a fun\u00e7\u00e3o UserPrincipalName() para identificar qual usu\u00e1rio est\u00e1 logado e realizar o filtro nas outras tabelas tamb\u00e9m, ou seja o usu\u00e1rio s\u00f3 consegue visualizar as informa\u00e7\u00f5es pertinentes a ele.<\/span><\/p><p><span style=\"color: #000000;\"><strong>Observa\u00e7\u00e3o:<\/strong> Quando criar uma regra de RLS, \u00e9 necess\u00e1rio associ\u00e1-la a um usu\u00e1rio, caso contr\u00e1rio ele n\u00e3o conseguir\u00e1 visualizar os relat\u00f3rios, e uma mensagem como esta ser\u00e1 exibida.<\/span><\/p><p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-2075\" src=\"https:\/\/powerembedded.com.br\/blog\/wp-content\/uploads\/2024\/06\/pop-up-rls.png\" alt=\"\" width=\"677\" height=\"470\" srcset=\"https:\/\/powerembedded.com.br\/blog\/wp-content\/uploads\/2024\/06\/pop-up-rls.png 677w, https:\/\/powerembedded.com.br\/blog\/wp-content\/uploads\/2024\/06\/pop-up-rls-300x208.png 300w, https:\/\/powerembedded.com.br\/blog\/wp-content\/uploads\/2024\/06\/pop-up-rls-18x12.png 18w\" sizes=\"(max-width: 677px) 100vw, 677px\" \/><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-3aaf19d elementor-widget elementor-widget-heading\" data-id=\"3aaf19d\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"heading.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t<h2 class=\"elementor-heading-title elementor-size-default\"><span class=\"ez-toc-section\" id=\"Rls_com_Direct_query_no_Power_BI\"><\/span>Rls com Direct query no Power BI<span class=\"ez-toc-section-end\"><\/span><\/h2>\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-98b9b85 elementor-widget elementor-widget-text-editor\" data-id=\"98b9b85\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"color: #000000;\">Se voc\u00ea se deparar com o erro abaixo ao tentar acessar o relat\u00f3rio, \u00e9 muito prov\u00e1vel que a tabela que cont\u00e9m a regra de RLS esteja utilizando a conex\u00e3o Direct Query.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-c2418d2 elementor-widget elementor-widget-image\" data-id=\"c2418d2\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"image.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"412\" src=\"https:\/\/powerembedded.com.br\/blog\/wp-content\/uploads\/2024\/10\/Captura-de-tela-2024-10-08-171326-1024x412.png\" class=\"attachment-large size-large wp-image-4318\" alt=\"\" srcset=\"https:\/\/powerembedded.com.br\/blog\/wp-content\/uploads\/2024\/10\/Captura-de-tela-2024-10-08-171326-1024x412.png 1024w, https:\/\/powerembedded.com.br\/blog\/wp-content\/uploads\/2024\/10\/Captura-de-tela-2024-10-08-171326-300x121.png 300w, https:\/\/powerembedded.com.br\/blog\/wp-content\/uploads\/2024\/10\/Captura-de-tela-2024-10-08-171326-768x309.png 768w, https:\/\/powerembedded.com.br\/blog\/wp-content\/uploads\/2024\/10\/Captura-de-tela-2024-10-08-171326-18x7.png 18w, https:\/\/powerembedded.com.br\/blog\/wp-content\/uploads\/2024\/10\/Captura-de-tela-2024-10-08-171326.png 1108w\" sizes=\"(max-width: 1024px) 100vw, 1024px\" \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-8e5fe34 elementor-widget elementor-widget-text-editor\" data-id=\"8e5fe34\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p data-pm-slice=\"1 1 []\"><span style=\"color: #000000;\">O Direct Query \u00e9 amplamente utilizado para acessar dados em tempo real. No entanto, \u00e9 importante destacar que as regras de Row-Level Security (RLS) n\u00e3o se aplicam diretamente \u00e0s tabelas conectadas via Direct Query no Power BI. Isso acontece porque a configura\u00e7\u00e3o dessas regras, quando se utiliza Direct Query, deve ser feita no n\u00edvel do banco de dados, e n\u00e3o no Power BI. Por isso, \u00e9 importante alterar a conex\u00e3o da tabela para os modos Import ou Dual, caso seja necess\u00e1rio aplicar essas regras.<\/span><\/p><p><span style=\"color: #000000;\">Para alterar a conex\u00e3o da tabela, siga os passos abaixo:<\/span><\/p><ol><li><span style=\"color: #000000;\">Abra o Power BI Desktop.<\/span><\/li><li><span style=\"color: #000000;\">V\u00e1 para a &#8220;<strong>Exibi\u00e7\u00e3o do Modelo<\/strong>&#8220;.<\/span><\/li><li><span style=\"color: #000000;\">Selecione a tabela que <strong>possui regras de RLS e est\u00e1 conectada via Direct Quer<\/strong>y.<\/span><\/li><li><span style=\"color: #000000;\">Acesse o menu <strong>&#8220;Avan\u00e7ado&#8221;<\/strong>, conforme mostrado na imagem.<\/span><\/li><li><span style=\"color: #000000;\">Altere o modo de armazenamento para <strong>&#8220;Importar&#8221; ou &#8220;Dual&#8221;.<\/strong><\/span><\/li><\/ol><p><span style=\"color: #000000;\"><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-4319\" src=\"https:\/\/powerembedded.com.br\/blog\/wp-content\/uploads\/2024\/10\/direct.png\" alt=\"\" width=\"1318\" height=\"792\" srcset=\"https:\/\/powerembedded.com.br\/blog\/wp-content\/uploads\/2024\/10\/direct.png 1318w, https:\/\/powerembedded.com.br\/blog\/wp-content\/uploads\/2024\/10\/direct-300x180.png 300w, https:\/\/powerembedded.com.br\/blog\/wp-content\/uploads\/2024\/10\/direct-1024x615.png 1024w, https:\/\/powerembedded.com.br\/blog\/wp-content\/uploads\/2024\/10\/direct-768x461.png 768w, https:\/\/powerembedded.com.br\/blog\/wp-content\/uploads\/2024\/10\/direct-18x12.png 18w\" sizes=\"(max-width: 1318px) 100vw, 1318px\" \/><\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t<div class=\"elementor-element elementor-element-7097737 elementor-widget elementor-widget-text-editor\" data-id=\"7097737\" data-element_type=\"widget\" data-e-type=\"widget\" data-widget_type=\"text-editor.default\">\n\t\t\t\t<div class=\"elementor-widget-container\">\n\t\t\t\t\t\t\t\t\t<p><span style=\"color: #000000;\">Ao seguir o passo a passo anterior, um aviso como o mostrado na imagem aparecer\u00e1 na tela. Basta clicar em &#8220;OK&#8221; e prosseguir. Ap\u00f3s realizar esse processo, \u00e9 s\u00f3 publicar o relat\u00f3rio novamente.<\/span><\/p><p><img loading=\"lazy\" decoding=\"async\" class=\"alignnone size-full wp-image-4324\" src=\"https:\/\/powerembedded.com.br\/blog\/wp-content\/uploads\/2024\/10\/Captura-de-tela-2024-10-08-174508.png\" alt=\"\" width=\"666\" height=\"338\" srcset=\"https:\/\/powerembedded.com.br\/blog\/wp-content\/uploads\/2024\/10\/Captura-de-tela-2024-10-08-174508.png 666w, https:\/\/powerembedded.com.br\/blog\/wp-content\/uploads\/2024\/10\/Captura-de-tela-2024-10-08-174508-300x152.png 300w, https:\/\/powerembedded.com.br\/blog\/wp-content\/uploads\/2024\/10\/Captura-de-tela-2024-10-08-174508-18x9.png 18w\" sizes=\"(max-width: 666px) 100vw, 666px\" \/><\/p><p><span style=\"color: #000000;\">Agora ir\u00e1 conseguir ver suas informa\u00e7\u00f5es.<\/span><\/p>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t\t<\/section>\n\t\t\t\t<\/div>\n\t\t","protected":false},"excerpt":{"rendered":"<p>Ajuda &#8211; Row Level Security (RLS) e Object Level Security (OLS) Seguran\u00e7a Seguran\u00e7a a n\u00edvel de linhas \u00e9 amplamente utilizada para aplicar filtros nos modelos de dados e garantir que os usu\u00e1rios vejam apenas as informa\u00e7\u00f5es pertinentes. No Power Embedded, oferecemos suporte tanto para RLS (Row-Level Security) quanto para OLS (Object-Level Security). Abaixo est\u00e3o algumas&hellip; <br \/> <a class=\"read-more\" href=\"https:\/\/powerembedded.com.br\/blog\/rls-ols-row-level-security-object-level-security\/\">Leia mais<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"content-type":"","footnotes":""},"class_list":["post-917","page","type-page","status-publish","hentry"],"_links":{"self":[{"href":"https:\/\/powerembedded.com.br\/blog\/wp-json\/wp\/v2\/pages\/917","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/powerembedded.com.br\/blog\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/powerembedded.com.br\/blog\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/powerembedded.com.br\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/powerembedded.com.br\/blog\/wp-json\/wp\/v2\/comments?post=917"}],"version-history":[{"count":104,"href":"https:\/\/powerembedded.com.br\/blog\/wp-json\/wp\/v2\/pages\/917\/revisions"}],"predecessor-version":[{"id":4333,"href":"https:\/\/powerembedded.com.br\/blog\/wp-json\/wp\/v2\/pages\/917\/revisions\/4333"}],"wp:attachment":[{"href":"https:\/\/powerembedded.com.br\/blog\/wp-json\/wp\/v2\/media?parent=917"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}