¿Cómo puedo resolver el error de política de claves de AWS KMS «La política contiene una instrucción con uno o más principios no válidos»?
He intentado modificar mi política de claves de AWS Key Management Service (AWS KMS). Sin embargo, he recibido un error en la Consola de administración de AWS similar al siguiente: «La solicitud PutKeyPolicy falló, MalformedPolicyDocumentException: La política contiene una declaración con uno o más principios no válidos».
Breve descripción
La solicitud de llamada a la API PutKeyPolicy de AWS KMS falla cuando la política de claves especificada no es correcta desde el punto de vista sintáctico o semántico. La política de claves de AWS KMS no contiene el ARN. En su lugar, la política de claves contiene una entidad principal con un ID único similar a AIDACKCEVSQ6C2EXAMPLE.
Resolución
Sintaxis JSON
Confirme que el tipo de recurso del documento de política JSON es válido. Para solucionar errores de sintaxis de JSON, pegue el documento de política de JSON en una herramienta de formato JSON, como JSON Beautifier en el sitio web de JSON Beautifier. Elimine los caracteres innecesarios y añada los caracteres que falten. Elimine los elementos de política JSON y los valores SID duplicados.
Elementos principales
En el elemento principal de la política de JSON, confirme que la identidad de AWS Identity and Access Management (IAM) existe y tiene un ARN válido.
Nota: No puede usar un comodín en la parte del ARN que especifica el tipo de recurso.
Al crear identidades de IAM, se utilizan nombres descriptivos, como Bob o Developers. Por motivos de seguridad, a estas identidades de IAM también se les asigna un identificador único, como AIDACKCEVSQ6C2EXAMPLE. Elimine los ID únicos huérfanos de la política de claves. Para obtener más información, consulte Políticas de claves en AWS KMS.
Nota: Si la política de claves de AWS KMS tiene permisos para otra cuenta o entidad principal, es posible que la política de claves no esté en vigor. La política de claves solo está en vigor en la región de AWS que contiene la clave de AWS KMS.
Servicios de AWS
Si un servicio de AWS aparece como entidad principal, asegúrese de que AWS KMS lo admite. La identidad principal debe ser la identidad de IAM. Además, debe usar la clave de condición kms:ViaService para los servicios de AWS que realizan las solicitudes de la identidad de IAM.
Como no todos los servicios de AWS llaman directamente a AWS KMS, compruebe si el servicio de AWS que utiliza llama directamente a AWS KMS. Por ejemplo, un servicio de AWS como Amazon Elastic Compute Cloud (Amazon EC2) realiza llamadas para solicitar una entidad principal en la cuenta. Los servicios de AWS que realizan llamadas directas a AWS KMS deben tener la entidad principal de servicio en el Elemento principal.
Para obtener más información, consulte Servicios que admiten la clave de condición kms:ViaService.
Región de AWS que se ha inscrito
La cuenta con la que comparte las claves de AWS KMS debe incluir la región de AWS en la cuenta del destinatario. De lo contrario, las claves de KMS no son válidas en esa Región.
Asegúrese de que la región esté activada en la cuenta del destinatario. También puede compartir otra clave de AWS KMS en una región que esté activada en la cuenta de AWS y en la cuenta del destinatario. Para obtener más información, consulte Especificar qué regiones de AWS puede usar su cuenta.
Información relacionada
Vídeos relacionados
Contenido relevante
- OFICIAL DE AWSActualizada hace 2 años
- OFICIAL DE AWSActualizada hace 7 meses
- OFICIAL DE AWSActualizada hace un año