¿Cómo soluciono el error de encabezado de host no válido o no encontrado en Amazon OpenSearch Service?
Aparece un mensaje de error No autorizado porque un encabezado de host no es válido o no se encuentra en Amazon OpenSearch Service.
Descripción breve
La métrica InvalidHostHeaderRequests de Amazon CloudWatch se registra cuando el valor del encabezado de host de una solicitud es diferente del nombre de dominio completo (FQDN).
En las siguientes condiciones, Amazon OpenSearch Service rechaza las solicitudes que no tengan encabezados válidos:
- El dominio solicitado es de acceso público.
- El dominio solicitado usa 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 métricas InvalidHostHeaderRequests, considere los siguientes enfoques:
- Use un encabezado de host válido (el encabezado de host debe coincidir con el FQDN de su dominio de OpenSearch Service).
- Lance su dominio de OpenSearch Service mediante una nube virtual privada (VPC).
- Use una política basada en recursos (que restrinja las direcciones IP o que especifique roles de IAM).
- Active el control de acceso detallado (FGAC).
De lo contrario, recibirá el error siguiente:
$ curl -H 'Host: domain.com' domain-endpoint-name User is not authorized to perform this action
Resolución
Ejemplo
Este es un ejemplo de una 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 usa domain.com como valor de 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 «El usuario no está autorizado a realizar esta acción», considere los siguientes enfoques:
- Defina el valor adecuado para el encabezado del servidor.
- Inicie su dominio de OpenSearch Service mediante una VPC.
- Use una política de acceso basada en IP en lugar de una política de acceso abierto.
- Use un control de acceso detallado (FGAC).
Consejo 1: Defina el valor adecuado para el encabezado de host
El siguiente comando de ejemplo especifica el nombre de dominio como valor del encabezado de host:
$ curl -H 'Host: os-endpoint' os-endpoint
A continuación, se muestra un ejemplo en el que se usa una URL de punto de conexión de AWS:
curl -H 'Host: xxxxxx..os.amazonaws.com' https://xxxxxx..os.amazonaws.com
Consejo 2: Lance su dominio de OpenSearch Service mediante una VPC
El uso de una VPC para lanzar el dominio de OpenSearch Service proporciona una capa adicional de seguridad. Una VPC también le permite administrar el acceso al dominio a través de grupos de seguridad. Por lo tanto, se recomienda evitar usar un punto de conexión público para lanzar su dominio. Aunque su solicitud llegue al dominio de OpenSearch Service, es posible que reciba el error No autorizado al acceder al punto de conexión público en un navegador 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 VPC, el punto de conexión tiene el siguiente aspecto (similar a un punto de conexión público):
`https://vpc-domain-name-identifier.region.os.amazonaws.com`
Consejo 3: Use una política basada en recursos
En lugar de una política de acceso abierto, use una política de acceso basada en recursos que especifique los roles de IAM o que restrinja las solicitudes a una dirección IP o un rango de CIDR.
Por ejemplo, la siguiente política basada en IP permite las solicitudes en el rango de CIDR 11.11.11.11/32. Se permiten las solicitudes a los dominios de este rango y no se registra la métrica InvalidHostHeaderRequests, 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" ] } } }] }
Consejo 4: Use un control de acceso detallado (FGAC)
Junto con las políticas de acceso basadas en recursos, puede usar FGAC para administrar el acceso a los datos a su dominio de OpenSearch Service. El control de acceso detallado ofrece las siguientes ventajas:
- Control de acceso basado en roles
- Seguridad a nivel de índice, documento y campo
- Multitenencia de OpenSearch Dashboards
- Autenticación básica HTTP para OpenSearch Service y OpenSearch Dashboards
Dado que FGAC se basa en roles, las credenciales de los usuarios se evalúan al autenticar una solicitud. Si un control de acceso detallado autentica al usuario, no se registra la métrica InvalidHostHeaderRequests. Para obtener más información sobre FGAC, consulte Panoramas generales: control de acceso detallado y seguridad de OpenSearch Service.
Información relacionada
Crear y administrar dominios Amazon OpenSearch Service
¿Cómo soluciono los problemas de autenticación de Amazon Cognito con OpenSearch Dashboards?
Vídeos relacionados
Contenido relevante
- OFICIAL DE AWSActualizada hace 3 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 2 años
- OFICIAL DE AWSActualizada hace 2 años
- OFICIAL DE AWSActualizada hace un año