정책 조정자로 거부된 액세스 해결

이 페이지에서는 BeyondCorp Enterprise 정책 조정자를 사용 설정하고 사용하는 방법을 보여줍니다.

사용자가 Google Cloud 리소스에 액세스하려고 시도하지만 리소스에 대한 액세스 정책을 준수하지 않으면 액세스가 거부되고 일반 403 오류 메시지가 수신됩니다. 정책 조정자를 사용하면 추가 지원을 위해 관리자에게 연락하기 전에 문제 해결에 도움이 되는 추가 단계를 사용자에게 제공할 수 있습니다. 특정 해결 작업은 액세스 정책에 따라 달라지지만 화면 잠금 사용 설정, 운영체제(OS) 버전 업데이트, 회사에서 허용되는 네트워크에서 앱 액세스와 같은 것들이 포함될 수 있습니다.

정책 조정자 사용 설정

  1. Google Cloud CLI에서 다음 명령어를 실행하여 조직 수준에서 조직 관리자에게 roles/policyremediatormanager.policyRemediatorAdmin 역할을 부여합니다.

    gcloud organizations add-iam-policy-binding 'organizations/ORGANIZATION_ID' \
        --member PRINCIPAL \
        --role roles/policyremediatormanager.policyRemediatorAdmin
    

    다음을 바꿉니다.

    • ORGANIZATION_ID: Google Cloud 조직 ID입니다.
    • PRINCIPAL: 주 구성원 또는 구성원의 식별자로, 대개 PRINCIPAL_TYPE:ID 형식을 따릅니다. 예를 들면 user:my-user@example.com입니다.
  2. 다음 명령어를 실행하여 정책 조정자 관리자 API를 사용 설정합니다.

    gcloud services enable policyremediatormanager.googleapis.com
    
  3. 정책 조정자 관리자를 호출해서 조직의 프로젝트에 대해 정책 조정자를 사용 설정합니다. 이렇게 하면 서비스 에이전트가 생성됩니다.

    curl -X POST \
    "https://policyremediatormanager.googleapis.com/v1alpha/organizations/ORGANIZATION_ID/locations/global/remediatorService:enable"  \
    --header 'Authorization: Bearer ACCESS_TOKEN' \
    --header 'X-Goog-User-Project:PROJECT_ID'
    

    다음을 바꿉니다.

    • ORGANIZATION_ID: Google Cloud 조직 ID입니다.
    • ACCESS_TOKEN: 다음 명령어를 사용해서 액세스 토큰을 생성합니다.
      gcloud auth print-access-token
      
    • PROJECT_ID: Google Cloud 프로젝트 ID입니다.

    다음은 서비스 에이전트 세부정보가 포함된 예시 응답입니다.

    {
    "name": "organizations/ORGANIZATION_ID/locations/global/operations/",
    "metadata": {
      "@type":
    "type.googleapis.com/google.cloud.policyremediatormanager.remediatorservicemanager.v1alph
    a.OperationMetadata",
       "createTime": "",
       "target": "organizations/ORGANIZATION_ID/locations/global/remediatorService",
       "verb": "update",
       "requestedCancellation": false,
       "apiVersion": "v1alpha"
     },
     "done": false
    }
    

    여기서 ORGANIZATION_ID는 Google Cloud 조직 ID입니다.

  4. Google Cloud CLI에서 다음 명령어를 실행하여 생성한 서비스 에이전트에 액세스합니다.

    curl -X GET \
    "https://policyremediatormanager.googleapis.com/v1alpha/organizations/ORGANIZATION_ID/locations/global/remediatorService" \
    --header 'Authorization: Bearer ACCESS_TOKEN' \
    --header 'X-Goog-User-Project:PROJECT_ID'
    

    다음을 바꿉니다.

    • ORGANIZATION_ID: Google Cloud 조직 ID입니다.
    • ACCESS_TOKEN: 다음 명령어를 사용해서 액세스 토큰을 생성합니다.
      gcloud auth print-access-token
      
    • PROJECT_ID: Google Cloud 프로젝트 ID입니다.

    다음 형식으로 서비스 에이전트 이메일이 수신됩니다.

    {
    "name": "organizations/ORGANIZATION_ID/locations/global/remediatorService",
    "state": "ENABLED",
    "serviceAccountEmail": "service-org-ORGANIZATION_ID@gcp-sa-v1-remediator.iam.gserviceaccount.com"
    }
    

    여기서 ORGANIZATION_ID는 Google Cloud 조직 ID입니다.

Google 관리 콘솔에서 서비스 에이전트 역할을 할당합니다.

  1. Google 관리 콘솔에 로그인합니다.

    Google 관리 콘솔로 이동

  2. 계정 > 관리자 역할로 이동한 후 새 역할 만들기를 클릭합니다.

    • 역할의 이름과 설명(선택사항)을 입력한 후 계속을 클릭합니다.

    • 관리 콘솔 권한에서 서비스 > 모바일 및 기기 관리로 이동하고 기기 및 설정 관리 권한을 선택합니다.

    • Admin API 권한에서 그룹으로 이동한 후 읽기 권한을 선택합니다.

    • 계속을 클릭하고 항목을 확인하고 역할 만들기를 완료합니다.

    • 서비스 계정 할당으로 이동하고 새로 만든 서비스 에이전트의 이메일 주소를 입력합니다.

    • 추가 > 역할 할당을 클릭합니다.

  3. Google Cloud CLI에서 다음 명령어를 실행하여 조직 수준에서 서비스 에이전트에 서비스 에이전트(policyremediator.serviceAgent) 역할을 부여합니다. 이렇게 하면 서비스 에이전트에 조직에 대한 Identity and Access Management 및 기타 액세스 정책을 읽을 수 있는 권한이 부여됩니다.

    gcloud organizations add-iam-policy-binding 'organizations/' \
       --member='serviceAccount:service-org-ORGANIZATION_ID@gcp-sa-v1-remediator.iam.gserviceaccount.com' \
       --role='roles/policyremediator.serviceAgent'
    

    ORGANIZATION_ID를 Google Cloud 조직 ID로 바꿉니다.

IAP 리소스에 대해 정책 조정자 사용 설정

이 기능을 사용하려면 BeyondCorp Enterprise 라이선스가 있어야 합니다.

  1. IAP(Identity-Aware Proxy) 페이지로 이동합니다.
    IAP로 이동

  2. 리소스를 선택한 후 설정을 클릭합니다.

  3. 액세스 해결로 이동한 후 해결 작업 생성을 선택합니다.

조정자 역할 부여

IAP 리소스에 대한 액세스 거부를 해결하기 위해 사용자에게 권한을 부여하려면 Google Cloud CLI에서 다음 명령어를 실행합니다.

gcloud iap web add-iam-policy-binding \
    --member='PRINCIPAL' \
    --role='roles/iap.remediatorUser'

PRINCIPAL을 일반적으로 PRINCIPAL_TYPE:ID 형식인 주 구성원 또는 구성원의 식별자로 바꿉니다. 예를 들면 user:my-user@example.com입니다.

자세한 내용은 gcloud iap web add-iam-policy-binding을 참조하세요.

프로젝트 수준에서 IAP 리소스에 대한 액세스 해결 권한을 사용자에게 부여하려면 Google Cloud CLI에서 다음 명령어를 실행합니다.

gcloud projects add-iam-policy-binding PROJECT_ID \
    --member PRINCIPAL \
    --role roles/iap.remediatorUser

다음을 바꿉니다.

  • PROJECT_ID: Google Cloud 프로젝트 ID입니다.
  • PRINCIPAL: 주 구성원 또는 구성원의 식별자로, 대개 PRINCIPAL_TYPE:ID 형식을 따릅니다. 예를 들면 user:my-user@example.com입니다.

헬프 데스크로 해결

최종 사용자의 액세스가 거부되면 문제 해결 URL 및 해결 토큰을 포함한 문제 해결 정보가 있는 BeyondCorp Enterprise 페이지로 리디렉션됩니다. 사용자에게 해결 토큰 개설 권한이 없으면 해결 토큰을 복사해서 이를 헬프 데스크로 전송하여 추가 지원을 얻을 수 있습니다.

정책 속성 및 관련 메시지

다음 표에서는 정책 조정자에서 지원되는 속성 목록을 제공합니다.

속성 기본 메시지
ip_address 회사에서 허용되지 않는 네트워크에서
앱에 액세스하는 중입니다.
region_code 회사에서 허용되는 리전에서
이 앱에 액세스합니다.
is_secured_with_screenlock 기기의 화면 비밀번호를 설정합니다.
기기에서 화면 비밀번호를 해제합니다.
verified_chrome_os 확인된 [OS 유형]이 있는 기기를 사용합니다.
확인된 [OS 유형]이 없는 기기를 사용합니다.
is_admin_approved_device 조직 관리자가 승인한 기기를 사용합니다.
조직 관리자가 승인하지 않은 기기를 사용합니다.
is_corp_owned_device 조직에서 소유한 기기를 사용합니다.
조직에서 소유하지 않은 기기를 사용합니다.
encryption_status 암호화된 기기를 사용합니다.
암호화되지 않은 기기를 사용합니다.
os_type [OS 유형] 기기로 전환합니다.
[OS 유형] 기기가 이 앱에 액세스할 수 없습니다.
os_version [버전] 이상인 OS 버전으로 업데이트합니다.
OS를 [버전]보다 낮은 버전으로 다운그레이드합니다.

문제 해결

다음과 같은 경우 정책 조정자가 해결 방안을 생성할 수 없습니다.

  • 리소스 정책이 충돌합니다. 예를 들어 사용자가 Windows 및 macOS를 사용해서 연결해야 합니다.
  • 속성이 정책 조정자에서 지원되지 않습니다.
  • 서비스 에이전트에게 해결 권한이 없습니다.