정책 범위
범위는 정책이 적용되는 대상을 정의합니다. 모든 Cedar 정책은 세 가지 구성 요소를 지정합니다.
permit( principal is AgentCore::OAuthUser, // WHO is making the request action == AgentCore::Action::"...", // WHAT they want to do resource is AgentCore::Gateway::"..." // WHICH resource they want to access )
개체 및 네임스페이스
Cedar는 엔터티를 사용하여 보안 주체, 작업 및 리소스를 나타냅니다. AgentCore Gateway의 모든 엔터티는 AgentCore 네임스페이스를 사용합니다.
개체 형식: Namespace::EntityType::"identifier"
위탁자
보안 주체는 권한 부여를 요청하는 엔터티를 식별합니다. 보안 주체 유형은 AgentCore Gateway의 인증 구성 방식에 따라 달라집니다.
OAuth 사용자 보안 주체
OAuth 권한 부여를 사용할 때 보안 주체는 AgentCore::OAuthUser 입니다.
principal is AgentCore::OAuthUser
구성 요소:
-
principal- 권한 부여 요청을 하는 엔터티 -
AgentCore::OAuthUser- OAuth 인증 사용자를 나타내는 엔터티 유형 -
is- 유형 확인 연산자(OAuthUser 엔터티와 일치)
보안 주체는 OAuth 인증 사용자입니다. 각 사용자에게는 JWT 하위 클레임의 고유 ID가 있습니다.
IAM 엔터티 보안 주체
AWS_IAM 권한 부여를 사용할 때 보안 주체는 AgentCore::IamEntity 입니다.
principal is AgentCore::IamEntity
구성 요소:
-
principal- 권한 부여 요청을 하는 엔터티 -
AgentCore::IamEntity- IAM 인증 호출자를 나타내는 엔터티 유형 -
is- 유형 확인 연산자(모든 IamEntity와 일치)
IAM 보안 주체에는 호출자의 IAM ARN이 포함된 id 속성이 있습니다. 이 속성에서 패턴 일치를 사용하여 계정 기반 또는 역할 기반 액세스 제어를 구현할 수 있습니다.
작업
작업은 요청 중인 작업을 지정합니다.
action == AgentCore::Action::"RefundTool___process_refund"
구성 요소:
-
action- 요청 중인 작업 -
AgentCore::Action::"RefundTool___process_refund"- 특정 작업 엔터티 -
==- 정확한 일치 연산자(이 특정 작업만 해당)
작업은 MCP AgentCore 게이트웨이의 도구 호출을 나타냅니다. 각 도구에는 해당 작업 개체가 있습니다.
대상 유형별 작업 이름
정책의 작업 식별자는 게이트웨이에 구성된 대상 유형에 따라 다릅니다.
| 대상 유형 | 작업 형식 | 예제 |
|---|---|---|
|
MCP |
|
|
|
AgentCore 런타임 |
|
|
|
프록시(HTTP) |
|
|
여러 작업
Cedar는 와일드카드 작업을 지원하지 않습니다. 각 작업은 정확한 작업 식별자(AgentCore::Action::"ToolName___operation")를 사용하여 명시적으로 참조해야 합니다. 단일 규칙으로 여러 도구를 그룹화하려면 게이트웨이 대상(작업 그룹)을 사용하고 해당 대상에 대한 정책을 작성합니다.
예를 들어 이름이 읽기로 시작하는 도구에 대한 액세스만 허용하려면 이러한 각 도구가 포함된 ReadToolsTarget이라는 게이트웨이 대상을 생성한 다음 다음과 같은 정책을 작성할 수 있습니다.
permit( principal, action in AgentCore::Action::"ReadToolsTarget", resource == AgentCore::Gateway::"<gateway-arn>" );
이렇게 하면 정책의 효과에 따라 해당 대상에 포함된 모든 도구가 허용됩니다.
Resource
리소스는 요청의 대상을 식별합니다.
resource == AgentCore::Gateway::"arn:aws:bedrock-agentcore:us-west-2:123456789012:gateway/refund-gateway"
구성 요소:
-
resource- 요청의 대상 -
AgentCore::Gateway- 게이트웨이 인스턴스를 나타내는 개체 유형 -
==- 정확한 일치 연산자(이 특정 AgentCore Gateway와 일치)
AgentCore Gateway는 도구 호출을 라우팅하는 MCP 서버입니다.
리소스 특이도 요구 사항
하나 이상의 특정 작업을 지정할 때는 특정 AgentCore Gateway ARNs 사용해야 합니다.
// Required: Specific Gateway ARN for specific action(s) resource == AgentCore::Gateway::"arn:aws:bedrock-agentcore:us-west-2:123456789012:gateway/refund-gateway"
이는 다음에 적용됩니다.
-
단일 작업:
action == AgentCore::Action::"ToolName" -
여러 특정 작업:
action in [AgentCore::Action::"Tool1", AgentCore::Action::"Tool2"]
작업과 일치하는 경우에만 유형 확인을 사용합니다.
// For policies covering any action (not specific tools) resource is AgentCore::Gateway
예시:
// Blocks all actions forbid(principal, action, resource); // Allow any CallTool action permit(principal, action in AgentCore::Action::"CallTool", resource is AgentCore::Gateway::"arn:aws:bedrock-agentcore:us-west-2:123456789012:gateway/refund-gateway");
특정 AgentCore Gateway ARNs 다음을 제공합니다.
-
AgentCore Gateway 인스턴스 간의 보안 격리
-
프로덕션 및 개발 환경 분리
-
AgentCore Gateway당 세분화된 액세스 제어