¿Por qué aparece el error «Invalid principal in policy» cuando intento actualizar mi política de bucket de Amazon S3?

4 minutos de lectura
0

Estoy intentando añadir o editar la política de bucket de mi bucket de Amazon Simple Storage Service (Amazon S3) mediante la consola. Sin embargo, recibo el mensaje de error «Error: Invalid principal in policy».

Resolución

Se genera el mensaje Error: Invalid principal in policy cuando el valor de una entidad principal de la política de bucket no es válido. Para resolver este error, compruebe lo siguiente:

  • La política de bucket utiliza valores admitidos para un elemento de entidad principal.
  • El elemento de entidad principal tiene el formato correcto.
  • Si la entidad principal es un usuario o rol de AWS Identity and Access Management (IAM), confirme que el usuario o el rol no se hayan eliminado.

La política de bucket utiliza valores admitidos para un elemento de entidad principal

Revise los elementos de entidad principal de la política de bucket. Compruebe que estén usando uno de estos valores admitidos:

Advertencia: Cuando se utiliza junto con «Acción:» «Permitir», el elemento de entidad principal "*" concede acceso a todos los usuarios, tanto autenticados como anónimos. Antes de utilizar esta combinación en la política de bucket, confirme que su contenido admite este nivel de acceso.

El valor de entidad principal tiene el formato correcto

Revise los elementos de entidad principal de la política y compruebe que tienen el formato correcto. Si la entidad principal incluye un usuario, el elemento debe tener este formato:

"Principal": {
    "AWS": "arn:aws:iam::111111111111:user/user-name1"
}

Al especificar usuarios en un elemento de entidad principal, no puede utilizar "*" para indicar todos los usuarios. Debe incluir usuarios específicos para el elemento de entidad principal.

Si el elemento de entidad principal incluye más de un usuario o rol de IAM, el elemento debe tener este formato:

"Principal": {
  "AWS": [
    "arn:aws:iam::111111111111:user/user-name1",
    "arn:aws:iam::111111111111:role/role-name1"
  ]
}

Si la entidad principal son todos los usuarios, el elemento debe tener este formato:

{
  "Principal": "*"
}

Se recomienda no utilizar un carácter comodín (*) en el elemento de entidad principal de una política basada en recursos con el efecto Permitir. Utilice el carácter comodín solo si tiene la intención de conceder acceso público o anónimo. Especifique las entidades principales, los servicios o las cuentas de AWS previstos en el elemento de entidad principal. A continuación, utilice el elemento de condición para restringir el acceso. Esto es especialmente cierto en el caso de las políticas de confianza para roles de IAM, ya que permiten que otras entidades principales se conviertan en una entidad principal en su cuenta.

El usuario o rol de IAM no se ha eliminado

Si la política de bucket incluye usuarios o roles de IAM en el elemento de entidad principal, confirme que esas identidades de IAM no se hayan eliminado. Asegúrese de especificar identificadores únicos en lugar de ARN completos en el elemento de entidad principal. Esto puede ayudar a identificar los usuarios y roles de IAM eliminados en la política de bucket actual.

Ejemplo:

"Principal": {
  "AWS": [
    "arn:aws:iam::111111111111:user/user-name1",
    "AIDAJQABLZS4A3QDU576Q",
    "arn:aws:iam::111111111111:user/user-name2"
  ]
}

Si intenta guardar la política de bucket con un identificador único como elemento de entidad principal, aparece el Invalid principal in policy. Esto se debe a que el elemento de entidad principal solo admite ARN de IAM válidos. Para resolver este error, debe eliminar cualquier identificador único del elemento de entidad principal.

La cuenta de la entidad principal de IAM no tiene activada ninguna región de AWS

Si el bucket de S3 se encuentra en una región de AWS que no está activada de manera predeterminada, confirme que la región esté activada en la cuenta de la entidad principal de IAM. Para obtener más información, consulte Managing AWS Regions.

Información relacionada

AWS Policy Generator

Elemento de la política de JSON de AWS: Principal

OFICIAL DE AWS
OFICIAL DE AWSActualizada hace un año