컨텍스트 인식 액세스를 사용하여 앱 및 리소스 보호

Last reviewed 2025-07-22 UTC

이 문서에서는 컨텍스트 인식 액세스를 사용하여 다양한 유형의 앱과 리소스를 보호하는 방법을 설명합니다. 컨텍스트 인식 액세스란, 인증 강도, 기기 상태, 네트워크 위치, 지리적 위치, 기타 속성을 기반으로 사용자의 액세스를 제어하는 보안 접근 방식입니다. 이 접근 방식은 보안 액세스를 위한 기본 사용자 ID를 넘어 제로 트러스트 보안 모델을 구현하여 전반적인 보안 상황을 향상시키는 데 도움이 됩니다. 권장사항에 대한 자세한 내용은 컨텍스트 인식 액세스를 사용하여 앱과 리소스를 보호하기 위한 권장사항을 참조하세요.

앱과 Google Cloud 리소스를 보호하기 위해 다양한 컨텍스트 요소를 단독 또는 조합해 세부적인 액세스 제어를 정의할 수 있습니다. 이때 Access Context Manager를 사용하여 액세스 정책을 정의할 수 있습니다. 이 정책에는 액세스 수준과 서비스 파라미터가 포함됩니다.

이 문서는 Identity and Access Management(IAM)과 Google Cloud 리소스 및 앱의 보안을 담당하는 모든 보안 전문가를 대상으로 합니다. 또한 사용자가 Access Context Manager,Google Cloud, IAM 관리에 이미 익숙하다고 가정합니다.

액세스 수준

액세스 수준을 사용하면 사용자가 특정 신뢰 수준에 도달하기 위해 반드시 충족해야 하는 요구사항 집합을 정의할 수 있습니다.

예를 들어 조직에서 Access Context Manager를 사용하여 다음과 같은 액세스 수준을 구성할 수 있습니다.

  • 기본: 최소 수준으로 간주되는 기본 요구사항 집합입니다.
  • 보통: 직원과 기업용 기기가 충족해야 하는 더 엄격한 요구사항 집합입니다. 이 액세스 수준은 확장된 인력 사용자 및 비기업용 기기를 제외할 수 있습니다.
  • 높음: 특정 직원과 기기만 충족할 수 있는 엄격한 요구사항입니다.

액세스 수준 자체는 사용자나 기기에 즉각적인 영향을 주지 않습니다. 액세스 수준은 충족해야 할 요구사항을 지정하지만 해당 요구사항을 어떤 사용자, 앱, 리소스에 적용할지는 정의하지 않습니다. 액세스 수준은 특정 앱이나 리소스에 대한 액세스를 구성할 때 참조할 수 있는 재사용 가능한 구성 요소와 같습니다.

Google Cloud 에서는 액세스 수준을 다음과 같은 여러 유형의 앱 또는 리소스에 적용할 수 있으며, 이 문서에서 각각을 설명합니다.

  • Google Workspace 및 Google Cloud외부의 다른 앱과 서비스
  • Google Cloud 콘솔 및 Google Cloud API
  • 가상 프라이빗 클라우드(VPC) 서비스 경계
  • SSH 및 RDP 액세스를 위한 IAP(Identity-Aware Proxy)
  • 웹 앱용 IAP

앱 및 리소스

다음 섹션에서는 액세스 수준을 다양한 유형의 앱과 리소스에 적용하는 방법과 각 유형별로 프로세스가 어떻게 다른지를 설명합니다.

Google Workspace 및 Google Cloud외부의 다른 앱과 서비스

컨텍스트 인식 액세스를 지원하는 Google Cloud 외부의 앱 및 서비스에는 다음이 포함됩니다.

  • Google 관리 콘솔
  • Gmail, Google Meet, Google Calendar와 같은 Google Workspace 앱
  • Gemini 또는 Looker Studio와 같은 기타 Google 앱
  • 커스텀 SAML 앱

Google Workspace와Google Cloud외부의 앱 및 서비스에 대한 액세스를 제한하려면 관리 콘솔에서 각 서비스 또는 앱별로 개별적으로 컨텍스트 인식 액세스를 구성해야 합니다. 관리 콘솔에서 수행하는 작업은 다음과 같습니다.

  • 액세스 수준을 적용할 범위를 정의합니다. 범위는 다음 요소들의 조합으로 구성됩니다.

    • 보호할 특정 서비스 또는 SAML 앱
    • 관련 사용자가 포함된 조직 단위(OU) 또는 그룹
  • 선택한 범위에 적용할 액세스 수준을 선택합니다.

액세스 수준을 할당할 때 해당 액세스 수준의 설정을 변경할 수도 있습니다. 예를 들어 사용자가 웹 앱에 직접 액세스할 때만 액세스 수준이 적용되도록 지정할 수 있습니다. 또는 모바일 앱 및 기타 앱이 API에 액세스할 때도 이 수준이 적용되도록 지정할 수 있습니다. 자세한 내용은 "앱에 컨텍스트 인식 액세스 수준 할당"의 액세스 수준 설정에 따른 앱 동작을 참조하세요.

특정 사용자와 앱에 대해 둘 이상의 할당이 적용될 수도 있습니다. 예를 들어 한 사용자가 Employees OU의 구성원이면서 동시에 all-apac 팀의 구성원일 수 있습니다. 각각의 OU와 그룹에 서로 다른 액세스 수준이 할당되어 있을 수 있습니다. 이 경우 Cloud ID와 Google Workspace는 우선순위가 가장 높은 할당만 적용합니다.

  • 그룹 기반 할당은 OU 기반 할당보다 우선순위가 높습니다.
  • 그룹 내에서는 상대적 우선순위를 맞춤설정할 수 있습니다.
  • OU 내에서는 루트 OU가 가장 낮은 상대적 우선순위를 가집니다.

Cloud ID 및 Google Workspace에서는 컨텍스트 인식 액세스 로그에서 컨텍스트 인식 액세스 이벤트를 검토하고 분석할 수 있습니다.

Google Cloud 콘솔 및 Google Cloud API

컨텍스트 인식 액세스는 액세스 바인딩을 사용해 Google Cloud 콘솔 및Google Cloud API에 구성할 수 있습니다.

Google Cloud API는 인증에 OAuth 2.0을 사용합니다. Google CloudAPI를 사용하려면 사용자에게 Google에서 발급한 유효한 OAuth 액세스 토큰이 있어야 하며, 이 토큰은 특정 Google Cloud OAuth 범위 중 하나에 대해 발급되어야 합니다. 액세스 바인딩은 사용자가 이러한 액세스 토큰을 획득할 수 있는 권한을 제한합니다. 그 결과, 액세스 바인딩은 Google Cloud 콘솔과 Google Cloud OAuth 범위를 사용하는 모든 OAuth 앱에 대한 액세스를 제한합니다.

액세스 바인딩은 그룹을 액세스 수준에 연결합니다. 각 그룹에는 오직 하나의 액세스 바인딩만 설정할 수 있습니다. 각 액세스 바인딩은 다음 구성을 정의할 수 있습니다.

  • 개별 OAuth 앱에 액세스 수준을 할당하는 scopedAccessSettings 목록
  • 기본 액세스 수준

액세스 바인딩이 범위 지정 액세스 설정과 기본 액세스 수준을 모두 지정하면, 두 액세스 수준은 OR 시맨틱스를 사용하여 결합됩니다. 그러면 사용자가 OAuth 앱에 액세스하기 위해 두 액세스 수준 중 하나만 충족하면 됩니다.

액세스 바인딩은 그룹의 직접 구성원과 간접 구성원 모두에 적용됩니다. 사용자가 여러 그룹의 구성원이라면, 여러 액세스 바인딩이 해당 사용자에게 적용될 수 있으며, 그 결과 여러 액세스 수준이 할당될 수 있습니다. 이 경우 액세스 수준은 OR 시맨틱스를 사용하여 결합되므로 사용자는 여러 액세스 수준 중 하나만 충족하면 됩니다.

VPC 서비스 경계

VPC 서비스 경계를 만들 때는 제한된 서비스 목록을 지정해야 합니다. 제한된 서비스는 서비스 경계 내부에서만 액세스할 수 있으며, 기본적으로 서비스 경계 외부에서는 액세스할 수 없습니다.

서비스 경계 외부에서 액세스하도록 허용하려면 인그레스 규칙을 사용합니다. 인그레스 규칙을 사용하면 외부 액세스를 허용할 조건을 지정할 수 있습니다. 액세스 수준을 사용하여 인그레스 규칙이 컨텍스트 인식 액세스를 적용하도록 할 수 있습니다.

하나의 VPC 서비스 경계에는 여러 개의 인그레스 규칙을 설정할 수 있습니다. 따라서 특정 사용자와 앱에 대해 둘 이상의 인그레스 규칙이 적용될 수 있으며 이러한 인그레스 규칙에 서로 다른 액세스 수준이 요구될 수도 있습니다. 이 경우 액세스 수준은 OR 시맨틱스를 사용하여 평가되므로, 사용자는 액세스 수준 중 하나만 충족하면 됩니다.

액세스 바인딩은 VPC 서비스 경계의 인그레스 규칙과 결합할 수 있습니다. 특정 사용자 및 앱에 대해 액세스 바인딩과 인그레스 규칙이 서로 다른 액세스 수준을 지정한 경우 두 수준은 AND 시맨틱스를 사용하여 결합됩니다. 이 경우 사용자는 두 액세스 수준을 모두 충족해야 합니다.

VPC 서비스 경계 내 리소스에 액세스하려는 시도를 검토하고 분석하려면 VPC 서비스 제어 감사 로그 또는 VPC 서비스 제어 위반 분석기를 사용하면 됩니다.

VM에 대한 SSH 및 RDP 액세스

IAP TCP 전달을 사용하여 VM에 대한 SSH 및 RDP 액세스에 컨텍스트 인식 액세스를 구성할 수 있습니다.

IAP TCP 전달은 액세스 바인딩 및 VPC 서비스 경계 인그레스 규칙을 지원합니다. Google Cloud 콘솔 및 Cloud API에 대한 액세스 바인딩은 자동으로 IAP TCP 전달에 적용됩니다.

서비스 경계에 iaptunnel.googleapis.com 서비스가 제한된 서비스로 포함되어 있으면 인그레스 규칙이 IAP TCP 전달에 자동으로 적용됩니다. 권장사항에 대한 자세한 내용은 IAP TCP 전달을 제한된 서비스로 포함을 참조하세요.

IAM 조건을 사용해 컨텍스트 인식 액세스를 구성할 수도 있습니다. IAM 조건은 액세스 바인딩 및 VPC 서비스 경계 인그레스 규칙의 대안으로 사용할 수도 있고, 이들과 함께 동시에 사용할 수도 있습니다.

  • 사용자 또는 그룹에 IAP 보안 터널 사용자 역할(roles/iap.tunnelResourceAccessor)을 부여하세요. 그런 다음 역할 바인딩에 IAM 조건 표현식을 추가하여 사용자가 특정 액세스 수준을 충족해야 하도록 요구할 수 있습니다. 예를 들어 표현식은 다음과 유사할 수 있습니다.

    "accessPolicies/123/accessLevels/fully-trusted" in request.auth.access_levels
    
  • 선택적으로 IAM 조건을 맞춤설정하여 여러 액세스 수준을 요구하거나 다른 검사 조건을 포함하도록 설정할 수도 있습니다.

특정 사용자와 앱이 IAP TCP 전달에 액세스할 때 특정 사용자 및 앱에 액세스 바인딩, 인그레스 규칙, IAM 조건이 동시에 적용될 수 있습니다. 이 시나리오에서 액세스 수준은 AND 시맨틱스를 사용하여 결합되므로, 사용자는 모든 액세스 수준을 충족해야 합니다.

IAP TCP 전달에 대한 액세스 시도를 검토 및 분석하려면 IAP에 대한 데이터 액세스 감사 로그를 사용 설정해야 합니다.

웹 앱

IAP를 사용하여 웹 앱에 대해 컨텍스트 인식 액세스를 구성할 수 있습니다.

웹 앱용 IAP는 IAP TCP 전달과는 다음과 같은 차이가 있습니다.

  • IAP가 사용하는 OAuth 앱은 어떤 Google Cloud OAuth 범위도 사용하지 않기 때문에 액세스 바인딩은 IAP로 구성된 웹 앱에 적용되지 않습니다.
  • IAP는Google Cloud API가 아니며 제한된 서비스로 구성할 수 없기 때문에, VPC 서비스 경계 인그레스 규칙은 IAP로 구성된 웹 앱에 적용되지 않습니다.

IAP를 사용하여 웹 앱에 컨텍스트 인식 액세스를 구성하려면 IAM 조건을 사용해야 합니다.

  • 사용자 또는 그룹에 IAP 보안 웹 앱 사용자 역할(roles/iap.httpsResourceAccessor)을 부여하세요. 그런 다음 역할 바인딩에 IAM 조건 표현식을 추가하여 사용자가 특정 액세스 수준을 충족해야 하도록 요구할 수 있습니다. 예를 들어 표현식은 다음과 유사할 수 있습니다.

    "accessPolicies/123/accessLevels/fully-trusted" in request.auth.access_levels
    
  • 선택적으로 IAM 조건을 맞춤설정하여 여러 액세스 수준을 요구하거나 다른 검사 조건을 포함하도록 설정할 수도 있습니다.

IAP로 구성된 웹 앱에 대한 액세스 시도를 검토 및 분석하려면 IAP에 대한 데이터 액세스 감사 로그를 사용 설정해야 합니다.

다음 단계

참여자

작성자: 요하네스 파싱 | 클라우드 솔루션 설계자

기타 참여자: 이도 플라토브 | 클라우드 솔루션 설계자