AWS Builder Center: Learn, Build and Connect with builders in the AWS community
AWS Builder Center is the official home for builders on AWS. Share and read what others are working on, follow people who inspire you, explore training and workshops, and find tools to support what you're building.
¿Cómo puedo solucionar los errores de control de acceso detallado en el clúster de OpenSearch Service?
Se muestran errores de control de acceso o problemas de control de acceso detallados en mi clúster de Amazon OpenSearch Service.
Resolución
Requisitos previos:
- Para usar otros servicios de AWS con OpenSearch Service, asegúrate de proporcionar los permisos necesarios a los roles de AWS Identity and Access Management (IAM) del servicio.
- Para proporcionar un control de acceso detallado a índices o paneles específicos, asigna al usuario a un rol con los siguientes permisos en el índice de Kibana del inquilino:
Nota: Sustituye tenant_name por tu nombre de inquilino. OpenSearch genera automáticamente un valor para el hash..kibana_hash_tenant_name - Para utilizar un control de acceso detallado en el nivel de campo, configura un rol de seguridad de OpenSearch con la seguridad de nivel de campo necesaria. Para obtener instrucciones, consulta Defining roles (Definir funciones) en el sitio web de OpenSearch. A continuación, para asignar el usuario al rol, consulta Mapping users to roles (Asignar usuarios a roles) en el sitio web de OpenSearch. Para obtener más información, consulta Field-level security (Seguridad en el nivel de campo) en el sitio web de OpenSearch.
- Para utilizar un control de acceso detallado en el nivel de documento, configura un rol de seguridad de OpenSearch con la seguridad de nivel de documento necesaria. A continuación, para asignar el usuario al rol, consulta Mapping users to roles (Asignar usuarios a roles) en el sitio web de OpenSearch. Para obtener más información, consulta Document-level security (Seguridad en el nivel de documento) en el sitio web de OpenSearch.
Si utilizas un control de acceso detallado y se muestran errores, toma las siguientes medidas de solución de problemas en función del error que se muestre.
Nota: No puede usar el acceso anónimo en OpenSearch Service.
Error 403 "security_exception","reason":"no permissions for [action]"
Para resolver este error, asegúrate de que el rol de usuario o de backend del clúster de OpenSearch Service tiene los permisos necesarios. Para obtener información sobre los permisos necesarios, consulta Permisos en el sitio web de OpenSearch. A continuación, asegúrate de haber asignado el rol de usuario o de backend a un rol de seguridad de OpenSearch. Para obtener instrucciones, consulta Mapping users to roles (Asignar usuarios a roles) en el sitio web de OpenSearch.
Error "security_exception","reason":"no permissions for []"
Debes excluir los índices del sistema de las solicitudes de restauración. Si no lo haces, es posible que aparezca este error al restaurar una instantánea, incluso si tienes los permisos necesarios.
Para resolver este problema, ejecuta el siguiente comando para excluir los índices del sistema de la solicitud de restauración:
curl -XPOST 'domain-endpoint/_snapshot/snapshot-repository/snapshot-name/_restore' \ -d '{"indices": "-.kibana*,-.opendistro*"}' \ -H 'Content-Type: application/json'
Nota: Sustituye **domain-endpoint ** por el punto de enlace de tu dominio, snapshot-repository por tu repositorio de instantáneas y snapshot-name por el nombre de tu instantánea.
Error "Missing role"
Para iniciar sesión en OpenSearch Dashboards, debes asignar el rol de usuario o de backend a al menos un rol de seguridad de OpenSearch. Si no lo haces, es posible se muestre el siguiente mensaje de error al iniciar sesión en OpenSearch Dashboards:
"Missing role. No roles available for this user, please contact your system administrator."
Para resolver este problema, consulta Mapping users to roles (Asignar usuarios a roles) en el sitio web de OpenSearch.
Error "User: anonymous is not authorized to perform: iam:PassRole"
Debes asignar el rol manage_snapshots al rol de IAM que utilizaste para registrar la instantánea manual. Si no lo haces, es posible se muestre este error al registrar un repositorio de instantáneas manual.
Para resolver este problema, sigue estos pasos:
- Inicia sesión en el panel de control de OpenSearch como usuario administrativo.
- En el panel de navegación, selecciona Security (Seguridad).
- Selecciona Roles (Funciones).
- Selecciona manage_snapshots.
- Selecciona Mapped Users (Usuarios asignados) y, a continuación, selecciona Manage Mapping (Administrar asignación).
- En Backend Roles (Roles de backend), introduce el nombre de recurso de Amazon (ARN) del rol de IAM.
- Pulsa Intro.
- Selecciona Map (Asignar).
Error "User: anonymous is not authorized to perform: es:ESHttp HTTP_Method"
El solicitante debe cumplir con la ](https://docs.aws.amazon.com/opensearch-service/latest/developerguide/ac.html)política de acceso al dominio[. Si no lo hace, se mostrará el mensaje de error "not authorized to perform".
Para resolver este error, actualiza la política de acceso al dominio para permitir el tipo de solicitud que envías. Para permitir solicitudes sin firmar, establece Principal en "AWS": "*".
Luego, toma las siguientes medidas en función de los requisitos de tu política.
La política incluye una entidad principal de IAM
Si la política de acceso al dominio incluye una entidad principal de IAM, esta debe firmar la solicitud con AWS Signature Version 4. En este caso, OpenSearch Service rechaza las solicitudes sin firmar, como la autorización básica o el acceso anónimo.
El siguiente comando de ejemplo muestra una solicitud que firma el rol de IAM:
curl -X GET "opensearch_endpoint" \ --user "AWS_ACCESS_KEY_ID":"AWS_SECRET_ACCESS_KEY" \ -H "x-amz-security-token: AWS_SESSION_TOKEN" \ --aws-sigv4 "aws:amz:region:es"
Nota: Sustituye opensearch_endpoint por el punto de enlace, AWS_ACCESS_KEY_ID por la clave de acceso, AWS_SECRET_ACCESS_KEY por la clave de acceso secreta, AWS_SESSION_TOKEN por el token de sesión y region por tu región de AWS. Para las solicitudes de un usuario de IAM, elimina**-H "x-amz-security-token: AWS_SESSION_TOKEN" \**.
La política solo permite solicitudes de direcciones IP específicas
Si la política incluye condiciones de dirección IP y utiliza una entidad principal abierta "Principal": { "AWS": "*" }, puedes utilizar solicitudes sin firmar para acceder a OpenSearch Service. Sin embargo, la solicitud debe provenir de una dirección IP permitida.
Nota: Si la política incluye una entidad principal de IAM y solo permite una dirección IP específica, la entidad principal de IAM debe firmar la solicitud. Además, la solicitud debe provenir de una dirección IP permitida.
La política bloquea acciones HTTP específicas
Asegúrate de que la política de acceso al dominio permita el método HTTP que solicitas. Por ejemplo, si envías una solicitud POST, asegúrate de incluir la acción es:ESHttpPost en la política.
Error "Couldn't find any Elasticsearch data"
Es posible que se muestre este error al crear patrones de índice en un clúster con un control de acceso detallado después de actualizar a la versión 7.9 de OpenSearch Service. Asegúrate de que el rol asignado al usuario tenga el permiso indices:admin/resolve/index en los índices y alias relevantes. Para obtener más información, consulta Resolve Index API (API de resolución de índices) en el sitio web de OpenSearch.
Errores "401 unauthorized"
Para acceder a un clúster con un control de acceso detallado, debes usar el indicador -u para autenticarte. Por ejemplo, el siguiente comando falla y muestra el mensaje de error "401 unauthorized":
curl Domain_Endpoint
Para acceder al clúster, ejecuta el siguiente comando y usa el indicador -u para incluir tu nombre de usuario y contraseña:
curl -u 'username:password' Domain_Endpoint
Nota: Sustituye el nombre de usuario por tu nombre de usuario, la contraseña por tu contraseña y ** Domain_Endpoint ** por el punto de enlace de tu dominio.
Debes usar caracteres válidos al ejecutar los comandos curl. Si usas los caracteres $ o ! en las credenciales principales con el indicador -u en los comandos curl, es posible que se muestren errores "401 unauthorized" Además, asegúrate de poner las credenciales entre comillas simples.
Ejemplo de comando:
curl -u 'username' Domain_Endpoint
Nota: Sustituye username por tu nombre de usuario y Domain_Endpoint por el punto de enlace de tu dominio.
Error "Authentication finally failed"
Nota: Si se muestran errores al ejecutar comandos de la Interfaz de la línea de comandos de AWS (AWS CLI), consulta Solución de problemas para la AWS CLI. Además, asegúrate de utilizar la versión más reciente de la AWS CLI.
Debes enviar una solicitud que coincida con el tipo de usuario de tu dominio. Si envías una solicitud de autenticación básica (nombre de usuario/contraseña), pero configuraste el tipo de usuario principal del dominio como entidad principal de IAM, se mostrará este error. Con un usuario principal, tu cliente debe enviar una solicitud firmada por AWS Signature Version 4 al dominio.
Para usar la autenticación básica HTTP, ejecuta el siguiente comando update-domain-config de AWS CLI para cambiar el tipo de usuario principal a una base de datos de usuarios interna:
aws opensearch update-domain-config --domain-name domain-name --advanced-security-options InternalUserDatabaseEnabled=true
Nota: Reemplaza domain-name por tu nombre de dominio.
Información relacionada
Index Management (Gestión de índices ) en el sitio web de OpenSearch
- Temas
- Analytics
- Etiquetas
- Amazon OpenSearch Service
- Idioma
- Español

Contenido relevante
preguntada hace 9 meses
preguntada hace un año
preguntada hace 10 meses