Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

112
Visualizações
Firmar llamadas AWS de ElasticSearch

Estoy intentando firmar todas nuestras llamadas de AWS a ElasticSearch, sin embargo, la respuesta es siempre;

User: anonymous is not authorized to perform: es:ESHttpGet on resource:

Probé varios pares de claves y usuarios de IAM.

Las llamadas dentro de nuestro PHP se realizan utilizando el cliente oficial de elasticsearch-php y todas las solicitudes se firman utilizando el conector que se encuentra aquí .

A continuación se muestra cómo construimos el cliente de ElasticSearch y aplicamos el middleware de firma;

 $credentials = new Credentials('<KEY>', '<SECRET>'); $signature = new SignatureV4('es', 'eu-central-1'); $middleware = new AwsSignatureMiddleware($credentials, $signature); $defaultHandler = ESClientBuilder::defaultHandler(); $awsHandler = $middleware($defaultHandler); $clientBuilder = ESClientBuilder::create(); $clientBuilder ->setHandler($awsHandler) ->setHosts(['<URL>']); $this->_client = $clientBuilder->build();

Como referencia, la política adjunta a la instancia de elasticsearch a la que intentamos acceder es;

 { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::<IAM_USER>" }, "Action": "es:*", "Resource": "<RESOURCE>/*" } ] }

Otra información;

  • Estamos usando el framework Laravel, versión 5.4.7
  • Cliente de Elasticsearch versión 5.3.2
over 4 years ago · Santiago Trujillo
2 Respostas
Responde à pergunta

0

Es difícil responder algo específico sin una comprensión completa de lo que está sucediendo con la solicitud en particular, pero aquí hay algunas sugerencias sobre dónde comenzar la búsqueda de una solución.

  1. Puede haber un problema con el middleware. Encontré otro, que parece ser más limpio y mejor probado. Yo sugeriría probarlo - amazon-es-php
  2. Puede haber un problema con sus políticas/configuración de VPC, así que asegúrese de revisar esta página para ver posibles lugares problemáticos
  3. Otra opción es habilitar el inicio de sesión para su cliente php de elasticsearch para arrojar algo de luz sobre lo que está sucediendo con las solicitudes. Esto se puede hacer agregando una biblioteca de monolog a su aplicación y creando un controlador de registro. Aquí hay una guía de la documentación oficial de búsqueda elástica .
over 4 years ago · Santiago Trujillo Relatório

0

Esto me ayudó cuando tuve un problema similar:

Para solucionar este problema, compruebe lo siguiente:

Verifique que esté utilizando un cliente que admita la firma de credenciales y que sus solicitudes se firmen correctamente . AWS utiliza el proceso de firma Signature Version 4 para agregar información de autenticación a las solicitudes de AWS; las solicitudes de clientes que no son compatibles con Signature Version 4 se rechazan con un error de "anónimo no autorizado". Para ver ejemplos de solicitudes bien formadas a Elasticsearch, consulte Firma de una solicitud de búsqueda de Amazon Elasticsearch Service.

Verifique que los usuarios y los recursos especificados en la política de acceso tengan el Nombre de recurso de Amazon (ARN) correcto especificado . Para obtener información general sobre los ARN, consulte Nombres de recursos de Amazon (ARN) y espacios de nombres de servicios de AWS.

Asegúrese de que las direcciones IP especificadas en la política de acceso utilicen la notación CIDR . Las políticas de acceso utilizan la notación CIDR cuando comparan su dirección IP con las direcciones IP especificadas por la política.

Verifique que las direcciones IP especificadas en su política de acceso coincidan con las direcciones IP que está utilizando para acceder a su clúster de Elasticsearch . Es posible que su IP haya cambiado desde que se configuró originalmente la política de acceso. Puede determinar la dirección IP pública de cualquier instancia en http://checkip.amazonaws.com/ .

Revise las políticas de solución de problemas de IAM para obtener información adicional sobre la solución de problemas.

Para más detalles echa un vistazo a esto ...

over 4 years ago · Santiago Trujillo Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda