

# Utilice claves de condición de IAM con Amazon Bedrock Gateway AgentCore
<a name="security-gateway-condition-keys"></a>

Utilice las claves de AgentCore-specific condición de Amazon Bedrock para controlar la forma en que crea y configura las puertas de enlace y los destinos de las puertas de enlace en su organización. Estas claves de condición se aplican a las operaciones del plano de control. Son especialmente útiles en las políticas de control de servicios (SCP) para hacer cumplir los requisitos de seguridad de la organización.

Por ejemplo, puede hacer lo siguiente:
+ Exija que todas las pasarelas utilicen un proveedor de identidad específico para la autenticación.
+ Restrinja los tipos de objetivos que se pueden crear.
+ Exija que los objetivos utilicen tipos de proveedores de credenciales específicos.
+ Exija que los destinos de la puerta de enlace se conecten a través de subredes y grupos de seguridad aprobados.

## Claves de condición de la pasarela
<a name="gateway-condition-keys"></a>

Las siguientes claves de condición se aplican a las `UpdateGateway` operaciones `CreateGateway` y.


| Clave de condición | Tipo | Operaciones de la API | Description (Descripción) | 
| --- | --- | --- | --- | 
|  `bedrock-agentcore:DiscoveryUrl`  | Cadena |  `CreateGateway`, `UpdateGateway`  | Filtra el acceso mediante la URL de detección configurada en la puerta de enlace. Úselo para asegurarse de que las pasarelas utilicen un proveedor de identidad específico. | 
|  `bedrock-agentcore:KmsKeyArn`  | Cadena |  `CreateGateway`, `UpdateGateway`  | Filtra el acceso mediante la clave ARN de KMS utilizada para cifrar los recursos de la puerta de enlace. | 
|  `bedrock-agentcore:PolicyEngineArn`  | Cadena |  `CreateGateway`, `UpdateGateway`  | Filtra el acceso por el ARN de la configuración del motor de políticas asociada a la puerta de enlace. | 
|  `bedrock-agentcore:PolicyEngineMode`  | Cadena |  `CreateGateway`, `UpdateGateway`  | Filtra el acceso según el modo de configuración del motor de políticas asociado a la puerta de enlace. | 
|  `bedrock-agentcore:ProtocolType`  | Cadena |  `CreateGateway`, `UpdateGateway`  | Filtra el acceso según el tipo de protocolo de la puerta de enlace. | 
|  `bedrock-agentcore:GatewayAuthorizerType`  | Cadena |  `CreateGateway`, `UpdateGateway`  | Filtra el acceso según el tipo de autorizador configurado en la puerta de enlace. Los valores válidos son `AWS_IAM`, `CUSTOM_JWT` y `NONE`. | 

## Claves de condición de destino de la pasarela
<a name="gateway-target-condition-keys"></a>

Las siguientes claves de condición se aplican a las `UpdateGatewayTarget` operaciones `CreateGatewayTarget` y.


| Clave de condición | Tipo | Operaciones de la API | Description (Descripción) | 
| --- | --- | --- | --- | 
|  `bedrock-agentcore:McpTargetConfigurationType`  | Cadena |  `CreateGatewayTarget`, `UpdateGatewayTarget`  | Filtra el acceso según el tipo de objetivo MCP. Entre los valores válidos se incluyen: `apiGateway`, `lambda`, `mcpServer`, `openApiSchema`, `smithyModel` y `connector`. | 
|  `bedrock-agentcore:HttpTargetConfigurationType`  | Cadena |  `CreateGatewayTarget`, `UpdateGatewayTarget`  | Filtra el acceso por el tipo de destino HTTP. Los valores válidos son `agentcoreRuntime` y `passthrough`. | 
|  `bedrock-agentcore:InferenceTargetConfigurationType`  | Cadena |  `CreateGatewayTarget`, `UpdateGatewayTarget`  | Filtra el acceso según el tipo de objetivo de inferencia. Los valores válidos son `connector` y `provider`. | 
|  `bedrock-agentcore:CredentialProviderType`  | Cadena |  `CreateGatewayTarget`, `UpdateGatewayTarget`  | Filtra el acceso según el tipo de proveedor de credenciales configurado en el destino. Los valores válidos son `GATEWAY_IAM_ROLE`, `OAUTH`, `API_KEY`, `CALLER_IAM_CREDENTIALS` y `JWT_PASSTHROUGH`. | 
|  `bedrock-agentcore:PrivateEndpointType`  | Cadena |  `CreateGatewayTarget`, `UpdateGatewayTarget`  | Filtra el acceso según el tipo de punto final privado de un objetivo. Los valores válidos son `managedVpcResource` y `selfManagedLatticeResource`. | 
|  `bedrock-agentcore:ResourceConfigurationIdentifier`  | Cadena |  `CreateGatewayTarget`, `UpdateGatewayTarget`  | Filtra el acceso mediante el identificador de configuración de recursos del punto final privado de un objetivo. | 
|  `bedrock-agentcore:subnets`  | ArrayOfString |  `CreateGatewayTarget`, `UpdateGatewayTarget`  | Filtra el acceso de las subredes configuradas para el recurso de VPC administrado de un objetivo. Consulte [Usar claves de condición de IAM con la configuración de AgentCore VPC](security-vpc-condition.md). | 
|  `bedrock-agentcore:securityGroups`  | ArrayOfString |  `CreateGatewayTarget`, `UpdateGatewayTarget`  | Filtra el acceso de los grupos de seguridad configurados para el recurso de VPC gestionado de un objetivo. | 
|  `bedrock-agentcore:AllowedQueryParameters`  | ArrayOfString |  `CreateGatewayTarget`, `UpdateGatewayTarget`  | Filtra el acceso según los parámetros de consulta permitidos en la configuración de metadatos del destino. | 
|  `bedrock-agentcore:AllowedRequestHeaders`  | ArrayOfString |  `CreateGatewayTarget`, `UpdateGatewayTarget`  | Filtra el acceso según los encabezados de solicitud permitidos en la configuración de metadatos del objetivo. | 
|  `bedrock-agentcore:AllowedResponseHeaders`  | ArrayOfString |  `CreateGatewayTarget`, `UpdateGatewayTarget`  | Filtra el acceso según los encabezados de respuesta permitidos en la configuración de metadatos del objetivo. | 
|  `bedrock-agentcore:CredentialProviderScope`  | ArrayOfString |  `CreateGatewayTarget`, `UpdateGatewayTarget`  | Filtra el acceso según los ámbitos configurados en un proveedor de credenciales de OAuth para el destino. | 

## Ejemplos de políticas
<a name="gateway-condition-key-examples"></a>

Los siguientes ejemplos muestran cómo utilizar las claves de condición en las políticas de IAM y los SCP para imponer controles organizativos en la configuración de las puertas de enlace.

### Exija que las puertas de enlace utilicen un proveedor de identidad específico
<a name="example-require-specific-idp"></a>

Utilice el siguiente SCP para denegar la creación o las actualizaciones de la puerta de enlace cuando la puerta de enlace no utilice la URL de descubrimiento del proveedor de identidad aprobado por su organización.

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "EnforceGatewayIdP",
            "Effect": "Deny",
            "Action": [
                "bedrock-agentcore:CreateGateway",
                "bedrock-agentcore:UpdateGateway"
            ],
            "Resource": "*",
            "Condition": {
                "StringNotEquals": {
                    "bedrock-agentcore:DiscoveryUrl": "https://login.example.com/.well-known/openid-configuration"
                }
            }
        }
    ]
}
```

### Restrinja los tipos de proveedores de credenciales para los objetivos
<a name="example-restrict-target-credential-types"></a>

Utilice el siguiente SCP para restringir los destinos de puerta de enlace a los tipos de proveedores de credenciales aprobados. Con este ejemplo, restringe los destinos de la puerta de enlace para que usen solo la función de IAM de la puerta de enlace o las credenciales de IAM de la persona que llama. Los destinos no pueden usar claves de API ni tokens de OAuth gestionados externamente.

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "RestrictTargetCredentialTypes",
            "Effect": "Deny",
            "Action": [
                "bedrock-agentcore:CreateGatewayTarget",
                "bedrock-agentcore:UpdateGatewayTarget"
            ],
            "Resource": "*",
            "Condition": {
                "StringNotEquals": {
                    "bedrock-agentcore:CredentialProviderType": [
                        "GATEWAY_IAM_ROLE",
                        "CALLER_IAM_CREDENTIALS"
                    ]
                }
            }
        }
    ]
}
```

### Restrinja los tipos de objetivos de MCP que se pueden crear
<a name="example-restrict-target-types"></a>

Utilice la siguiente política para denegar la creación de destinos MCP que utilicen determinados tipos de configuración. Este ejemplo impide que los destinos utilicen direcciones URL directas del servidor MCP.

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "DenyDirectMcpServerTargets",
            "Effect": "Deny",
            "Action": [
                "bedrock-agentcore:CreateGatewayTarget",
                "bedrock-agentcore:UpdateGatewayTarget"
            ],
            "Resource": "*",
            "Condition": {
                "StringEquals": {
                    "bedrock-agentcore:McpTargetConfigurationType": "mcpServer"
                }
            }
        }
    ]
}
```

### Exija a los objetivos que utilicen puntos finales privados
<a name="example-enforce-private-endpoints"></a>

Utilice el siguiente SCP para denegar la creación de destinos que no especifiquen un tipo de punto final privado. Esto garantiza que todo el tráfico de destino permanezca dentro de las redes privadas.

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "EnforcePrivateEndpoints",
            "Effect": "Deny",
            "Action": [
                "bedrock-agentcore:CreateGatewayTarget",
                "bedrock-agentcore:UpdateGatewayTarget"
            ],
            "Resource": "*",
            "Condition": {
                "Null": {
                    "bedrock-agentcore:PrivateEndpointType": "true"
                }
            }
        }
    ]
}
```

### Exija que las puertas de enlace utilicen una clave KMS administrada por el cliente
<a name="example-require-encryption"></a>

Use este SCP para exigir que todas las puertas de enlace utilicen una clave KMS administrada por el cliente para el cifrado en lugar de la predeterminada del servicio.

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "EnforceCustomerManagedKey",
            "Effect": "Deny",
            "Action": [
                "bedrock-agentcore:CreateGateway",
                "bedrock-agentcore:UpdateGateway"
            ],
            "Resource": "*",
            "Condition": {
                "Null": {
                    "bedrock-agentcore:KmsKeyArn": "true"
                }
            }
        }
    ]
}
```

### Aplique las subredes aprobadas para los destinos de las puertas de enlace
<a name="example-enforce-approved-subnets-for-targets"></a>

Utilice la siguiente política para restringir los destinos de la puerta de enlace a las subredes aprobadas. Para obtener más información, consulte [Usar claves de condición de IAM con la configuración de AgentCore VPC](security-vpc-condition.md).

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "EnforceApprovedSubnets",
            "Effect": "Deny",
            "Action": [
                "bedrock-agentcore:CreateGatewayTarget",
                "bedrock-agentcore:UpdateGatewayTarget"
            ],
            "Resource": "*",
            "Condition": {
                "ForAnyValue:StringNotEquals": {
                    "bedrock-agentcore:subnets": [
                        "subnet-0123456789abcdef0",
                        "subnet-0123456789abcdef1"
                    ]
                }
            }
        }
    ]
}
```