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.
Time-based apoyo a las políticas
La política in AgentCore admite restricciones temporales en las políticas de Cedar mediante el valor de context.system.now fecha y hora. Esto le permite hacer cumplir las políticas en función de fechas, horas o intervalos de tiempo específicos.
Temas
Funcionamiento
Durante la evaluación de la política, se proporciona la marca de tiempo UTC actual como parte del contexto de evaluación:
// Current datetime in UTC context.system.now
Puede usar las funciones de fecha y hora de Cedar para crear condiciones basadas en la hora:
-
datetime("YYYY-MM-DDTHH:MM:SSZ")— Crea un valor de fecha y hora -
duration("Xh")— Crear una duración (horas, minutos, segundos) -
.toTime()— Extraer la hora del día de la fecha y hora -
Operadores de comparación:
<,,,⇐,>>===
Restricciones absolutas de rango de fecha y hora
Haga cumplir las políticas dentro de períodos de calendario específicos.
Ejemplo: política de período promocional
permit( principal, action == AgentCore::Action::"RefundToolTarget___refund", resource == AgentCore::Gateway::"arn:aws:bedrock-agentcore:us-east-1:123456789012:gateway/my-gateway" ) when { context.system.now >= datetime("2025-01-01T00:00:00Z") && context.system.now < datetime("2025-01-31T23:59:59Z") };
Caso práctico: permita los reembolsos solo durante enero de 2025.
Restricciones horarias periódicas diarias
Aplica las políticas en función de la hora del día que se repite a diario.
Ejemplo: política de horarios comerciales
permit( principal, action == AgentCore::Action::"RefundToolTarget___refund", resource == AgentCore::Gateway::"arn:aws:bedrock-agentcore:us-east-1:123456789012:gateway/my-gateway" ) when { duration("9h") <= context.system.now.toTime() && context.system.now.toTime() <= duration("17h") };
Caso práctico: permite los reembolsos solo durante el horario laboral (todos los días de 9:00 a 17:00 UTC).
Restricciones combinadas de fecha y hora
Combina fechas absolutas con restricciones horarias diarias.
Ejemplo: Limited-time promoción con horarios diarios
permit( principal, action == AgentCore::Action::"DiscountToolTarget___apply_discount", resource == AgentCore::Gateway::"arn:aws:bedrock-agentcore:us-east-1:123456789012:gateway/my-gateway" ) when { // Valid dates: Feb 1-28, 2025 context.system.now >= datetime("2025-02-01T00:00:00Z") && context.system.now < datetime("2025-03-01T00:00:00Z") && // Valid hours: 9am-9pm UTC daily duration("9h") <= context.system.now.toTime() && context.system.now.toTime() <= duration("21h") };
Caso práctico: Permita la herramienta de descuentos únicamente durante febrero de 2025, entre las 9:00 y las 21:00 (hora peninsular española) todos los días.
Gestión de zonas horarias
Todos los valores de fecha y hora deben estar en UTC. El motor de políticas no admite conversiones de zonas horarias ni políticas que tengan en cuenta las zonas horarias.
Cuando especifiques las horas en tus políticas, usa siempre UTC. Si tu empresa opera en una zona horaria diferente, convierte la hora local a UTC antes de crear la política.
Usa el lenguaje natural para generar políticas basadas en la hora
El servicio de creación de políticas puede generar políticas basadas en el tiempo a partir de descripciones en lenguaje natural.
Ejemplo: generar una política de horario comercial
aws bedrock-agentcore-control start-policy-generation \ --policy-engine-id MyEngine-abc123 \ --name BusinessHoursOnly \ --content '{ "rawText": "Allow refunds only during business hours 9am to 5pm UTC" }' \ --resource '{ "arn": "arn:aws:bedrock-agentcore:us-east-1:123456789012:gateway/MyGateway-xyz789" }'
Política generada:
permit( principal, action == AgentCore::Action::"RefundToolTarget___refund", resource == AgentCore::Gateway::"arn:aws:bedrock-agentcore:us-east-1:123456789012:gateway/MyGateway-xyz789" ) when { duration("9h") <= context.system.now.toTime() && context.system.now.toTime() <= duration("17h") };
Mejores prácticas para el lenguaje natural
-
Sea explícito con respecto a los horarios: utilice «horario de 9 a. m. a 5 p. m. UTC» en lugar de «horario comercial»
-
Especifique siempre UTC: incluya «UTC» para evitar ambigüedades
-
Utilice el formato ISO para las fechas: utilice «2025-01-01» en lugar de «1 de enero»
-
Proporcione intervalos de tiempo específicos: evite términos vagos como «durante el día» o «fuera del horario laboral»
Buenos ejemplos de indicaciones en lenguaje natural:
"Allow refunds only between 9am and 5pm UTC" "Allow payments except between 2am and 4am UTC daily" "Allow discounts only from 2025-02-01 to 2025-02-28" "Permit high-value transactions between 8am and 8pm UTC"