

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

# Políticas de Acceso verificado
<a name="auth-policies"></a>

Acceso verificado de AWS las políticas le permiten definir reglas para acceder a las aplicaciones alojadas en ellas AWS. Están escritas en cedro, un lenguaje AWS de políticas. Con Cedar, puede crear políticas que se evalúen en función de los datos de confianza enviados desde los proveedores de confianza basados en identidades o dispositivos que configure para utilizar con Acceso verificado.

Para obtener información más detallada sobre el lenguaje de las políticas de Cedar, consulte la [Guía de referencia de Cedar](https://docs.cedarpolicy.com/).

Al [crear un grupo de Acceso verificado](create-verified-access-group.md) o [un punto de conexión de Acceso verificado](verified-access-endpoints.md), tiene la opción de definir la política de Acceso verificado. Puede crear un grupo o un punto de conexión sin definir la política de Acceso verificado, pero todas las solicitudes de acceso se bloquearán hasta que defina una política. De forma alternativa, puede añadir o cambiar una política en un grupo o punto de conexión de Acceso verificado existente una vez creado.

**Topics**
+ [Declaraciones de la política](auth-policies-policy-statement-struct.md)
+ [Operadores integrados](built-in-policy-operators.md)
+ [Evaluación de políticas](auth-policies-policy-eval.md)
+ [Cortocircuito de lógica de política](auth-policies-policy-eval-short-circ.md)
+ [Ejemplos de políticas](trust-data-iam-add-pol.md)
+ [Asistente de políticas](policy-assistant.md)

# Estructura de declaración de política de Acceso verificado
<a name="auth-policies-policy-statement-struct"></a>

En la siguiente tabla se muestra la estructura de una política de Acceso verificado.


| Componente | Sintaxis | 
| --- | --- | 
| effect | `permit \| forbid` | 
| scope | `(principal, action, resource)` | 
| cláusula de condición | <pre>when {<br />    context.policy-reference-name.attribute-name             <br />};</pre>  | 

## Componentes de política
<a name="auth-policies-policy-components"></a>

Una política de Acceso verificado contiene los siguientes componentes:
+ **Efecto**: `permit` (permitir) o `forbid` (denegar) el acceso.
+ **Alcance**: las entidades principales, las acciones y los recursos a los que se aplica el efecto. Puede dejar el alcance de Cedar sin definir si no identifica entidades principales, acciones o recursos específicos. En este caso, la política se aplica a todas las entidades principales, acciones y recursos posibles.
+ **Cláusula de condición**: el contexto en el que se aplica el efecto.

**importante**  
En el caso de Acceso verificado, las políticas se expresan en su totalidad haciendo referencia a los datos de confianza de la cláusula de condición. **El alcance de la política debe mantenerse siempre indefinido**. A continuación, puede especificar el acceso mediante el contexto de identidad y confianza del dispositivo en la cláusula de condición.

## Comentarios
<a name="auth-policies-policy-comments"></a>

Puede incluir comentarios en sus Acceso verificado de AWS políticas. Los comentarios se definen como una línea que comienza por `//` y termina con un carácter de nueva línea.

En el siguiente ejemplo se muestran comentarios en una política.

```
// grants access to users in a specific domain using trusted devices
permit(principal, action, resource)
when {
  // the user's email address is in the @example.com domain
  context.idc.user.email.address.contains("@example.com")
  // Jamf thinks the user's computer is low risk or secure.
  && ["LOW", "SECURE"].contains(context.jamf.risk)
};
```

## Cláusulas múltiples
<a name="auth-policies-multiple-clauses"></a>

Puede utilizar más de una cláusula de condición en una declaración de política mediante el operador `&&`.

```
permit(principal,action,resource)
when{
 context.policy-reference-name.attribute1 &&
 context.policy-reference-name.attribute2
};
```

Para ver otros ejemplos, consulte [Ejemplos de políticas de Acceso verificado](trust-data-iam-add-pol.md).

## Caracteres reservados
<a name="auth-policies-semicolon"></a>

El siguiente ejemplo muestra cómo escribir una política si una propiedad de contexto utiliza un `:` (punto y coma), que es un carácter reservado en el lenguaje de la política.

```
permit(principal, action, resource) 
when {
    context.policy-reference-name["namespace:groups"].contains("finance")
};
```

# Operadores integrados para políticas de Acceso verificado
<a name="built-in-policy-operators"></a>

Al crear el contexto de una Acceso verificado de AWS política con varias condiciones, como se explica en[Estructura de declaración de política de Acceso verificado](auth-policies-policy-statement-struct.md), puede utilizar el `&&` operador para añadir condiciones adicionales. También hay muchos otros operadores integrados que puede utilizar para añadir un poder de expresión adicional a las condiciones de su política. La siguiente tabla contiene todos los operadores integrados como referencia.

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/es_es/verified-access/latest/ug/built-in-policy-operators.html)

# Evaluación de políticas de Acceso verificado
<a name="auth-policies-policy-eval"></a>

Un documento de política es un conjunto de una o más declaraciones de política (instrucciones de `permit` o `forbid`). La política se aplica si la cláusula condicional (la declaración `when`) es verdadera. Para que un documento de política permita el acceso, debe aplicarse al menos una política de permisos del documento y no puede aplicarse ninguna política de denegación. Si no se aplica ninguna política de permisos, se aplican and/or una o más políticas de prohibición, el documento de política deniega el acceso. Si ha definido documentos de política tanto para el grupo de Acceso verificado como para el punto de conexión de Acceso verificado, ambos documentos deben permitir el acceso. Si no ha definido un documento de política para el punto de conexión de Acceso verificado, solo necesita el acceso de la política de grupo de Acceso verificado.

Acceso verificado de AWS valida la sintaxis al crear la política, pero no valida los datos que se incluyen en la cláusula condicional.

# Cortocircuito de lógica de política de Acceso verificado
<a name="auth-policies-policy-eval-short-circ"></a>

Es posible que desee escribir una Acceso verificado de AWS política que evalúe los datos que pueden estar presentes o no en un contexto determinado. Si hace referencia a los datos en un contexto que no existe, Cedar generará un error y evaluará la política para denegarla, independientemente de su intención. Por ejemplo, esto daría lugar a una denegación, ya que `fake_provider` y `bogus_key` no existen en este contexto.

```
permit(principal, action, resource) when {
  context.fake_provider.bogus_key > 42
};
```

Para evitar esta situación, puede comprobar si hay una clave presente mediante el operador `has`. Si el operador `has` devuelve un valor falso, la evaluación de la declaración encadenada se detiene y Cedar no genera ningún error al intentar hacer referencia a un elemento que no existe.

```
permit(principal, action, resource) when {
  context.identity.user has "some_key" && context.identity.user.some_key > 42
};
```

Esto resulta especialmente útil cuando se especifica una política que hace referencia a dos proveedores de confianza diferentes.

```
permit(principal, action, resource) when {
  // user is in an allowed group
  context.aws_idc.groups has "c242c5b0-6081-1845-6fa8-6e0d9513c107"
  &&( 
    ( 
      // if CrowdStrike data is present, 
      // permit if CrowdStrike's overall assessment is over 50
      context has "crowdstrike" && context.crowdstrike.assessment.overall > 50
    )
    || 
    (
      // if Jamf data is present,
      // permit if Jamf's risk score is acceptable
      context has "jamf" && ["LOW", "NOT_APPLICABLE", "MEDIUM", "SECURE"].contains(context.jamf.risk) 
    )
  )
};
```

# Ejemplos de políticas de Acceso verificado
<a name="trust-data-iam-add-pol"></a>

Puede utilizar las políticas de Acceso verificado para conceder acceso a sus aplicaciones a usuarios y dispositivos específicos.

**Topics**
+ [Ejemplo 1: Conceder acceso a un grupo de IAM Identity Center](#example-policy-iam-identity-center)
+ [Ejemplo 2: Conceder acceso a un grupo de un proveedor externo](#example-policy-oidc-provider)
+ [Ejemplo 3: Otorgue el acceso mediante CrowdStrike](#example-policy-crowdstrike)
+ [Ejemplo 4: Permitir o rechazar una dirección IP específica](#example-policy-ip-address)

## Ejemplo 1: Conceder acceso a un grupo de IAM Identity Center
<a name="example-policy-iam-identity-center"></a>

Cuando se usa AWS IAM Identity Center, es mejor hacer referencia a los grupos usando sus IDs. Esto ayuda a que no se infrinja una declaración de política si cambia el nombre de un grupo.

El siguiente ejemplo de política permite el acceso solo a los usuarios del grupo especificado con una dirección de correo electrónico verificada. El ID del grupo es c242c5b0-6081-1845-6fa8-6e0d9513c107.

```
permit(principal,action,resource)
when {
    context.policy-reference-name.groups has "c242c5b0-6081-1845-6fa8-6e0d9513c107"
    && context.policy-reference-name.user.email.verified == true
};
```

El siguiente ejemplo de política permite el acceso solo cuando el usuario está en el grupo especificado, el usuario tiene una dirección de correo electrónico verificada y la puntuación de riesgo del dispositivo Jamf es `LOW`.

```
permit(principal,action,resource)
when {
    context.policy-reference-name.groups has "c242c5b0-6081-1845-6fa8-6e0d9513c107"
    && context.policy-reference-name.user.email.verified == true
    && context.jamf.risk == "LOW"
};
```

Para obtener más información sobre los datos de confianza, consulte [AWS IAM Identity Center contexto para los datos de confianza de Verified Access](trust-data-iam.md).

## Ejemplo 2: Conceder acceso a un grupo de un proveedor externo
<a name="example-policy-oidc-provider"></a>

El siguiente ejemplo de política permite el acceso solo cuando el usuario está en el grupo especificado, el usuario tiene una dirección de correo electrónico verificada y la puntuación de riesgo del dispositivo Jamf es BAJA. El nombre del grupo en es "finance".

```
permit(principal,action,resource)
when {
     context.policy-reference-name.groups.contains("finance") 
     && context.policy-reference-name.email_verified == true
     && context.jamf.risk == "LOW"
};
```

Para obtener más información sobre los datos de confianza, consulte [Contexto de proveedor de confianza externo para datos de confianza de Acceso verificado](trust-data-third-party-trust.md).

## Ejemplo 3: Otorgue el acceso mediante CrowdStrike
<a name="example-policy-crowdstrike"></a>

El siguiente ejemplo de política permite el acceso cuando la puntuación general de la evaluación es superior a 50.

```
permit(principal,action,resource)
when {
    context.crwd.assessment.overall > 50 
};
```

## Ejemplo 4: Permitir o rechazar una dirección IP específica
<a name="example-policy-ip-address"></a>

El siguiente ejemplo de política permite las solicitudes HTTP desde la dirección IP especificada.

```
permit(principal, action, resource) 
when {
    context.http_request.client_ip == "192.0.2.1"
};
```

El siguiente ejemplo de política deniega las solicitudes HTTP de la dirección IP especificada.

```
forbid(principal,action,resource) 
when { 
    ip(context.http_request.client_ip).isInRange(ip("192.0.2.1/32")) 
};
```

El siguiente ejemplo de política permite las solicitudes TCP desde la dirección IP especificada.

```
permit(principal, action, resource) 
when {
    context.tcp_flow.client_ip == "192.0.2.1"
};
```

# Asistente de políticas de Acceso verificado
<a name="policy-assistant"></a>

El asistente de políticas de Acceso verificado es una herramienta de la consola de Acceso verificado que puede utilizar para probar y desarrollar sus políticas. Este presenta la política de puntos de conexión, la política de grupo y el contexto de confianza en una pantalla, donde puede probar las políticas y modificarlas.

Los formatos del contexto de confianza varían según los distintos proveedores de confianza y, en algunas ocasiones, es posible que el administrador de Acceso verificado no sepa el formato exacto que utiliza un determinado proveedor de confianza. Por lo tanto, puede resultar muy útil ver el contexto de confianza tanto como las políticas de grupo y punto de conexión en un mismo lugar para probarlas y desarrollarlas.

En las siguientes secciones, se describen los aspectos principales del uso del editor de políticas.

**Topics**
+ [Paso 1: Especifique los recursos](#specify-resources)
+ [Paso 2: Pruebe y modifique las políticas](#test-and-edit)
+ [Paso 3: Revise y aplique los cambios](#review-and-commit)

## Paso 1: Especifique los recursos
<a name="specify-resources"></a>

En la primera página del asistente de políticas, especifique el punto de conexión de Acceso verificado con el que desea trabajar. También especificará un usuario (identificado mediante una dirección de correo electrónico) y, si lo desea, el nombre del usuario, and/or un identificador de dispositivo. Por defecto, la decisión de autorización más reciente se extrae de los registros de Acceso verificado del usuario especificado. Si lo desea, puede elegir específicamente la decisión de permitir *o* denegar más reciente.

Por último, el contexto de confianza, la decisión de autorización, la política de puntos de conexión y la política de grupo se muestran en la siguiente pantalla. 

**Para abrir el asistente de políticas y especificar sus recursos**

1. Abra la consola de Amazon VPC en [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/).

1. En el panel de navegación, seleccione **Instancias de Acceso verificado** y, a continuación, haga clic en el **ID de instancia de Acceso verificado** de la instancia con la que quiere trabajar.

1. Seleccione **Lanzar asistente de políticas**.

1. En **Dirección de correo electrónico del usuario**, escriba la dirección de correo electrónico del usuario raíz de la cuenta.

1. En el **caso del punto de conexión de Acceso verificado**, seleccione el punto de conexión para el que desee modificar y probar las políticas.

1. (Opcional) En **Nombre**, proporcione el nombre del usuario.

1. (Opcional) En **Identificador del dispositivo**, proporcione el identificador único del dispositivo.

1. (Opcional) En **Resultado de autorización**, elija el tipo de resultado de autorización reciente que desee usar. Por defecto, se utilizará el último resultado de la autorización.

1. Elija **Siguiente**.

## Paso 2: Pruebe y modifique las políticas
<a name="test-and-edit"></a>

En esta página se le presentará la siguiente información con la que trabajar:
+ El contexto de confianza enviado por su proveedor de confianza para el usuario y (opcionalmente) el dispositivo que especificó en el paso anterior.
+ La política de Cedar para el punto de conexión de Acceso verificado especificada en el paso anterior.
+ La política de Cedar para el grupo de Acceso verificado al que pertenece el punto de conexión.

En esta página pueden modificarse Las políticas de Cedar para el punto de conexión y el grupo de Acceso verificado, pero el contexto de confianza es estático. Ahora puede utilizar esta página para ver el contexto de confianza junto con las políticas de Cedar.

Pruebe las políticas en función del contexto de confianza al pulsar el botón **Probar políticas** y el resultado de la autorización aparecerá en la pantalla. Puede modificar las políticas y volver a probar los cambios, y repetir el proceso según sea necesario.

Cuando esté satisfecho con los cambios realizados en las políticas, seleccione **Siguiente** para pasar a la siguiente pantalla del asistente de políticas.

## Paso 3: Revise y aplique los cambios
<a name="review-and-commit"></a>

En la última página del asistente de políticas, verá resaltados los cambios que llevó a cabo en las políticas para así facilitar su revisión. Ahora puede revisarlos por última vez y seleccionar **Aplicar cambios** para confirmar los cambios.

Además, tiene la opción de volver a la página anterior al seleccionar **Anterior** o cancelar completamente el asistente de políticas tras elegir **Cancelar**.