기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
임시 정책
Amazon Bedrock AgentCore의 정책은 시간 정책을 지원합니다.이 정책은 현재 요청만이 아니라 세션 내에서 에이전트의 작업 기록에 따라 결정이 달라지는 정책입니다. 이를 통해 작업 전에 승인을 요구하거나, 일정 기간 내에 작업이 실행되는 횟수를 제한하거나, 실행 합계를 임계값 미만으로 유지하는 등 여러 작업에 걸쳐 규칙을 적용할 수 있습니다.
시간 정책은 하나 이상의 시간 연산자를 포함하는 또는 permit forbid 규칙입니다. 각 조건은 작업, 보안 주체 및 작업의 입력 또는 출력 필드를 기준으로 세션에 대해 기록된 이전 이벤트와 일치하며, 필요한 기간 내의 이벤트만 고려합니다. 조건은 일치하는 이벤트를 현재 요청과 상호 연관시킬 수 있으므로 규칙은 예를 들어 이전 작업이 이미 승인한 리소스에 대해 현재 요청이 작동하도록 요구할 수 있습니다. 정책 엔진은 각 세션의 이벤트를 기록하고 모든 요청에 대해 이러한 조건을 평가하므로 에이전트 또는 도구 코드에서 이벤트를 추적하는 대신 세션 인식 규칙을 정책으로 표현합니다.
임시 정책은 Cedar와 호환되고 모든 기존 Cedar 정책을 지원하는 Dogwood로 작성됩니다. 표준 Cedar 정책은 상태 비저장 정책이며 현재 요청만 고려합니다. 임시 정책은 동일한 deny-by-default 모델을 따릅니다. 요청은가 permit 적용되고 forbid 재정의하지 않는 경우에만 허용됩니다. 시간 조건은 세션 기록이 아닌 벽시계 시간(context.system.now)을 기준으로 액세스를 제한하는 시간 기반 조건과 다릅니다. LOG_ONLY 또한 모드에서 시간 정책을 실행하여 로 승격하기 전에 결정 사항을 관찰할 수 있습니다. 정책 적용 모드를 ENFORCE참조하세요.
주요 개념
임시 정책은 세션 인식 규칙을 표현하는 Dogwood 정책 언어와 규칙이 볼 수 있는 기록의 범위를 지정하는 정책 세션의 두 가지를 기반으로 합니다.
도그우드 정책 언어
임시 정책은 AgentCore의 정책이 세션 인식 권한 부여에 사용하는 오픈 소스 정책 언어인 Dogwood로 작성됩니다. Dogwood는 Cedar를 기반으로 하며 동일한 권한 부여 모델을 사용합니다. 보안 주체, 작업 및 리소스에 대해 permit 및 forbid 규칙을 작성하면가 permit 적용되고 forbid 재정의하지 않는 경우에만 요청이 허용됩니다. Dogwood는 Cedar와 호환되며 모든 기존 Cedar 정책을 지원하므로 모든 유효한 Cedar 정책도 유효한 Dogwood 정책입니다. 기존 point-in-time 정책은 변경 없이 계속 작동하며, 규칙이 현재 요청보다 더 많이 고려해야 하는 시간적 조건만 추가합니다.
Dogwood를 사용하면 에이전트 또는 도구 코드에서 이벤트 추적 로직을 구현하는 대신 세션 인식 규칙을 선언적으로 정책으로 표현할 수 있습니다. 정책 엔진은 관련 이벤트를 기록하고 각 요청에 대한 조건을 평가합니다. 예를 들어 다음 정책은 이전 시간 내에 일치하는 승인이 발생한 경우에만 판매를 허용합니다.
permit ( principal, action == AgentCore::Action::"TradingTarget___SellShares", resource == AgentCore::Gateway::"arn:aws:bedrock-agentcore:us-west-2:123456789012:gateway/my-gateway" ) when temporal { formerly within 1h AgentCore::Action::"TradingTarget___ApproveSale"::response{ eventResource: resource, input.stock: context.input.stock, input.shares: context.input.shares, output.approved: true } };
Dogwood는 (창 앞부분에서 발생한 일치하는 이벤트), formerly within ( 앵커 이벤트 이후 유지된 since within 조건) 및 창의 일치하는 이벤트에 대한 집계 count 및 sum의 일반적인 패턴에 대한 시간 연산자를 제공합니다.
전체 시간 구문은 도그우드 정책 웹 사이트의 도그우드 언어 안내서
정책 세션 및 세션 ID
임시 정책은 정책 세션, 즉 하나의 세션 ID로 그룹화된 일련의 관련 게이트웨이 호출을 기준으로 평가됩니다. 임시 기록은 세션으로 범위가 지정되므로 조건은 권한이 부여된 요청과 동일한 세션에 대해 기록된 이벤트만 고려합니다. 첫 번째 요청부터 시작하여 세션 ID를 생성하고 x-amzn-bedrock-agentcore-policy-session-id 헤더의 각 요청에 전송합니다. 게이트웨이는 사용자를 대신하여 세션 ID를 생성하지 않습니다. 헤더를 생략하거나 빈 값을 보내면 게이트웨이가 세션을 설정하지 않습니다. 연결된 정책 엔진에 시간 정책이 포함된 경우 세션 ID가 없는 요청은 검증 오류와 함께 실패합니다.
세션 ID 전달, 세션 수명 주기 및 다중 홉 호출에서 ID가 전파되는 방법에 대한 자세한 내용은 정책 세션 및 ID 전파를 참조하세요.
세션 무효화
시간 정책은 동일한 세션에서 이전에 발생한 일을 확인하여 작업을 허용할지 여부를 결정합니다. 이 기록은 세션이 시작될 때 유효한 시간 정책에 대해서만 의미가 있습니다. 세션이 열려 있는 동안 엔진의 시간 정책을 변경하면 기록된 기록이 더 이상 현재 규칙과 일치하지 않으므로 서비스가 일관되지 않은 데이터에 대해 결정을 내리는 대신 세션을 종료합니다.
엔진에 시간 정책을 추가하거나 업데이트하면 엔진의 활성 시간 정책 세션이 무효화됩니다. 이러한 변경 후 무효화된 세션을 재사용하는 다음 요청은 HTTP 409에서 실패합니다ConflictException.
복구하려면 새 세션을 시작하고 요청을 다시 전송합니다. 새 세션은 빈 기록으로 시작되며 업데이트된 정책을 기준으로 평가됩니다.
지원되는 AWS 리전
임시 정책은 다음 표에 표시된 AWS 리전에서 사용할 수 있습니다.
| 리전 이름 | 임시 정책 |
|---|---|
|
아시아 태평양(하이데라바드) |
아니요 |
|
아시아 태평양(말레이시아) |
아니요 |
|
아시아 태평양(뭄바이) |
✓ 예 |
|
아시아 태평양(서울) |
✓ 예 |
|
아시아 태평양(싱가포르) |
✓ 예 |
|
아시아 태평양(시드니) |
✓ 예 |
|
아시아 태평양(태국) |
아니요 |
|
아시아 태평양(도쿄) |
✓ 예 |
|
캐나다(중부) |
✓ 예 |
|
유럽(프랑크푸르트) |
✓ 예 |
|
유럽(아일랜드) |
✓ 예 |
|
유럽(런던) |
✓ 예 |
|
유럽(밀라노) |
아니요 |
|
유럽(파리) |
✓ 예 |
|
유럽(스페인) |
✓ 예 |
|
유럽(스톡홀름) |
✓ 예 |
|
남아메리카(상파울루) |
✓ 예 |
|
미국 동부(버지니아 북부) |
✓ 예 |
|
미국 동부(오하이오) |
✓ 예 |
|
미국 서부(캘리포니아 북부) |
아니요 |
|
미국 서부(오리건) |
✓ 예 |
고려 사항
교차 계정 및 교차 리전 요청
임시 정책 세션은 교차 리전 또는 교차 계정 전파를 지원하지 않습니다. 임시 정책은 리소스가 다른 계정 또는 다른 AWS 리전에 있는 경우 AgentCore Gateway와 해당 런타임 대상 간의 요청을 제어하지 않습니다. 임시 정책이 에이전트의 작업을 제어하려면 게이트웨이와 모든 대상이 동일한 AWS 계정 및 AWS 리전에 있어야 합니다.
임시 정책은 워크로드 액세스 토큰(WAT)이 요청 체인을 통해 이동하는 경우에만 액세스를 적용합니다(정책 세션 및 자격 증명 전파 참조). 요청 체인이 전적으로 AgentCore Gateway 및 런타임 구성 요소로 구성된 경우 AgentCore는 WAT 헤더를 한 홉에서 다음 홉으로 자동으로 전파합니다. 이 전파는 단일 AWS 리전 및 계정 내에서 발생합니다. 시간 정책은 체인 전체에 적용됩니다. Gateway to Runtime to Gateway to Runtime과 같은 체인은 사용자 측에서 추가 작업 없이 토큰을 처음부터 끝까지 전달합니다.
비 게이트웨이 또는 런타임 구성 요소가 포함된 체인은 다르게 동작합니다. 요청은 타사 API 게이트웨이 또는 Kubernetes 클러스터와 같이 사용자가 직접 운영하는 인프라를 통과할 수 있습니다. 해당 구성 요소는 WAT 헤더를 전달해야 하며 이러한 홉을 통해 WAT를 전파하려면 사용자 지정 로직을 추가해야 합니다. 이러한 비AgentCore 구성 요소의 물리적 위치는 리전 및 계정 범위에 영향을 주지 않습니다. 양쪽의 AgentCore 구성 요소가 시간 정책이 적용되는 동일한 AWS 계정 및 AWS 리전으로 돌아가는 경우 어디서나 실행할 수 있습니다.
필수 IAM 권한
임시 정책에는 IAM 사전 조건도 포함되어 있습니다. 게이트웨이에 대해 구성된 IAM 역할은 bedrock-agentcore:GetWorkloadAccessToken 작업을 허용해야 합니다. 이 요구 사항은 아웃바운드 권한 부여에 IAM을 사용하는 경우에도 적용됩니다. WAT를 사용하면 임시 정책이 세션 전체에서 에이전트의 작업을 상호 연관시킬 수 있습니다. 게이트웨이는 아웃바운드 통화를 인증하는 방법에 관계없이 WAT를 가져올 수 있어야 합니다. 역할에이 권한이 없으면 시간 정책 적용이 실패합니다. 임시 정책을 구성할 때 게이트웨이 역할에 bedrock-agentcore:GetWorkloadAccessToken를 부여합니다. 리소스 ARNs 및 워크로드 자격 증명 디렉터리 크기 조정을 포함한 전체 권한 정책은 시간 정책에 대한 IAM 권한을 참조하세요.
자체 참조 조건에는 현재 요청이 포함됩니다.
시간 조건이 승인되는 것과 동일한 작업을 참조하면 현재 요청의 자체 이벤트가 평가에 포함됩니다. 예를 들어 창 내에서 작업이 발생한 횟수를 계산하는 조건은 현재 호출도 계산합니다.
이전 작업을 응답으로 기록하도록 허용해야 합니다.
세션 기록은 각 작업을 결과를 반영하는 이벤트로 기록합니다. 완료된 허용된 작업은 response 이벤트로 기록되고 정책이 거부하는 작업은 error 이벤트로 기록됩니다. 시간 조건은 이름이 지정된 종류의 이벤트만 일치하므로 response 이벤트와 일치하는 조건은 허용된 이전 작업만 고려합니다. 시간 정책이 의존하는 이전 작업 자체가 정책에서 허용되는지 확인합니다. 정책이 거부되면가 error 아닌 로 기록response되고 response 조건이 정책과 일치하지 않습니다.
이전 응답에 의존하는 시퀀싱 작업
세션 기록은 작업이 완료되면 각 작업의 response 이벤트를 기록합니다. 정책이 출력 필드 또는 since 조건과 같이 동일한 세션에서 이전 작업의 응답에 의존하는 경우 이전 작업의 응답을 수신한 후 종속 요청을 실행합니다. 의존하는 작업을 시작하기 전에 각 작업을 완료하면 워크플로의 시퀀스가 정책이 평가하는 기록과 일치하도록 유지됩니다.
할당량
시간 정책에는 다음 할당량이 적용됩니다.
| 할당량 | 값 |
|---|---|
|
정책 엔진당 임시 정책 |
25 |
|
정책당 임시 연산자 |
3 |
|
시간 조건당 최대 기간 |
24시간 |
관찰성
Amazon Bedrock AgentCore는 시간 정책 평가를 관찰할 수 있는 지표와 범위 데이터를 게시합니다. 지표는 기본적으로 AWS/Bedrock-AgentCore CloudWatch 네임스페이스에 게시됩니다. 연결된 AgentCore Gateway 리소스에 대한 추적을 활성화하면 범위 데이터를 사용할 수 있게 되며 CloudWatch aws/spans 로그 그룹에서 찾을 수 있습니다.
다음 신호는 시간 정책에 따라 다릅니다.
-
TemporalLatency(지표): 시간 정책을 평가하는 데 소요된 시간입니다. 각 시간 평가에 대해 하나의 샘플이 생성되므로SampleCount통계를 사용하여 평가를 계산할 수 있습니다. -
aws.agentcore.policy.temporal.latency_ms(스팬 속성): 요청에 대한 임시 정책을 평가하는 데 소요된 시간입니다. -
aws.agentcore.policy.temporal.evaluation_invoked(스팬 속성): 요청에 대해 임시 평가가 실행되었는지 여부입니다. 이는 시간 정책이 결정과 일치하거나 결정했음을 나타내지 않습니다. -
aws.agentcore.policy.temporal.event_timestamp_ns(스팬 속성): 요청 이벤트를 주문하는 데 사용된 평가자의 정확한 이벤트 타임스탬프입니다.
정책 지표, 차원 및 스팬 속성의 전체 목록과 관찰성을 활성화하는 방법은 AgentCore 관찰성 데이터의 정책을 참조하세요.
보안 고려 사항
시간 정책을 사용한 속도 제한은 단일 세션 내에 적용됩니다. 시간 기록은 세션으로 범위가 지정되고 세션 ID는 호출자가 제공하므로 "세션당 최대 N개의 호출"과 같은 count기반 제한은 해당 세션에 대해 기록된 이벤트만 계산합니다. 새 세션을 시작하면 새 개수가 시작되므로 시간 속도 제한으로 인해 모든 호출자의 세션이 아닌 세션 내의 활동이 제한됩니다.