¿Cómo puedo resolver los errores de «MalformedPolicyDocument» en AWS CloudFormation?
Cuando intento crear o actualizar una pila de AWS CloudFormation, aparece el mensaje de error «MalformedPolicyDocument». Sigo recibiendo el error, incluso después de validar la plantilla.
Breve descripción
La API ValidateTemplate de AWS CloudFormation solo puede validar la sintaxis de la plantilla. La API no puede validar los valores de propiedad que especifique para un recurso. Dado que un documento de política está configurado como parte del valor de la propiedad, no se verifica la validez de la política.
Aparece el error «MalformedPolicyDocument» cuando el documento de política no es correcto sintáctica o semánticamente, según la gramática del lenguaje de la política.
Para resolver este error, debe confirmar que el documento de política es válido para el tipo de recurso concreto del que forma parte.
Resolución
Buscar los detalles de los mensajes de error en los eventos de su pila
- Abra la consola de AWS CloudFormation.
- En el panel de navegación, seleccione Pilas.
- Seleccione la pila que ha devuelto el error y, a continuación, seleccione la pestaña Eventos.
- Busque en la columna Motivo del estado un mensaje que explique la causa del error.
Si sigue sin encontrar la causa del error, siga los pasos de la sección Obtenga más información sobre el evento de AWS CloudTrail que ha provocado el error.
Obtener más información sobre el evento de AWS CloudTrail que ha provocado el error
Para obtener más información, consulte la propiedad errorMessage del evento de CloudTrail para ver la operación del tipo de recurso que ha provocado el error.
Por ejemplo, si «MalformedPolicyDocument» se debe a un error en una política insertada adjunta a una función de AWS Identity and Access Management (IAM), siga los siguientes pasos:
- Abra la consola de AWS CloudTrail.
- En el panel de navegación, seleccione Historial de eventos.
- En el cuadro de búsqueda Filtrar, seleccione Nombre del evento como atributo de búsqueda y, a continuación, escriba PutRolePolicy en el cuadro de texto correspondiente.
- Para el Intervalo de tiempo, establezca la hora del evento de CloudTrail como la que aparece en el mensaje de error que se muestra en los eventos de AWS CloudFormation.
- En la columna Nombre del evento, seleccione su evento.
- En el Registro de eventos, compruebe el valor de la propiedad errorMessage para ver un mensaje detallado.
Validar la política aprobada en el evento de CloudTrail
El evento de CloudTrail correspondiente a la acción a nivel de API en el recurso que está causando el error suele contener el formulario resuelto del documento de política. Puede copiar este documento de política resuelto y, a continuación, crear una nueva política en la consola de administración de AWS directamente para ese recurso en particular.
Por ejemplo, si «MalformedPolicyDocument» es el resultado de un error en una política insertada adjunta a un rol de IAM, siga estos pasos:
- Abra la consola de CloudTrail.
- En el panel de navegación, seleccione Historial de eventos.
- En el cuadro de búsqueda Filtrar, seleccione Nombre del evento como atributo de búsqueda y, a continuación, escriba PutRolePolicy en el cuadro de texto correspondiente.
- Para el Intervalo de tiempo, establezca la hora del evento de CloudTrail como la que aparece en el mensaje de error que se muestra en los eventos de AWS CloudFormation.
- En la columna Nombre del evento, seleccione su evento.
- En el Registro de eventos, copie el valor de la propiedad policyDocument en requestParameters.
- En un editor de texto, elimine cualquier carácter de escape «\» del documento de política.
- Abra la consola de IAM.
- En el panel de navegación, seleccione Políticas.
- Seleccione Crear política y, a continuación, seleccione la pestaña JSON.
- Introduzca el documento de política que ha copiado del paso 6 y, a continuación, seleccione Revisar política.
- Compruebe el contenido del mensaje de error que aparece en el cuadro de diálogo rojo al principio de la página. El mensaje de error proporciona una explicación más detallada del error de validación de la política.
Información relacionada
Contenido relevante
- OFICIAL DE AWSActualizada hace 2 años
- OFICIAL DE AWSActualizada hace 2 años
- OFICIAL DE AWSActualizada hace 2 años