IAM 정책 개요

에이전트와 다른 서비스(다른 에이전트, MCP 서버, 엔드포인트 포함) 간의 에이전트 통신을 안전하게 관리하는 데 Agent Gateway가 사용하는 IAM 허용 정책 및 거부 정책을 만들 수 있습니다. Agent Gateway는 IAP (Identity-Aware Proxy)를 사용하여 정책을 시행합니다. IAP는 엔드 투 엔드 에이전트 ID 인증 및 승인 보안을 적용합니다.

Agent Gateway의 IAM 정책을 만들려면 IAM 정책 만들기를 참고하세요.

상담사 ID에 보안 주체 액세스 경계 (PAB)를 만들 수도 있습니다. Agent Gateway는 IAP를 사용하여 보안 주체 액세스 경계 정책을 시행할 수 있습니다.

Agent Gateway 사용 설정

에이전트형 커뮤니케이션 정책을 사용하려면 Agent Gateway를 설정해야 합니다.

스테이징 환경에서 테스트 실행 모드(DRY_RUN)로 Agent Gateway를 구성하여 정책이 예상대로 작동하는지 확인하는 것이 좋습니다. 테스트 실행 모드에서 IAP는 허용되지 않는 에이전트 통신을 Cloud 감사 로그에 로깅하지만 차단하지는 않습니다.

정책이 올바르게 작동하는지 확인한 후 Agent Gateway 구성을 업데이트하여 시행 모드를 ENFORCE로 설정할 수 있습니다. 이 모드에서는 정책을 위반하는 에이전트 통신이 허용되지 않으며 리소스와의 통신이 차단됩니다.

정책 구성요소

정책에는 다음 구성요소가 있습니다.

  • 에이전트: IAM 허용 정책에서 소스 에이전트는 에이전트 ID (서비스와의 통신을 시작하는 에이전트의 ID)로 정의됩니다. 다양한 유형의 에이전트가 ID를 수신하는 방법을 알아보려면 에이전트 ID를 참고하세요. 에이전트 ID는 에이전트의 SPIFFE 형식 ID를 포함하는 주 구성원 식별자로 표시됩니다(예: principal://agents.global.org-...). URN 형식의 에이전트 식별자(예: urn:agent:...)는 인벤토리 및 카탈로그 조회에만 사용되며 IAM 정책 바인딩에는 사용되지 않습니다. gcloud CLI를 사용하여 IAM 정책을 구성할 때 에이전트 주 구성원은 액세스 권한을 부여하는 구성원입니다.

    Gemini Enterprise 에이전트와 Agent Runtime 인스턴스에는 에이전트 ID가 자동으로 할당되고 에이전트 레지스트리에 등록됩니다.

  • 에이전트 레지스트리 리소스: 액세스를 허용하거나 거부할 에이전트 레지스트리 서비스입니다. IAM 허용 및 거부 정책에서 에이전트 레지스트리 서비스는 리소스로 참조됩니다. 리소스는 프로젝트 내의 전체 레지스트리 또는 개별 서비스(MCP 서버, 에이전트 또는 엔드포인트일 수 있음)일 수 있습니다.

    개별 서비스는 IAM 정책에서 참조되기 전에 에이전트 레지스트리에 등록되어야 합니다. 이 등록은 바인드 시간 (정책 바인딩이 생성되거나 업데이트될 때)에 검증됩니다. 등록되지 않은 서비스를 참조하면 요청된 엔티티를 찾을 수 없음 (NOT_FOUND) 오류와 함께 정책 생성이 즉시 실패합니다.

    gcloud CLI 또는 Terraform을 사용하여 정책을 구성할 때 타겟 리소스는 논리적 URN 식별자가 아닌 레지스트리에서 생성된 경로 또는 ID (--agent, --endpoint 또는 --mcp-server와 같은 플래그 사용)로 지정됩니다. 런타임에 보안 게이트웨이는 URN을 사용하는 대신 정확한 호스트 이름으로 트래픽 대상을 일치시킵니다.

    에이전트 레지스트리를 리전화하면 IAM 허용 정책이 레지스트리의 리전에 있는 리소스에만 적용됩니다.

  • 역할: 에이전트 통신 정책은 항상 서비스 리소스에 IAP 보안 이그레스 작업자 (roles/iap.egressor) 역할을 부여합니다.

  • 조건: 필요에 따라 IAM 허용 정책에 조건을 구성하여 에이전트가 액세스할 수 있는 항목을 추가로 제한할 수 있습니다.Cloud de Confiance 콘솔에서 조건 작성 도구를 사용하여 UI 요소를 선택하여 조건을 만들 수 있습니다. 또는 조건 편집기를 사용하여 더 복잡한 조건을 Common Expression Language (CEL) 표현식으로 입력할 수 있습니다.

    다음 표에는 CEL 표현식을 구성하는 데 사용할 수 있는 속성 이름이 나와 있습니다. 직접 필드 액세스 스타일 (예: request.mcp.toolName)은 지원되지 않으므로 api.getAttribute() 함수를 사용하여 각 속성의 값을 검색해야 합니다.

    조건이 있는 허용 정책을 구성하는 방법에 대한 자세한 내용은 IAM 에이전트 정책 구성을 참고하세요.

    속성 이름 설명 및 CEL 예시
    mcp.toolName 호출되는 특정 도구의 이름입니다.
    예: request.mcp.toolName == 'GetCalendarEvents'
    iap.googleapis.com/mcp.resourceName 액세스 중인 리소스의 이름입니다.
    예: api.getAttribute('iap.googleapis.com/mcp.resourceName', '') == 'my-resource'
    iap.googleapis.com/mcp.promptName 사용 중인 프롬프트 이름입니다.
    예: api.getAttribute('iap.googleapis.com/mcp.promptName', '') == 'my-prompt'
    mcp.method 구체적인 MCP 작업입니다 (예: tools/call, resources/read).
    iap.googleapis.com/mcp.tool.isReadOnly
    iap.googleapis.com/mcp.tool.isDestructive
    iap.googleapis.com/mcp.tool.isIdempotent
    iap.googleapis.com/mcp.tool.isOpenWorld
    작업 유형을 나타내는 불리언 플래그입니다.
    예: api.getAttribute('iap.googleapis.com/mcp.tool.isReadOnly', false) == true
    request.auth.type 프로토콜을 나타내는 열거형입니다 (예: 'MCP').

정책 만들기

Cloud de Confiance 콘솔의 정책 페이지에서 Agent Gateway가 에이전트형 커뮤니케이션을 관리하는 데 사용하는 IAM 허용 정책과 거부 정책을 만듭니다.

gcloud CLI에서 에이전트 게이트웨이가 에이전트 통신을 관리하는 데 사용하는 IAM 허용 정책과 IAM 거부 정책을 모두 구성할 수 있습니다.

Cloud de Confiance 콘솔의 정책

Cloud de Confiance 콘솔을 사용하여 IAM 정책을 만들려면 IAM 정책 구성을 참고하세요.

gcloud CLI의 정책

gcloud CLI를 사용하여 IAM 정책을 만들려면 IAM 정책 구성을 참고하세요.

엔드 투 엔드 인증 및 승인

IAP 및 컨텍스트 인식 액세스는 다음 프로토콜을 사용하여 기본 엔드 투 엔드 에이전트 ID 인증 및 승인을 제공합니다.

  • 상호 TLS(mTLS)
  • 소유 증명 (DPoP) 데모

에이전트 ID는 X.509 인증서와 인증서 바인딩 토큰으로 프로비저닝됩니다. IAP는 에이전트 아이덴티티가 상호 TLS (mTLS)를 사용하여 Agent Gateway에 인증하도록 강제합니다. 게이트웨이에서 에이전트가 이그레스하고 Cloud de Confiance API, MCP 서버, 기타 에이전트, 엔드포인트에 액세스하도록 허용하면 에이전트가 mTLS 경계 외부에서 액세스를 시도합니다. 컨텍스트 인식 액세스는 커뮤니케이션을 보호하기 위해 Google에서 관리하는 컨텍스트 인식 액세스 정책을 적용합니다. 이 정책에서는 DPoP가 에이전트 ID에 바인딩된 인증서 바인딩 토큰을 검증해야 합니다. 컨텍스트 인식 액세스가 엔드 투 엔드 mTLS 및 DPoP 보안을 제공하는 방법에 대해 자세히 알아보려면 컨텍스트 인식 액세스 에이전트 보안을 참고하세요.

다음 단계

Codelab

크로스 클라우드 에이전트 AI 애플리케이션 보호 Codelab에서 에이전트 애플리케이션을 보호하는 방법을 알아보세요.

개요

Agent Gateway 개요를 확인합니다.

가이드

Google Agent Platform의 보안 제어에 대해 알아봅니다.