{"id":8888,"date":"2020-08-03T10:14:55","date_gmt":"2020-08-03T13:14:55","guid":{"rendered":"https:\/\/www.fernandoquadro.com.br\/html\/?p=8888"},"modified":"2020-08-04T18:47:09","modified_gmt":"2020-08-04T21:47:09","slug":"como-configurar-o-modulo-key-authentication-do-geoserver","status":"publish","type":"post","link":"https:\/\/www.fernandoquadro.com.br\/html\/2020\/08\/03\/como-configurar-o-modulo-key-authentication-do-geoserver\/","title":{"rendered":"Como configurar o m\u00f3dulo Key Authentication do GeoServer"},"content":{"rendered":"<p>O m\u00f3dulo de Autentica\u00e7\u00e3o por Chave do GeoServer permite um protocolo de autentica\u00e7\u00e3o muito simples, projetado para clientes OGC que n\u00e3o podem lidar com nenhum tipo de protocolo de seguran\u00e7a, nem mesmo a autentica\u00e7\u00e3o b\u00e1sica HTTP.<\/p>\n<p>Para esses clientes, o m\u00f3dulo permite uma forma m\u00ednima de autentica\u00e7\u00e3o, acrescentando uma chave exclusiva na URL que \u00e9 usado como o \u00fanico token de autentica\u00e7\u00e3o. Obviamente, essa abordagem est\u00e1 aberta \u00e0 detec\u00e7\u00e3o de tokens de seguran\u00e7a e sempre deve estar associada ao uso de conex\u00f5es HTTPS.<\/p>\n<p>Um exemplo de solicita\u00e7\u00e3o autenticada \u00e9 semelhante a:<\/p>\n<pre>\r\nhttp:\/\/localhost:8080\/geoserver\/topp\/wms?service=WMS&version=1.3.0&request=GetCapabilities&authkey=ef18d7e7-963b-470f-9230-c7f9de166888\r\n<\/pre>\n<p>Onde <em>authkey=ef18d7e7-963b-470f-9230-c7f9de166888<\/em> est\u00e1 associado a um usu\u00e1rio espec\u00edfico. Quando o par\u00e2metro authkey \u00e9 fornecido, os backlinks tamb\u00e9m cont\u00eam a chave de autentica\u00e7\u00e3o, permitindo que qualquer cliente compat\u00edvel acesse recursos protegidos. <\/p>\n<p>Na sequencia, os passos para voc\u00ea instalar e configurar o m\u00f3dulo de seguran\u00e7a no GeoServer: <\/p>\n<p><strong>1. Pr\u00e9-requisitos para a instala\u00e7\u00e3o<\/strong><\/p>\n<ul>\n<li> <a href=\"http:\/\/sourceforge.net\/projects\/geoserver\/files\/GeoServer\/2.17.1\/extensions\/geoserver-2.17.1-authkey-plugin.zip\" rel=\"noopener noreferrer\" target=\"_blank\">Baixar o plugin<\/a> no site do GeoServer (no meu caso estou usando o GeoServer 2.17.1) <\/li>\n<li> Realizar as <a href=\"https:\/\/www.fernandoquadro.com.br\/html\/2017\/08\/21\/configurando-a-seguranca-no-geoserver-parte-1\/\" rel=\"noopener noreferrer\" target=\"_blank\">configura\u00e7\u00f5es de seguran\u00e7a<\/a><\/li>\n<\/ul>\n<p><strong>2. Instala\u00e7\u00e3o<\/strong><\/p>\n<ul>\n<li> Parar a execu\u00e7\u00e3o do GeoServer<\/li>\n<li> Descompactar o arquivo do plugin e colocar os arquivos .jar na pasta [GEOSERVER_HOME]\/webapps\/geoserver\/WEB-INF\/lib <\/li>\n<li> Reiniciar a execu\u00e7\u00e3o do GeoServer<\/li>\n<\/ul>\n<p><strong>3. Configura\u00e7\u00e3o<\/strong><\/p>\n<p>Agora que o plugin j\u00e1 est\u00e1 instalado, voc\u00ea deve logar na interface web do GeoServer e ir no menu <em>Security<\/em> e clicar em <em>Authentication<\/em>. O GeoServer ir\u00e1 lhe apresentar uma tela com algumas op\u00e7\u00f5es, procure por <em>Authentication Filters<\/em> e clique em <em>Add New<\/em>.<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2020\/07\/authkey_filter.png\" alt=\"\" width=\"730\" height=\"799\" class=\"aligncenter size-full wp-image-8905\" srcset=\"https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2020\/07\/authkey_filter.png 730w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2020\/07\/authkey_filter-274x300.png 274w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2020\/07\/authkey_filter-600x657.png 600w\" sizes=\"auto, (max-width: 730px) 100vw, 730px\" \/><\/p>\n<p>Na tela acima clique na op\u00e7\u00e3o AuthKey, e a tela apresentar\u00e1 as op\u00e7\u00f5es de configura\u00e7\u00e3o. Preencha da seguinte forma:<\/p>\n<ul>\n<li>No campo <u>Name<\/u> insira &#8220;authkey&#8221;<\/li>\n<li>No campo <u>Name of URL parameter<\/u> deixe o valor padr\u00e3o &#8220;authkey&#8221;<\/li>\n<li>No campo <u>Authentication key to user mapper<\/u> selecione a op\u00e7\u00e3o &#8220;Property file&#8221;<\/li>\n<li>No campo <u>User\/Group Service<\/u> selecione a op\u00e7\u00e3o &#8220;default&#8221;<\/li>\n<li>Feito isso, clique no bot\u00e3o <u>Synchronize user\/group service<\/u> para que ele possa gerar o arquivo <u>authkeys.properties<\/u> com as chaves por usu\u00e1rio\/grupo<\/li>\n<li>Clique em Save<\/li>\n<\/ul>\n<p>O arquivo <em>authkeys.properties<\/em> fica localizado em: $GEOSERVER_DATA_DIR\/security\/usergroup\/default\/authkeys.propeties<\/p>\n<p>Um exemplo desse arquivo seria:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2020\/07\/authkey_filepng.png\" alt=\"\" width=\"581\" height=\"151\" class=\"aligncenter size-full wp-image-8892\" srcset=\"https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2020\/07\/authkey_filepng.png 581w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2020\/07\/authkey_filepng-300x78.png 300w\" sizes=\"auto, (max-width: 581px) 100vw, 581px\" \/><\/p>\n<p>Pra finalizar, voc\u00ea precisa substituir as op\u00e7\u00f5es onde tem <em>Basic Authentication<\/em> por <em>Authentication Key<\/em> dentro das op\u00e7\u00f5es do FilterChain, e deixar como na figura abaixo:<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2020\/07\/filter_chain.png\" alt=\"\" width=\"1062\" height=\"316\" class=\"aligncenter size-full wp-image-8909\" srcset=\"https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2020\/07\/filter_chain.png 1062w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2020\/07\/filter_chain-300x89.png 300w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2020\/07\/filter_chain-1024x305.png 1024w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2020\/07\/filter_chain-768x229.png 768w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2020\/07\/filter_chain-600x179.png 600w, https:\/\/www.fernandoquadro.com.br\/html\/wp-content\/uploads\/2020\/07\/filter_chain-945x281.png 945w\" sizes=\"auto, (max-width: 1062px) 100vw, 1062px\" \/><\/p>\n<p>Verifique quais as op\u00e7\u00f5es que voc\u00ea quer a autentica\u00e7\u00e3o por chave. Eu por exemplo n\u00e3o alterei a op\u00e7\u00e3o do Rest.<\/p>\n<p>Agora basta voc\u00ea pegar as chaves geradas no arquivo <em>authkeys.properties<\/em>, e passar por par\u00e2metro nas suas requisi\u00e7\u00f5es ao GeoServer, conforme o exemplo abaixo:<\/p>\n<pre>\r\nhttp:\/\/localhost:8080\/geoserver\/topp\/wms?service=WMS&version=1.3.0&request=GetCapabilities&authkey=ef18d7e7-963b-470f-9230-c7f9de166888\r\n<\/pre>\n<p>Se voc\u00ea quiser, pode ver o processo detalhado acima no YouTube:<\/p>\n<p><center><br \/>\n<iframe loading=\"lazy\" width=\"560\" height=\"315\" src=\"https:\/\/www.youtube.com\/embed\/coXhZa1DbxA\" frameborder=\"0\" allow=\"accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture\" allowfullscreen><\/iframe><br \/>\n<\/center><\/p>\n<p>Fonte: <a href=\"https:\/\/docs.geoserver.org\/stable\/en\/user\/community\/authkey\/index.html\" rel=\"noopener noreferrer\" target=\"_blank\">GeoServer<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>O m\u00f3dulo de Autentica\u00e7\u00e3o por Chave do GeoServer permite um protocolo de autentica\u00e7\u00e3o muito simples, projetado para clientes OGC que n\u00e3o podem lidar com nenhum tipo de protocolo de seguran\u00e7a, nem mesmo a autentica\u00e7\u00e3o b\u00e1sica HTTP. Para esses clientes, o&#8230; <a class=\"more-link\" href=\"https:\/\/www.fernandoquadro.com.br\/html\/2020\/08\/03\/como-configurar-o-modulo-key-authentication-do-geoserver\/\">Continue Reading &rarr;<\/a><\/p>\n","protected":false},"author":275,"featured_media":8900,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[24],"tags":[208],"class_list":["post-8888","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-gis","tag-geoserver"],"_links":{"self":[{"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/posts\/8888","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/users\/275"}],"replies":[{"embeddable":true,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/comments?post=8888"}],"version-history":[{"count":18,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/posts\/8888\/revisions"}],"predecessor-version":[{"id":8914,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/posts\/8888\/revisions\/8914"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/media\/8900"}],"wp:attachment":[{"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/media?parent=8888"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/categories?post=8888"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.fernandoquadro.com.br\/html\/wp-json\/wp\/v2\/tags?post=8888"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}