BasicAuthentication 정책 배포 오류 문제 해결

ApigeeApigee Hybrid 문서입니다.
Apigee Edge 문서 보기

UserNameRequired

오류 메시지

다음 오류 메시지와 함께 Apigee UI 또는 API를 통한 API 프록시의 배포가 실패합니다.

Error Deploying Revision revision_number to env_name
BasicAuthenticationPolicy: Username element must be present for operation operation.

오류 메시지 예

Error Deploying Revision 2 to test
BasicAuthenticationPolicy: Username element must be present for Encode operation.

예시 스크린샷

원인

<User> 요소가 BasicAuthentication 정책에 정의되지 않은 경우 API 프록시 배포는 실패합니다. 인코딩 및 디코딩 작업의 경우 <User> 요소는 필수입니다.

진단

  1. API 프록시에 사용되는 모든 BasicAuthentication 정책을 검토합니다. <User> 요소가 지정되지 않은 정책이 있는 경우 이는 오류의 원인이 됩니다. <User> 요소는 인코딩 또는 디코딩 작업의 BasicAuthentication 정책에서 필수입니다.

    아래의 샘플 BasicAuthentication 정책은 인코딩 작업에 사용되지만 <User> 요소가 정의되어 있지 않습니다.

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <BasicAuthentication name="ApplyBasicAuthHeader">
      <DisplayName>ApplyBasicAuthHeader</DisplayName>
      <Operation>Encode</Operation>
      <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
      <Password ref="BasicAuth.credentials.password"/>
      <AssignTo createNew="false">request.header.Authorization</AssignTo>
    </BasicAuthentication>
    

    다음 오류와 함께 배포가 실패합니다.

    BasicAuthenticationPolicy: Username element must be present for Encode operation.
    

해결 방법

<User> 요소가 인코딩 또는 디코딩 작업의 BasicAuthentication 정책 내에 정의되어 있는지 확인합니다.

위에 표시된 예시를 수정하려면 아래와 같이 정책 내에 <User> 요소를 포함합니다.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<BasicAuthentication name="ApplyBasicAuthHeader">
    <DisplayName>ApplyBasicAuthHeader</DisplayName>
    <Operation>Encode</Operation>
    <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
    <User ref="BasicAuth.credentials.username"/>
    <Password ref="BasicAuth.credentials.password"/>
    <AssignTo createNew="false">request.header.Authorization</AssignTo>
</BasicAuthentication>

PasswordRequired

오류 메시지

다음 오류 메시지와 함께 Apigee UI 또는 API를 통한 API 프록시의 배포가 실패합니다.

Error Deploying Revision revision_number to env_name
BasicAuthenticationPolicy: Password element must be present for operation operation.

오류 메시지 예

Error Deploying Revision 2 to test
BasicAuthenticationPolicy: Password element must be present for Encode operation.

예시 스크린샷

원인

<Password> 요소가 BasicAuthentication 정책에 정의되지 않은 경우 API 프록시 배포는 실패합니다. 인코딩 및 디코딩 작업의 경우 <Password> 요소는 필수입니다.

진단

  1. API 프록시에 사용되는 모든 BasicAuthentication 정책을 검토합니다. <Password> 요소가 정의되지 않은 정책이 있는 경우 이는 오류의 원인이 됩니다. <Password> 요소는 인코딩 또는 디코딩 작업의 BasicAuthentication 정책에서 필수입니다.

    아래의 샘플 BasicAuthentication 정책은 인코딩 작업에 사용되지만 <Password> 요소가 정의되어 있지 않습니다.

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <BasicAuthentication name="ApplyBasicAuthHeader">
      <DisplayName>ApplyBasicAuthHeader</DisplayName>
      <Operation>Encode</Operation>
      <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
      <User ref="BasicAuth.credentials.username"/>
      <AssignTo createNew="false">request.header.Authorization</AssignTo>
    </BasicAuthentication>
    

    다음 오류와 함께 배포가 실패합니다.

    BasicAuthenticationPolicy: Password element must be present for Encode operation.
    

해결 방법

<Password> 요소가 인코딩 또는 디코딩 작업의 BasicAuthentication 정책 내에 정의되어 있는지 확인합니다.

위에 표시된 예시를 수정하려면 아래와 같이 정책 내에 <Password> 요소를 포함합니다.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<BasicAuthentication name="ApplyBasicAuthHeader">
    <DisplayName>ApplyBasicAuthHeader</DisplayName>
    <Operation>Encode</Operation>
    <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
    <User ref="BasicAuth.credentials.username"/>
    <Password ref="BasicAuth.credentials.password"/>
    <AssignTo createNew="false">request.header.Authorization</AssignTo>
</BasicAuthentication>

AssignToRequired

오류 메시지

다음 오류 메시지와 함께 Apigee UI 또는 API를 통한 API 프록시의 배포가 실패합니다.

Error Deploying Revision revision_number to env_name
BasicAuthenticationPolicy: AssignTo element must be present for operation operation.

오류 메시지 예

Error Deploying Revision 2 to test
BasicAuthenticationPolicy: AssignTo element must be present for Encode operation.

예시 스크린샷

원인

<AssignTo> 요소가 BasicAuthentication 정책에 정의되지 않은 경우 API 프록시 배포는 실패합니다. 인코딩 및 디코딩 작업의 경우 <AssignTo> 요소는 필수입니다.

진단

  1. API 프록시에 사용되는 모든 BasicAuthentication 정책을 검토합니다. <AssignTo> 요소가 정의되지 않은 정책이 있는 경우 이는 오류의 원인이 됩니다. <AssignTo> 요소는 인코딩 및 디코딩 작업의 BasicAuthentication 정책에 정의되어야 합니다.

    아래의 샘플 BasicAuthentication 정책은 인코딩 작업에 사용되지만 <AssignTo> 요소가 정의되어 있지 않습니다.

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <BasicAuthentication name="ApplyBasicAuthHeader">
      <DisplayName>ApplyBasicAuthHeader</DisplayName>
      <Operation>Encode</Operation>
      <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
      <User ref="BasicAuth.credentials.username"/>
      <Password ref="BasicAuth.credentials.password"/>
    </BasicAuthentication>
    

    다음 오류와 함께 배포가 실패합니다.

    BasicAuthenticationPolicy: AssignTo element must be present for Encode operation.
    

해결 방법

<AssignTo> 요소가 인코딩 또는 디코딩 작업의 BasicAuthentication 정책 내에 정의되어 있는지 확인합니다.

위에 표시된 예시를 수정하려면 아래와 같이 정책 내에 <AssignTo> 요소를 포함합니다.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<BasicAuthentication name="ApplyBasicAuthHeader">
    <DisplayName>ApplyBasicAuthHeader</DisplayName>
    <Operation>Encode</Operation>
    <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
    <User ref="BasicAuth.credentials.username"/>
    <Password ref="BasicAuth.credentials.password"/>
    <AssignTo createNew="false">request.header.Authorization</AssignTo>
</BasicAuthentication>

SourceRequired

오류 메시지

다음 오류 메시지와 함께 Apigee UI 또는 API를 통한 API 프록시의 배포가 실패합니다.

Error Deploying Revision revision_number to env_name
BasicAuthenticationPolicy: Source element must be present for Decode operation.

오류 메시지 예

Error Deploying Revision 2 to test
BasicAuthenticationPolicy: Source element must be present for Decode operation.

예시 스크린샷

원인

디코딩 작업에 사용되는 BasicAuthentication 정책에 <Source> 요소가 정의되지 않으면 API 프록시 배포는 실패합니다. BasicAuthentication 정책에서 <Operation>Decode로 지정된 경우 <Source> 요소는 필수입니다.

진단

  1. API 프록시에 사용되는 모든 BasicAuthentication 정책을 검토합니다. <Source> 요소가 정의되지 않고 <Operation> 요소가 Decode로 정의된 정책이 있는 경우 이는 오류의 원인이 됩니다. BasicAuthentication 정책에서 <Operation>Decode로 지정된 경우 <Source> 요소는 필수입니다.

    아래의 샘플 BasicAuthentication 정책은 Decode 작업에 사용되지만 <Source> 요소가 정의되어 있지 않습니다.

    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <BasicAuthentication name="ApplyBasicAuthHeader">
      <DisplayName>ApplyBasicAuthHeader</DisplayName>
      <Operation>Decode</Operation>
      <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
      <User ref="BasicAuth.credentials.username"/>
      <Password ref="BasicAuth.credentials.password"/>
      <AssignTo createNew="false">request.header.Authorization</AssignTo>
    </BasicAuthentication>
    

    다음 오류와 함께 배포가 실패합니다.

    BasicAuthenticationPolicy: Source element must be present for Decode operation.
    

해결 방법

<Source> 요소가 Decode 작업에 사용될 때 BasicAuthentication 정책에 요소가 정의되었는지 확인합니다.

위에 표시된 예시를 수정하려면 아래와 같이 정책 내에 <Source> 요소를 포함합니다.

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<BasicAuthentication name="ApplyBasicAuthHeader">
    <DisplayName>ApplyBasicAuthHeader</DisplayName>
    <Operation>Decode</Operation>
    <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
    <User ref="BasicAuth.credentials.username"/>
    <Password ref="BasicAuth.credentials.password"/>
    <AssignTo createNew="false">request.header.Authorization</AssignTo>
    <Source>request.header.Authorization</Source>
</BasicAuthentication>