이 페이지는 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 |
정책의 내부 이름입니다. 원하는 경우 |
해당 사항 없음 | 필수 |
continueOnError |
정책이 실패할 경우 오류가 반환되도록 하려면 정책이 실패해도 흐름 실행이 계속되도록 하려면 |
false | 선택사항 |
enabled |
정책을 시행하려면 정책을 중지하려면 |
true | 선택사항 |
async |
이 속성은 지원이 중단되었습니다. |
false | 지원 중단됨 |
<DisplayName> 요소
name
속성 외에도 이 요소를 사용하여 관리 UI 프록시 편집기의 정책에 다른 자연어 이름으로 라벨을 지정합니다.
<DisplayName>Policy Display Name</DisplayName>
기본값 |
해당 사항 없음 이 요소를 생략하면 정책 |
---|---|
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 |