이 페이지는 보안 및 클라우드 관리자가 Access Context Manager 액세스 수준, 컨텍스트 인식 액세스 서비스 계정 바인딩, 인증서 기반 액세스, 관리형 휴대기기 관련 문제를 진단하고 해결하는 데 도움이 됩니다.
액세스 수준 관리 문제
이 섹션에서는 Access Context Manager에서 액세스 수준을 관리할 때 발생할 수 있는 문제를 나열하고 각 문제를 해결하는 방법을 제안합니다.
Google Workspace 컨텍스트 인식 액세스 정책에 사용된 액세스 수준을 삭제할 수 없음
Google Workspace 컨텍스트 인식 액세스 정책에 할당된 Access Context Manager에서 액세스 수준을 삭제하려고 하면 다음 문제가 발생합니다.
사용하는 인터페이스에 따라 다음 오류 메시지 중 하나가 표시됩니다.
Google Cloud 콘솔:
Cannot delete Access Level 'ACCESS_LEVEL_TITLE'. It's currently used in Google Workspace Context-Aware Access policies. To delete this Access Level, first remove it from all app assignments and default rules in the Google Workspace Admin Console.
Google Cloud CLI:
ERROR: (gcloud.access-context-manager.levels.delete) FAILED_PRECONDITION: Cannot delete Access Level: ACCESS_LEVEL_NAME. This Access Level is currently being used by Google Workspace Context-Aware Access policies. Please remove the Access Level from all assignments in the Google Workspace Admin Console before attempting deletion.
Access Context Manager API:
FAILED_PRECONDITION: WORKSPACE_CAA_LIEN_PROTECTED
Google Workspace 컨텍스트 인식 액세스 정책과 Access Context Manager는 기본 액세스 수준을 공유합니다. Google Workspace 사용자의 실수로 인한 서비스 중단을 방지하기 위해 시스템은 Google Workspace 컨텍스트 인식 액세스 정책에 할당된 모든 액세스 수준에 삭제 잠금 (선취권)을 적용합니다. 이 정책은 활성, 모니터링 또는 경고 모드에 관계없이 적용됩니다.
이 문제를 해결하려면 액세스 수준을 삭제하기 전에 Google 관리 콘솔에서 액세스 수준 할당을 삭제하세요.
- 관리 콘솔에 로그인합니다.
- 보안 > 액세스 및 데이터 관리 > 컨텍스트 인식 액세스로 이동합니다.
- 액세스 수준이 할당된 핵심 Google Workspace 앱, SAML 앱 또는 기본 API 규칙을 식별합니다.
- 해당 정책에서 액세스 수준을 할당 해제합니다. 자세한 내용은 앱에 컨텍스트 인식 액세스 수준 할당하기를 참고하세요.
- 모든 Google Workspace 컨텍스트 인식 액세스 할당에서 액세스 수준을 삭제하면 시스템에서 삭제 잠금을 자동으로 삭제합니다. Google Cloud 콘솔에서 또는 gcloud CLI를 사용하여 액세스 수준 삭제를 다시 시도합니다.
다른 액세스 수준에서 참조하는 액세스 수준을 삭제할 수 없음
다른 기본 또는 커스텀 액세스 수준에서 조건으로 참조되는 액세스 수준을 삭제하려고 하면 이 오류가 발생할 수 있습니다.
이 문제를 해결하려면 액세스 수준을 삭제하기 전에 액세스 수준 종속 항목을 확인하고 참조 액세스 수준을 업데이트하여 종속 항목을 삭제합니다.
액세스 수준을 삭제하거나 수정한 후 Google Cloud 콘솔에서 잠김
Google Cloud 액세스 바인딩에서 참조되는 액세스 수준을 삭제하거나 수정한 후 Google 그룹의 관리자 또는 사용자가 Google Cloud 콘솔 또는 Google Cloud API에 액세스할 수 없도록 차단되면 다음 문제가 발생합니다. Google Cloud 액세스 바인딩은 참조된 액세스 수준에 삭제 잠금을 설정하지 않으므로 사용 중인 액세스 수준을 삭제하면 바인딩된 그룹에 대한 액세스 평가가 실패합니다.
이 문제를 해결하고 액세스 권한을 다시 얻으려면 관리 콘솔의 Google 그룹에서 영향을 받는 사용자를 삭제합니다.
- Google 그룹스를 관리할 수 있는 관리자 계정을 사용하여 관리 콘솔에 로그인합니다.
- 디렉터리 > 그룹으로 이동하여 액세스 바인딩에 사용된 Google 그룹을 선택합니다.
- 영향을 받는 관리자 또는 사용자 계정을 그룹에서 삭제하여 액세스 바인딩을 우회하고 Google Cloud 콘솔 및Google Cloud API에 대한 액세스 권한을 복원합니다.
- 액세스 권한을 다시 얻은 후에는 유효한 액세스 수준을 참조하도록 액세스 바인딩을 업데이트하거나 삭제한 후 사용자를 Google 그룹에 다시 추가합니다.
서비스 계정 문제
이 섹션에서는 서비스 계정에 컨텍스트 인식 액세스를 구성할 때 발생할 수 있는 문제를 나열하고 각 문제를 해결하는 방법에 대한 제안을 제공합니다.
서비스 계정에 대한 액세스가 거부됨
다음 문제는 컨텍스트 인식 액세스 정책을 바인딩한 후 컨텍스트 인식 액세스에서 서비스 계정의 Google Cloud 리소스 액세스를 거부할 때 발생합니다.
이 문제는 일반적으로 다음 이유 중 하나로 인해 발생합니다.
- 테스트 실행 모드가 아닌 시행 모드에서 컨텍스트 인식 액세스 정책을 바인딩했습니다.
- 액세스 수준에 필요한 모든 소스가 포함되어 있지 않습니다(예: 액세스 수준을 만들 때 포함하지 않은 IP 주소).
- 사용자 ID가 사용자 액세스를 제한하는 바인딩된 컨텍스트 인식 액세스 정책이 있는 Google 그룹의 구성원이므로 서비스 계정에 대한 호출 흐름이 차단됩니다.
이 문제를 해결하려면 다음 단계를 완료하시기 바랍니다.
- 시행 모드 대신 테스트 실행 모드를 사용하여 서비스 계정이 리소스에 액세스하고 액세스를 거부하지 않고 시행 이벤트를 로깅하도록 허용합니다.
다음 로그 쿼리를 실행하여 Cloud 감사 로그 항목을 검토합니다.
protoPayload.serviceName="contextawareaccess.googleapis.com"
Cloud 감사 로그 항목에서 컨텍스트 인식 액세스가 보고하는 액세스 수준 리소스 이름을 확인합니다.
액세스 수준이 조직 수준 리소스이고 서비스 계정에 지원되는 속성만 사용하는지 확인합니다.
컨텍스트 인식 액세스 정책이 원하는 서비스 계정에 바인딩되어 있고 액세스 수준에 필요한 모든 IP 주소 또는 소스 네트워크가 포함되어 있는지 확인합니다.
사용자 ID가 그룹 수준 컨텍스트 인식 액세스 정책에 의해 제한되지 않는지 확인합니다.
인증서 기반 액세스 문제
이 섹션에서는 워크로드 또는 엔터프라이즈 인증서에 인증서 기반 액세스를 사용할 때 발생할 수 있는 문제를 나열하고 각 문제를 해결하는 방법을 제안합니다.
워크로드를 승인할 때 403 금지됨 오류
워크로드가 워크로드 아이덴티티 제휴에 인증서 기반 액세스를 사용하여Google Cloud 리소스에 액세스하려고 시도할 때 다음 문제가 발생합니다.
403 Forbidden, user does not have permission.
이 문제를 해결하려면 Identity and Access Management (IAM) 정책을 확인하여 워크로드 아이덴티티 풀에 Google Cloud 리소스에 대한 액세스 권한이 있는지 확인합니다. 자세한 내용은 워크로드 아이덴티티 제휴에 인증서 기반 액세스 구성을 참조하세요.
google.subject 속성에 대한 승인되지 않은 클라이언트 오류
백엔드가 속성 매핑을 기반으로 클라이언트 인증서에서 google.subject 속성 값을 추출할 수 없는 경우 다음 문제가 발생합니다.
Unauthorized_client: Could not obtain a value for google.subject from the given credential.
이 문제를 해결하려면 클라이언트 인증서를 검사하고 속성 매핑에서 참조하는 인증서 필드에 유효한 값이 포함되어 있는지 확인합니다.
컨텍스트 인식 액세스 바인딩을 사용 설정한 후 예기치 않은 액세스 거부
컨텍스트 인식 액세스 바인딩을 사용 설정한 후 컨텍스트 인식 액세스가 유효한 워크로드 요청을 예기치 않게 거부하면 다음 문제가 발생합니다.
이 문제를 해결하려면 컨텍스트 인식 액세스 바인딩을 테스트 실행 모드로 이동하여 액세스를 계속 평가하고 감사 로그를 생성하면서 트래픽을 차단 해제합니다.
gcloud alpha access-context-manager cloud-bindings update \
--binding=BINDING_ID \
--organization=ORG_ID \
--level= \
--dry-run-level=DRY_RUN_ACCESS_LEVEL_ID
다음을 바꿉니다.
BINDING_ID: 컨텍스트 인식 액세스 바인딩의 ID입니다.ORG_ID: 조직의 ID입니다.DRY_RUN_ACCESS_LEVEL_ID: 테스트 실행 액세스 수준의 전체 리소스 이름입니다(예:accessPolicies/POLICY_ID/accessLevels/ACCESS_LEVEL_NAME).
또는 컨텍스트 인식 액세스 바인딩을 삭제하여 트래픽을 즉시 차단 해제할 수 있습니다.
gcloud alpha access-context-manager cloud-bindings delete \
--binding=BINDING_ID \
--organization=ORG_ID
액세스 권한을 복원한 후 컨텍스트 인식 액세스 감사 로그를 검토하여 컨텍스트 인식 액세스에서 요청을 거부한 이유를 확인합니다.
엔터프라이즈 인증서 조건 검증 실패
엔터프라이즈 인증서 조건을 구성했더라도 액세스 수준에서 엔터프라이즈 인증서가 있는 기기에 대한 액세스를 거부하면 다음 문제가 발생합니다.
이 문제를 해결하려면 인증서 속성을 확인하고 디버깅을 위해 엔드포인트 확인 로그를 수집합니다.
- 관리 콘솔의 기기 세부정보 페이지에서 인증서 속성을 검토하여 커스텀 액세스 수준의 발급기관 및 속성과 일치하는지 확인합니다.
- Google Chrome 브라우저의 주소 표시줄에
chrome://policy를 입력하고AutoSelectCertificateForUrls가 머신 (또는 ChromeOS의 현재 사용자)으로 설정되어 있고 충돌 상태가 표시되지 않는지 확인합니다. - 엔드포인트 확인 확장 프로그램 로그를 다운로드하여 인증서 선택 오류를 검사합니다.
- 엔드포인트 확인 확장 프로그램을 마우스 오른쪽 버튼으로 클릭하고 옵션을 선택합니다.
- 로그 수준 > 모두 > 로그 다운로드를 선택합니다.
- 문제가 지속되면 Cloud Customer Care에서 지원 케이스를 열고 추가 디버깅을 위해 로그를 공유합니다.
휴대기기 문제
이 섹션에서는 액세스 수준이 있는 휴대기기를 사용할 때 발생할 수 있는 문제를 나열하고 각 문제를 해결하는 방법을 제안합니다.
액세스 수준에서 규정을 준수하는 휴대기기의 요청을 거부함
액세스 수준과 모바일 기기 관리 설정이 올바르게 구성되어 있어도 액세스 수준에서 Android 또는 iOS 휴대기기의 사용자 요청을 거부하면 다음 문제가 발생합니다.
이 문제는 서버 측 기기 상태가 새로고침되지 않았거나 조직 사용자 계정에 로그인한 상태에서 Safari 또는 Chrome에서 요청이 시작되지 않은 경우에 발생합니다.
이 문제를 해결하려면 조직 사용자 계정을 사용하여 Safari 또는 Chrome에서 요청이 시작되었는지 확인한 후 서버 측 기기 상태를 강제로 새로고침합니다.
Android 기기:
- 기기 브라우저에서
accounts.google.com에 로그인한 경우 계정에서 로그아웃합니다. - 기기의 설정 앱을 열고 계정으로 이동합니다.
- 기기에서 회사 Google 계정을 삭제합니다.
- 기기에 회사 Google 계정을 다시 추가합니다.
- 기기 브라우저에서
iOS 기기:
- 기기 브라우저에서
accounts.google.com에 로그인한 경우 계정에서 로그아웃합니다. - 기기에서 Google 앱(예: Gmail)을 엽니다.
- 기기에서 회사 Google 계정을 삭제합니다.
- 기기에 회사 Google 계정을 다시 추가합니다.
- 기기 브라우저에서