컨텍스트 인식 액세스 에이전트 보안

이 문서에서는 Gemini Enterprise Agent Platform 내에서 상호 TLS (mTLS) 및 소유 증명 (DPoP) 인증 및 승인을 적용하여 Gemini Enterprise Agent Platform 내에서 컨텍스트 인식 액세스가 엔드 투 엔드 보안을 지원하는 방법을 설명합니다.

Gemini Enterprise Agent Platform에서 Agent Gateway(미리보기)는 모든 에이전트 간 및 에이전트-어디서나 상호작용의 인라인 액세스 제어를 관리할 수 있습니다.

기본적으로 사용 설정된 컨텍스트 인식 액세스는 에이전트 게이트웨이에 의거하는 에이전트가 인증(authn) 및 승인 (authz) 보안에 다음 메서드를 사용하도록 강제합니다.

  • 상호 TLS (mTLS): 에이전트 게이트웨이에 액세스하는 에이전트를 보호하기 위해 컨텍스트 인식 액세스 및 IAP는 인증서 기반 토큰 바인딩을 확인하여 에이전트가 mTLS를 사용하도록 강제합니다.

  • 소유 증명 (DPoP) 데모: 에이전트 게이트웨이 외부의 서비스에 액세스하는 에이전트를 보호하기 위해 컨텍스트 인식 액세스는 DPoP를 사용하여 에이전트 ID가 유효하도록 강제합니다.

상담사 게이트웨이가 사용 중지되면 상담사는 mTLS를 통해Google Cloud API에 직접 액세스할 수 있습니다. 하지만 에이전트 게이트웨이가 사용 설정된 경우 게이트웨이에서 mTLS를 종료하므로 DPoP를 사용해야 합니다.

컨텍스트 인식 액세스는 mTLS 및 DPoP를 적용하여 기준 엔드 투 엔드 보안을 제공하고 사용자 인증 정보 도용 및 계정 탈취(ATO)를 방지하는 데 도움이 됩니다. 컨텍스트 인식 액세스 정책 시행은 손상된 토큰이 의도된 신뢰할 수 있는 런타임 외부에서 쓸모없도록 하는 데 도움이 됩니다. 사용자 인증 정보 바인딩에 대한 컨텍스트 인식 액세스 시행은 서로 다른 Gemini Enterprise Agent Platform Runtime 테넌트 간의 사용자 인증 정보 격리를 보장하는 데 도움이 됩니다.

주요 개념

다음 개념은 컨텍스트 인식 액세스가 mTLS 및 DPoP를 사용하여 리소스와의 에이전트 상호작용에 보안을 적용하는 방식을 이해하는 데 중요합니다.

  • 에이전트 ID 풀: 특정 에이전트 집합의 보안 사용자 인증 정보와 키를 관리하는 리소스 및 구성의 그룹화입니다.

  • 인증 DPoP 증명: 에이전트가 처음 ID를 할당받을 때 에이전트 ID에 의해 생성되는 암호화 증명입니다.

  • 인증서 바인딩 워크로드 액세스 토큰: 에이전트의 X.509 인증서에 암호화 방식으로 바인딩된 토큰입니다. 이 토큰은 에이전트 게이트웨이를 비롯한 Google Cloud API를 통해 리소스에 대한 mTLS 액세스를 위해 에이전트를 인증하는 데 사용됩니다. 컨텍스트 인식 액세스 (CAA) 정책은 이 바인딩을 검증하여 상호 TLS (mTLS) 사용을 시행합니다. 유효성 검사는 프로비저닝된 환경(예: Cloud Run 컨테이너)에서 실행되는 에이전트만 토큰을 사용할 수 있도록 합니다.

  • 소유 증명 (DPoP) 데모: 에이전트가 에이전트 게이트웨이를 통과한 후 Google Cloud API를 통해 리소스를 인증하고 액세스하는 데 사용해야 하는 프로토콜입니다. 상호 TLS와 비교 DPoP는 RFC 9449를 기반으로 합니다.

  • DPoP 키 관리: 기본 에이전트 ID 풀은 DPoP 작업을 지원하는 데 필요한 공개/비공개 키 쌍으로 프로비저닝됩니다.

  • DPoP 바인딩 승인 토큰: 플랫폼은 승인 토큰을 에이전트에도 바인딩합니다. 이 토큰은 에이전트의 인증서에 연결되고 에이전트 ID로 관리되는 키 쌍을 사용하여 서명되어 DPoP를 지원합니다. 컨텍스트 인식 액세스는 이 DPoP 토큰의 존재와 유효성을 적용하여 호출자가 연결된 비공개 키를 소유하고 있음을 확인합니다.

  • 상호 TLS: 에이전트 ID가 에이전트 게이트웨이 액세스를 비롯한Google Cloud API에 액세스하는 데 사용하는 인증 프로토콜입니다. DPoP와 비교

  • 리소스 DPoP 증명: 에이전트 게이트웨이에서 생성되고 Google Cloud API에 제공되는 암호화 증명입니다.

  • SPIFFE ID: 배포 시 각 에이전트에는 SPIFFE (Secure Production Identity Framework For Everyone) 프레임워크를 따르는 고유한 암호화 방식으로 검증 가능한 ID가 자동으로 프로비저닝됩니다. SPIFFE는 클라우드 네이티브 환경에서 제휴 서비스 ID를 위한 프레임워크를 제공합니다.

  • X.509 인증서: 에이전트의 컨테이너는 SPIFFE ID를 나타내는 Google 관리형 신뢰 도메인에서 발급한 X.509 인증서를 수신합니다. 이 인증서는 보안 통신 채널을 설정하는 데 사용됩니다.

에이전트 게이트웨이를 통한 컨텍스트 인식 액세스 시행

Agent Platform은 컨텍스트 인식 액세스를 사용하여 에이전트 ID에서 Agent Gateway로, Agent Gateway에서 리소스로 인라인 보안을 적용합니다. 컨텍스트 인식 액세스는 다음 워크플로의 일부입니다.

에이전트 배포

  1. 에이전트가 Gemini Enterprise Agent Platform 런타임에 배포됩니다.

  2. 에이전트 ID는 다음을 자동으로 프로비저닝합니다.

    • 키 쌍이 포함된 에이전트 ID 풀

    • 풀 내에 다음이 있는 에이전트 워크로드:

      • 고유한 SPIFFE ID

      • 암호화된 승인 DPoP 증명을 포함하는 고유한 서명된 인증서 바인딩 워크로드 액세스 토큰

mTLS를 사용한 에이전트 간 게이트웨이 액세스

  1. 에이전트가 mTLS를 사용하여 Google Cloud API에 액세스하는 경우 에이전트는 에이전트 게이트웨이를 통과해야 합니다. 이 경우 mTLS는 두 당사자(에이전트와 에이전트 게이트웨이) 간에 보안 채널을 제공합니다.

  2. 컨텍스트 인식 액세스는 에이전트가 인증서 바인딩 토큰으로 프로비저닝되고 mTLS를 사용하고 있는지 확인합니다.

  3. 에이전트 게이트웨이는 에이전트가 리소스에 액세스할 수 있는지 확인합니다.

    에이전트 게이트웨이는 IAP를 사용하여 에이전트의 IAM 허용 정책을 확인합니다. 타겟 리소스에 대한 IAM 허용 정책에 따라 에이전트의 액세스 시도가 허용되면 에이전트 게이트웨이에서 에이전트가 Google CloudAPI를 호출하도록 허용합니다.

    하지만 mTLS는 에이전트 게이트웨이에서 종료되므로 에이전트가Google Cloud API에 액세스하려고 할 때 DPoP를 사용하여 에이전트를 재인증해야 합니다.

DPoP를 사용한 에이전트 게이트웨이-리소스 액세스

  1. DPoP를 사용 설정하기 위해 에이전트 게이트웨이는 IAP를 사용하여 리소스 DPoP 증명을 생성합니다. 에이전트 게이트웨이는 리소스 DPoP 증명을 Google Cloud API에 전달합니다.

  2. 에이전트가 Google Cloud API에 액세스하려고 시도합니다.

  3. 컨텍스트 인식 액세스는 승인 DPoP 증명과 리소스 DPoP 증명이 에이전트 ID 풀에서 동일한 비공개 키를 사용하여 생성되었음을 암호화 방식으로 확인합니다.

  4. 컨텍스트 인식 액세스에서 두 DPoP 증명을 모두 확인하면 에이전트가 Google Cloud API를 통해 리소스에 액세스할 수 있습니다.

CAA 정책 적용 사용 중지

컨텍스트 인식 액세스 정책 시행을 선택 해제해야 하는 경우가 있습니다. 예를 들어 에이전트 간에 토큰을 공유하는 데 특정 요구사항이 있을 수 있습니다.

CAA 정책 시행을 사용 중지하려면 다음 환경 변수를 설정하세요.

GOOGLE_API_PREVENT_AGENT_TOKEN_SHARING_FOR_GCP_SERVICES=False

다음 단계