¿Cómo resuelvo el encabezado de host faltante o no válido en Amazon OpenSearch Service?
Aparece un mensaje de error No autorizado porque un encabezado del host no es válido o falta en Amazon OpenSearch Service. ¿Cómo se soluciona esto?
Descripción corta
La métrica InvalidHostHeaderRequests de Amazon CloudWatch se registra cuando el valor del encabezado de host de una solicitud es distinto del nombre de dominio completo (FQDN).
En las siguientes condiciones, Amazon OpenSearch Service rechaza las solicitudes a las que les faltan encabezados válidos:
- El dominio solicitado es de acceso público.
- El dominio solicitado utiliza una política de acceso abierta de AWS Identity and Access Management (IAM), en lugar de una política basada en recursos (como una política basada en IP).
Para evitar que se active el contador de la métrica InvalidHostHeaderRequests, tenga en cuenta los siguientes métodos:
- Utilice un encabezado de host válido (el encabezado de host debe coincidir con el FQDN del dominio de OpenSearch Service).
- Lance el dominio de OpenSearch Service mediante una nube virtual privada (VPC).
- Utilice una política basada en recursos (que restrinja las direcciones IP o especifique los roles de IAM).
- Habilite el control de acceso preciso (FGAC).
De lo contrario, recibirá el siguiente error:
$ curl -H 'Host: domain.com' domain-endpoint-name User is not authorized to perform this action
Resolución
Ejemplo
A continuación se muestra un ejemplo de política de acceso abierto:
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": "es:*", "Resource": "arn:aws:es:Region:account-id:domain/os-domain-name/*" }] }
El siguiente comando utiliza domain.com como el valor del encabezado de host, que no es un encabezado válido para el dominio os-domain-name. Cuando esta solicitud se envía a un dominio de acceso público con una política de acceso abierto, se registra la métrica InvalidHostHeaderRequests y se rechaza la solicitud.
$ curl -H 'Host: domain.com' os-domain-name User is not authorized to perform this action
Para resolver el error “User is not authorized to perform this action” (El usuario no está autorizado para realizar esta acción), tenga en cuenta los siguientes métodos:
- Defina el valor adecuado para el encabezado de host.
- Lance su dominio de OpenSearch Service mediante una VPC.
- Utilice una política de acceso basada en IP en lugar de una política de acceso abierto.
- Utilice el control de acceso preciso (FGAC).
Sugerencia 1: establezca el valor adecuado para el encabezado de host
El siguiente comando de ejemplo especifica el nombre de dominio como el valor del encabezado de host:
$ curl -H 'Host: os-endpoint' os-endpoint
A continuación se muestra un ejemplo en el que se utiliza una URL de punto de enlace de AWS:
curl -H 'Host: xxxxxx..os.amazonaws.com' https://xxxxxx..os.amazonaws.com
Sugerencia 2: lance su dominio de OpenSearch Service mediante una VPC
El uso de una VPC para lanzar su dominio de OpenSearch Service proporciona una capa adicional de seguridad. Una VPC también permite administrar el acceso al dominio a través de grupos de seguridad. Por lo tanto, se recomienda evitar el uso de un punto de enlace público para lanzar el dominio. Aunque su solicitud llega al dominio de OpenSearch Service, es posible que reciba un error Not authorized (No autorizado) cuando acceda al punto de enlace público en un explorador web. Para obtener más información, consulte Acerca de las políticas de acceso en los dominios de VPC.
Al crear un dominio con acceso a la VPC, el punto de conexión tiene este aspecto (similar a un punto de conexión público):
https://vpc-domain-name-identifier.region.os.amazonaws.com
Sugerencia 3: utilice una política basada en recursos
En lugar de una política de acceso abierta, utilice una política de acceso basada en recursos que especifique los roles de IAM o restrinja las solicitudes a una dirección IP o un rango CIDR.
Por ejemplo, la siguiente política basada en IP permite solicitudes en el rango CIDR 11.11.11.11/32. Se permiten solicitudes a dominios de este rango y la métrica InvalidHostHeaderRequests no se registra, independientemente del valor del encabezado de host.
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Principal": { "AWS": "*" }, "Action": "es:*", "Resource": "arn:aws:es:region:account-id:domain/os-domain-name/*", "Condition": { "IpAddress": { "aws:SourceIp": [ "11.11.11.11/32" ] } } }] }
Sugerencia 4: utilice el control de acceso preciso (FGAC)
Además de las políticas de acceso basadas en recursos, es posible utilizar el control de acceso preciso (FGAC) para administrar el acceso a los datos del dominio de OpenSearch Service. El control de acceso preciso ofrece los siguientes beneficios:
- Control de acceso basado en roles
- Seguridad a nivel de índice, documento y campo
- OpenSearch Dashboards de múltiples inquilinos
- Autenticación básica HTTP para OpenSearch Service y OpenSearch Dashboards
Dado que el FGAC se basa en roles, las credenciales de usuario se evalúan al autenticar una solicitud. Si el control de acceso preciso autentica al usuario, la métrica InvalidHostHeaderRequests no se registra. Para obtener más información sobre el FGAC, consulte Panorama general: control de acceso preciso y seguridad de OpenSearch Service.
Información relacionada
Creación y administración de dominios de Amazon OpenSearch Service
¿Cómo se solucionan los problemas de autenticación de Amazon Cognito con OpenSearch Dashboards?

Contenido relevante
- OFICIAL DE AWSActualizada hace 2 años
- OFICIAL DE AWSActualizada hace 2 años
- OFICIAL DE AWSActualizada hace 2 años
- ¿Por qué la métrica de documentos eliminados es tan alta en el clúster de Amazon OpenSearch Service?OFICIAL DE AWSActualizada hace 5 meses