¿Cómo soluciono el error de encabezado de host no válido o no encontrado en Amazon OpenSearch Service?

5 minutos de lectura
0

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:

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?

Identity and Access Management en Amazon OpenSearch Service

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace 3 años