VerifyIAM 정책

이 페이지는 Apigee에 적용되지만 Apigee Hybrid에는 적용되지 않습니다.

Apigee Edge 문서 보기

개요

VerifyIAM은 OAuthv2 정책과 마찬가지로 API 액세스를 위한 인증 및 승인을 관리하는 Google Cloud IAM 기반 방법의 일부입니다. IAM 기반 액세스 제어 솔루션에 VerifyIAM을 포함하는 방법에 관한 자세한 내용은 IAM 기반 API 인증 개요를 참고하세요.

이 정책은 표준 정책이며 모든 환경 유형에 배포할 수 있습니다. 정책 유형과 각 환경 유형에서의 가용성에 대한 자세한 내용은 정책 유형을 참조하세요.

요소 참조

이 참조에서는 VerifyIAM 정책의 요소와 속성을 보여줍니다.

<VerifyIAM async="false" continueOnError="false" enabled="true" name="MyVerifyIAMPolicy">
    <DisplayName>Custom label used in UI</DisplayName>
    <CredentialSource>flow_variable_name_containing_credential_value</CredentialSource>
</VerifyIAM>

<VerifyIAM> 속성

<VerifyIAM async="false" continueOnError="false" enabled="true" name="MyVerifyIAMPolicy">

다음 표는 모든 정책 상위 요소의 공통 속성에 대해 설명합니다.

속성 설명 기본값 Presence
name

정책의 내부 이름입니다. name 속성의 값에는 문자, 숫자, 공백, 하이픈, 밑줄, 마침표가 포함될 수 있습니다. 이 값은 255자(영문 기준)를 초과할 수 없습니다.

원하는 경우 <DisplayName> 요소를 사용하여 관리 UI 프록시 편집기의 정책에 다른 자연어 이름을 사용하여 정책에 라벨을 지정합니다.

해당 사항 없음 필수
continueOnError

정책이 실패할 경우 오류가 반환되도록 하려면 false로 설정합니다. 이는 대부분의 정책에서 예상되는 동작입니다.

정책이 실패해도 흐름 실행이 계속되도록 하려면 true로 설정합니다. 참조:

false 선택사항
enabled

정책을 시행하려면 true로 설정합니다.

정책을 중지하려면 false로 설정합니다. 정책이 흐름에 연결되어 있어도 정책이 시행되지 않습니다.

true 선택사항
async

이 속성은 지원이 중단되었습니다.

false 지원 중단됨

<DisplayName> 요소

name 속성 외에도 이 요소를 사용하여 관리 UI 프록시 편집기의 정책에 다른 자연어 이름으로 라벨을 지정합니다.

<DisplayName>Policy Display Name</DisplayName>
기본값

해당 사항 없음

이 요소를 생략하면 정책 name 속성 값이 사용됩니다.

Presence 선택사항
유형 문자열

<CredentialSource> 요소

<CredentialSource>flow_variable_name_containing_credential_value</CredentialSource>

이 요소는 사용자 인증 정보 값이 포함된 흐름 변수를 지정하며 다음과 같은 특성을 갖습니다.

  • 일반적으로 클라이언트는 쿼리 매개변수, HTTP 헤더, 양식 매개변수로 값을 보냅니다. 문자열은 request.queryparam.token 형식으로 해당 흐름 변수를 지정해야 합니다.
  • 참조에서 읽을 때는 직접 값이 예상됩니다. 예를 들어 'Bearer'가 접두사로 표시되어서는 안 됩니다.
  • 생략하면 정책 실행은 값이 승인 헤더에 있고 표준 형식인 'Bearer xyz'라고 가정합니다.
기본값 해당 사항 없음
Presence 선택사항
유형 흐름 변수

예를 들면 다음과 같습니다.

<VerifyIAM async="false" continueOnError="false" enabled="true" name="Verify-IAM-Permissions-1">
    <DisplayName>VerifyIAM policy for flow 1</DisplayName>
    <CredentialSource>request.queryparam.token</CredentialSource>
</VerifyIAM>

오류 참조

이 섹션에서는 반환되는 오류 코드 및 오류 메시지와 이 정책이 오류를 트리거할 때 Apigee에서 설정한 오류 변수를 설명합니다. 오류를 처리하기 위해 오류 규칙을 개발 중인 경우 이 정보는 중요합니다. 자세한 내용은 정책 오류에 대해 알아야 할 사항오류 처리를 참조하세요.

런타임 오류

이러한 오류는 정책이 실행될 때 발생할 수 있습니다.

오류 코드 HTTP 상태 원인
steps.verifyiam.CredentialSourceRefUnresolved 400 사용자 인증 정보 소스 내에 제공된 흐름 변수를 확인할 수 없습니다.
steps.verifyiam.CredentialValueNotProvided 400 사용자 인증 정보를 찾을 수 없습니다. 사용자 인증 정보 소스 참조가 제공되지 않으면 승인 헤더와 같은 기본 위치를 조사합니다.
steps.verifyiam.Forbidden 403 충분한 권한이 없거나 액세스 범위가 누락되었거나 기타 관련 문제로 인해 요청이 전달되지 않을 수 있습니다.
steps.verifyiam.MiscellaneousAuthorizationConfigurationError 500 IAM 인증 요청에 문제가 있습니다. API 작성자가 오류 응답의 세부정보를 기반으로 이 오류를 해결해야 합니다.
steps.verifyiam.Unauthorized 401 잘못되었거나 만료된 값과 같이 사용자 인증 정보에 문제가 있습니다.
steps.verifyiam.UnexpectedAuthorizationInfrastructureError 500 내부 오류입니다.

배포 오류

이 정책은 정책 관련 배포 오류를 반환하지 않습니다.

오류 변수

이러한 변수는 이 정책이 런타임 시 오류를 트리거할 때 설정됩니다.

변수 장소
fault.name="fault_name" fault_name은 위의 런타임 오류 표에 나열된 오류 이름입니다. 오류 이름은 오류 코드의 마지막 부분입니다. fault.name="Unauthorized"
verifyiam.policy_name.failed policy_name은 오류를 발생시킨 정책의 사용자 지정 이름입니다. verifyiam.Verify-IAMToken.failed = true