現在、Apigee と Apigee ハイブリッドのドキュメントを表示しています。
Apigee Edge のドキュメントを表示する
InvalidNameForAdditionalClaim
エラー メッセージ
Apigee UI または API を使用した API プロキシのデプロイに失敗すると、次のエラー メッセージが表示されます。
Error Saving Revision revision_number Invalid name for additional claim : policy(policy_name) claim(claim_name).
エラー メッセージの例
Error Saving Revision 2
Invalid name for additional claim : policy(JWT-Verify-RS256) claim(iss).
スクリーンショットの例
Apigee UI に、エラーを示すダイアログが表示されます。
原因
このエラーは、<AdditionalClaims>
要素の子要素 <Claim>
で使用されているクレームの名前が、次の登録名のいずれかに該当する場合に発生します。
kid、iss、sub、aud、iat、exp、nbf、jti
登録済みクレームは RFC 7519 で指定されています。
たとえば、<AdditionalClaims>
要素でクレーム名 iss
を使用すると、このエラーが発生します。
診断
エラー メッセージから Verify JWT ポリシー名とクレーム名を特定します。たとえば、次のエラー メッセージでは、Verify JWT ポリシーの名は
JWT-Verify-RS256
で、クレーム名はiss
です。Invalid name for additional claim : policy(JWT-Verify-RS256) claim(iss).
エラーが発生した Verify JWT ポリシー XML の
<AdditionalClaims>
要素で使用されたクレーム名が、ステップ 1 のエラー メッセージで特定されたクレーム名と一致することを確認します。たとえば、次のポリシーではクレームにiss
が指定されており、これはエラー メッセージの内容と一致します。<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <SecretKey> <Value ref="private.secretkey"/> <Id>1918290</Id> </SecretKey> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name="iss"/> </AdditionalClaims> </VerifyJWT>
<AdditionalClaims>
要素の子要素<Claim>
で使用されているクレーム名が、次の登録名のいずれかに該当するかどうかを確認します。kid、iss、sub、aud、iat、exp、nbf、jti
該当する場合は、それがエラーの原因です。
上記の Verify JWT ポリシーの例では、
<AdditionalClaims>
要素で<Claim>
名がiss
と指定されているため、エラーが発生します。Invalid name for additional claim : policy(JWT-Verify-RS256) claim(iss).
解決策
<AdditionalClaims>
要素の子要素 <Claim>
に、登録された名前(kid、iss、sub、aud、iat、exp、nbf、jti)は使用しないでください。
上記の Verify JWT ポリシーの例を修正するには、クレーム名を status
に変更します。
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<SecretKey>
<Value ref="private.secretkey"/>
<Id>1918290</Id>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalClaims>
<Claim name='status' type='string'>Development</Claim>
</AdditionalClaims>
</VerifyJWT>
InvalidTypeForAdditionalClaim
エラー メッセージ
Apigee UI または API を使用した API プロキシのデプロイに失敗すると、次のエラー メッセージが表示されます。
Error Saving Revision revision_number Invalid type for additional claim : policy(policy_name) claim(claim_name) type(type_name).
エラー メッセージの例
Error Saving Revision 2
Invalid type for additional claim : policy(JWT-Verify-RS256) claim(claim) type(integer).
スクリーンショットの例
Apigee UI に、エラーを示すダイアログが表示されます。
原因
VerifyJWT ポリシーの <AdditionalClaims>
要素の子要素 <Claim>
で使用されているクレームの型が、次のいずれにも該当しません。
string
(デフォルト)、number
、boolean
、または map
たとえば、<AdditionalClaims>
要素でクレームの型に integer
を使用すると、エラーが発生します。
診断
エラー メッセージから Verify JWT ポリシー名、クレーム名、クレームの型を特定します。たとえば、次のエラー メッセージでは、Verify JWT ポリシー名は
JWT-Verify-RS256
、クレーム名はclaim
、型はinteger:
です。Invalid type for additional claim : policy(JWT-Verify-RS256) claim(claim) type(integer).
エラーが発生した Verify JWT ポリシー XML の
<AdditionalClaims>
要素で使用されているクレーム名と型が、ステップ 1 のエラー メッセージで特定されたクレーム名と型に一致していることを確認します。たとえば、次のポリシーでは、クレームをclaim
、型をinteger
として指定しており、エラー メッセージの内容と一致します。<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <SecretKey> <Value ref="private.secretkey"/> <Id>1918290</Id> </SecretKey> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='integer'/> </AdditionalClaims> </VerifyJWT>
<AdditionalClaims>
要素の子要素<Claim>
で使用されたクレームの型が次の型に該当するかどうかを確認します。string
(デフォルト)、number
、boolean
、またはmap
該当する場合は、それがエラーの原因です。
上記の Verify JWT ポリシーの例では、
<AdditionalClaims>
要素の<Claim>
型がinteger
と指定されています。integer
はサポートされていない型のため、次のエラーが発生します。Invalid type for additional claim : policy(JWT-Verify-RS256) claim(claim) type(integer).
解決策
<AdditionalClaims>
要素の子要素 <Claim>
では、サポートされているデータ型(string
(デフォルト)、number
、boolean
、map
)のみが使用されるようにします。
上記の Verify JWT ポリシーの例を修正するには、クレームの型を boolean
に変更します。
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<SecretKey>
<Value ref="private.secretkey"/>
<Id>1918290</Id>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalClaims>
<Claim name='claim' ref='reqclaim' type='boolean'/>
</AdditionalClaims>
</VerifyJWT>
MissingNameForAdditionalClaim
エラー メッセージ
Apigee UI または API を使用した API プロキシのデプロイに失敗すると、次のエラー メッセージが表示されます。
Error Saving Revision revision_number Error occurred while validation of bean(policy_name.xml) Reason: - Required attribute name is missing in Claim.
エラー メッセージの例
Error Saving Revision 2
Error occurred while validation of bean JWT-Verify-RS256.xml. Reason: - Required attribute name is missing in Claim
スクリーンショットの例
Apigee UI に、エラーを示すダイアログが表示されます。
原因
このエラーは、<AdditionalClaims>
または <AdditionalHeaders>
要素の子要素 <Claim>
でクレーム名が指定されていない場合に発生します。
診断
エラー メッセージから Verify JWT ポリシー名を特定します。たとえば、次のエラー メッセージでは、Verify JWT ポリシー名は
JWT-Verify-RS256
です。Error occurred while validation of bean JWT-Verify-RS256.xml. Reason: - Required attribute name is missing in Claim
エラーが発生した Verify JWT ポリシーの XML を調べて、
<AdditionalClaims>
要素や<AdditionalHeaders>
要素の子要素<Claims>
にクレーム名が抜けていないか確認します。たとえば、次の Verify JWT ポリシーでは、<AdditionalClaims>
要素でクレーム名が指定されていません。<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <SecretKey> <Value ref="private.secretkey"/> <Id>1918290</Id> </SecretKey> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim ref='reqclaim' type='boolean'/> </AdditionalClaims> </VerifyJWT>
<AdditionalClaims>
要素に<Claim>
の名前が指定されていないため、エラーが発生します。Error occurred while validation of bean JWT-Verify-RS256.xml. Reason: - Required attribute name is missing in Claim
解決策
<AdditionalClaims>
要素や <AdditionalHeaders>
要素の子要素 <Claim>
では、常にクレーム名を指定するようにします。
上記の Verify JWT ポリシーの例を修正するには、次のようにクレーム名を指定します。
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<SecretKey>
<Value ref="private.secretkey"/>
<Id>1918290</Id>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalClaims>
<Claim name='claim' ref='reqclaim' type='boolean'/>
</AdditionalClaims>
</VerifyJWT>
InvalidNameForAdditionalHeader
エラー メッセージ
Apigee UI または API を使用した API プロキシのデプロイに失敗すると、次のエラー メッセージが表示されます。
Error Saving Revision revision_number Invalid name for additional header : policy(policy_name)header(header_name).
エラー メッセージの例
Error Saving Revision 2
Invalid name for additional header: policy(JWT-Verify-RS256) header(alg).
スクリーンショットの例
Apigee UI に、エラーを示すダイアログが表示されます。
原因
このエラーは、<AdditionalHeaders>
要素の子要素 <Claim>
で使用されているクレーム名が次の標準 JWT ヘッダーのいずれかに該当する場合に発生します。
alg
または typ
たとえば、<AdditionalHeaders>
要素の中でクレーム名に alg
を使用すると、エラーが発生します。
診断
エラー メッセージから Verify JWT ポリシー名とヘッダー名を特定します。たとえば、次のエラー メッセージでは、Verify JWT ポリシー名は
JWT-Verify-RS256
、ヘッダー名はalg
です。Invalid name for additional header: policy(JWT-Verify-RS256) header(alg).
エラーが発生した Verify JWT ポリシー XML の
<AdditionalHeaders>
要素の子要素<Claim>
で使用されているヘッダー名が、ステップ 1 のエラー メッセージで特定されたヘッダー名と一致していることを確認します。たとえば、次のポリシーではヘッダーにalg
が指定されており、これはエラー メッセージの内容と一致します。<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <SecretKey> <Value ref="private.secretkey"/> <Id>1918290</Id> </SecretKey> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalHeaders> <Claim name="alg"/> </AdditionalHeaders> </VerifyJWT>
<AdditionalClaims>
要素の子要素<Claim>
で使用されるヘッダー名が、次の標準 JWT ヘッダーのいずれかに該当するかどうかを確認します。alg
またはtyp
該当する場合は、それがエラーの原因です。
上記の Verify JWT ポリシーの例では、
<AdditionalClaims>
要素で<Claim>
名がalg
と指定されているため、エラーが発生します。Invalid name for additional header: policy(JWT-Verify-RS256) header(alg).
解決策
<AdditionalHeaders>
要素の子要素 <Claim>
で標準の JWT ヘッダー alg
や typ
を使用しないでください。
上記の Verify JWT ポリシーの例を修正するには、<AdditionalHeaders>
要素の子要素 <Claim>
に名前 x5c
を使用します。
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<SecretKey>
<Value ref="private.secretkey"/>
<Id>1918290</Id>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='x5c'/>
</AdditionalHeaders>
</VerifyJWT>
InvalidTypeForAdditionalHeader
エラー メッセージ
Apigee UI または API を使用した API プロキシのデプロイに失敗すると、次のエラー メッセージが表示されます。
Error Saving Revision revision_number Invalid type for additional header : policy(policy_name) claim(claim_name) type(type_name).
エラー メッセージの例
Error Saving Revision 2
Invalid type for additional header : policy(JWT-Verify-RS256) claim(claim1) type(integer).
スクリーンショットの例
Apigee UI に、エラーを示すダイアログが表示されます。
原因
このエラーは、Verify JWT ポリシーの <AdditionalHeaders>
要素の子要素 <Claim>
で使用されているクレームの型が、次のいずれにも該当しない場合に発生します。
string
(デフォルト)、number
、boolean
、または map
たとえば、<AdditionalHeaders>
要素の中でクレームの型に integer
を使用すると、エラーが発生します。
診断
エラー メッセージから Verify JWT ポリシー名、クレーム名、クレームの型を特定します。たとえば、次のエラー メッセージでは、Verify JWT ポリシー名は
JWT-Verify-RS256
、クレーム名はclaim
、クレームの型はinteger
です。Invalid type for additional header : policy(JWT-Verify-RS256) claim(claim) type(integer).
エラーが発生した Verify JWT ポリシー XML の
<AdditionalClaims>
要素で使用されているクレーム名と型が、ステップ 1 のエラー メッセージで特定されたクレーム名と型に一致していることを確認します。たとえば、次のポリシーでは、クレームをclaim
、クレームの型をinteger,
として指定しており、エラー メッセージの内容と一致します。<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <SecretKey> <Value ref="private.secretkey"/> <Id>1918290</Id> </SecretKey> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalHeaders> <Claim name='claim' ref='reqclaim' type='integer'/> </AdditionalHeaders> </VerifyJWT>
<AdditionalHeaders>
要素の子要素<Claim>
で使用されたクレームの型が次の型に該当するかどうかを確認します。string
(デフォルト)、number
、boolean
、またはmap
該当する場合は、それがエラーの原因です。
上記の Verify JWT ポリシーの例では、
<AdditionalHeaders>
要素の<Claim>
型がinteger
と指定されています。integer
はサポートされていない型のため、次のエラーが発生します。Invalid type for additional header : policy(JWT-Verify-RS256) claim(claim) type(integer).
解決策
<AdditionalHeaders>
要素の子要素 <Claim>
では、サポートされているデータ型(string
、number
、boolean
、map
)のみが使用されるようにします。
上記の Verify JWT ポリシーの例を修正するには、クレームの型を boolean
に変更します。
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<SecretKey>
<Value ref="private.secretkey"/>
<Id>1918290</Id>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='boolean'/>
</AdditionalHeaders>
</VerifyJWT>
InvalidValueOfArrayAttribute
エラー メッセージ
Apigee UI または API を使用した API プロキシのデプロイに失敗すると、次のエラー メッセージが表示されます。
Error Saving Revision revision_number Invalid value for array attribute: policy(policy_name)claim(claim_name).
エラー メッセージの例
Error Saving Revision 2
Invalid value for array attribute: policy(JWT-Verify-RS256) claim(claim).
スクリーンショットの例
Apigee UI に、エラーを示すダイアログが表示されます。
原因
このエラーは、<AdditionalClaims>
要素や <AdditionalHeaders>
要素の子要素 <Claim>
の配列属性の値が true
または false
に設定されていない場合に発生します。
たとえば、<AdditionalClaims>
または <AdditionalHeaders>
要素の子要素 <Claim>
で、配列属性の値を yes
に設定すると、エラーが発生します。
診断
エラー メッセージから Verify JWT ポリシー名とクレーム名を特定します。たとえば、次のエラー メッセージでは、Verify JWT ポリシー名は
JWT-Verify-RS256
、クレーム名はclaim
です。Invalid value for array attribute: policy(JWT-Verify-RS256) claim(claim).
エラーが発生した Verify JWT ポリシーの XML の
<AdditionalHeaders>
要素の子要素<Claim>
で使用されているクレームの名前が、ステップ 1 のエラー メッセージで識別されたクレーム名と一致していることを確認します。たとえば、次のポリシーではクレーム名にclaim
が指定されており、エラー メッセージの内容と一致します。<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <SecretKey> <Value ref="private.secretkey"/> <Id>1918290</Id> </SecretKey> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array='yes'/> </AdditionalClaims> </VerifyJWT>
<AdditionalClaims>
要素の子要素<Claim>
のarray
属性の値が、true
またはfalse
に設定されていない場合、これがエラーの原因です。上記の例では、
<AdditionalClaims>
要素の子要素<Claim>
でarray
属性がyes
に設定されているため、次のエラーが発生します。Invalid value for array attribute: policy(JWT-Verify-RS256) claim(claim).
解決策
<AdditionalClaims>
要素または <AdditionalHeaders>
要素の子要素 <Claim>
で配列属性の値が、true
または false
に設定されているかを確認してください。
上記の Verify JWT ポリシーの例を修正するには、配列属性の値を true
に変更します。
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<SecretKey>
<Value ref="private.secretkey"/>
<Id>1918290</Id>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</VerifyJWT>
InvalidValueForElement
エラー メッセージ
Apigee UI または API を使用した API プロキシのデプロイに失敗すると、次のエラー メッセージが表示されます。
Error Saving Revision Invalid Value for element : policy(policy_name) element(element_name).
エラー メッセージの例
Error Saving Revision
Invalid Value for element : policy(JWT-Verify-RS256) element(Algorithm).
スクリーンショットの例
Apigee UI に、エラーを示すダイアログが表示されます。
原因
このエラーは、<Algorithm>
要素で指定された値が、次のいずれにも該当しない場合に発生します。
HS256
、HS384
、HS512
、RS256
、RS384
、RS512
たとえば、<Algorithm>
要素でアルゴリズムの値を RS128
に設定すると、このエラーが発生します。
診断
エラー メッセージから Verify JWT ポリシー名と要素名を特定します。たとえば、次のエラー メッセージでは、Verify JWT ポリシー名は
JWT-Verify-RS256
、要素名はAlgorithm
です。Invalid Value for element : policy(JWT-Verify-RS256) element(Algorithm).
エラーが発生した Verify JWT ポリシーの XML を調べ、
<Algorithm>
要素に指定された値を確認します。Verify JWT ポリシーの例を次に示します。
<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS128</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <SecretKey> <Value ref="private.secretkey"/> <Id>1918290</Id> </SecretKey> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='status' type='string'>Development</Claim> </AdditionalClaims> </VerifyJWT>
<Algorithm>
要素に指定された値を調べます。次の値のいずれかに該当するかどうかを確認します。HS256
、HS384
、HS512
、RS256
、RS384
、RS512
該当する場合は、それがエラーの原因です。
上記の Verify JWT ポリシーの例では、
<Algorithm>
名にHS128
が指定されています。これはサポートされていないアルゴリズムのため、次のエラーが発生します。Invalid Value for element : policy(JWT-Verify-RS256) element(Algorithm).
解決策
<Algorithm>
要素には、サポートされている次の値のいずれかが指定されるようにします。
HS256
、HS384
、HS512
、RS256
、RS384
、RS512
上記の Verify JWT ポリシーの例を修正するには、<SecretKey>
要素を使用して、<Algorithm>
の値を HS25
に変更します。<SecretKey>
要素を使用する場合は、HS ファミリー アルゴリズムのみ使用できます。
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<SecretKey>
<Value ref="private.secretkey"/>
<Id>1918290</Id>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalClaims>
<Claim name='status' type='string'>Development</Claim>
</AdditionalClaims>
</VerifyJWT>
MissingConfigurationElement
エラー メッセージ
Apigee UI または API を使用した API プロキシのデプロイに失敗すると、次のエラー メッセージが表示されます。
Error Saving Revision Missing configuration element : policy(policy_name) element(element_name).
エラー メッセージの例
Error Saving Revision
Missing configuration element : policy(JWT-Verify-RS256) element(PublicKey).
スクリーンショットの例
Apigee UI に、エラーを示すダイアログが表示されます。
原因
このエラーは、Verify JWT ポリシー内の RSA ファミリー アルゴリズムで <PublicKey>
要素が使用されていない場合に発生します。同様に、Verify JWT ポリシー内の HS ファミリー アルゴリズムで <SecretKey>
要素が使用されていない場合にも、このエラーが発生します。
たとえば、RSA ファミリー アルゴリズムで <PublicKey>
要素が使用されていない場合、このエラーが発生します。
診断
エラー メッセージから Verify JWT ポリシー名と、欠落している要素名を特定します。たとえば、次のエラー メッセージでは、Verify JWT ポリシー名は
JWT-Verify-RS256
で、欠落している要素名はPublicKey
です。Missing configuration element : policy(JWT-Verify-RS256) element(PublicKey).
エラーが発生した Verify JWT ポリシーの XML を調べ、エラー メッセージに示されている要素が欠落していることを確認します。要素がない場合は、それがエラーの原因です。
たとえば、次のポリシーでは、
PublicKey
が欠落していて、使用しているAlgorithm
がRS256
であることを示しています。<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array='true'/> </AdditionalClaims> </VerifyJWT>
上記の Verify JWT ポリシーの例では HS ファミリー アルゴリズムが使用されていますが、必須の要素である
PublicKey
が欠落しているため、次のエラーが発生します。Missing configuration element : policy(JWT-Verify-RS256) element(PublicKey).
解決策
必須の <PublicKey>
要素は RSA ファミリー アルゴリズムで使用され、必須の <SecretKey>
要素は HS ファミリー アルゴリズムで使用されるようにします。
上記の RS256 アルゴリズムを使用する Verify JWT ポリシーの例を修正するには、Verify JWT ポリシーに <PublicKey>
要素を追加します。
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<Algorithm>RS256</Algorithm>
<PublicKey>
<Value ref="public.publickey"/>
</PublicKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</VerifyJWT>
InvalidKeyConfiguration
エラー メッセージ
Apigee UI または API を使用した API プロキシのデプロイに失敗すると、次のエラー メッセージが表示されます。
Error Saving RevisionInvalid Key configuration : policy(policy_name).
エラー メッセージの例
Error Saving Revision 2
Invalid Key configuration : policy(JWT-Verify-RS256).
スクリーンショットの例
Apigee UI に、エラーを示すダイアログが表示されます。
原因
このエラーは、子要素 <Value>
または必須の子要素 <JWKS>
が、Verify JWT ポリシーの <PublicKey>
要素または <SecretKey>
要素で定義されていない場合に発生します。
診断
エラー メッセージから Verify JWT ポリシー名を特定します。たとえば、次のエラー メッセージでは、Verify JWT ポリシー名は
JWT-Verify-RS256
です。Invalid Key configuration : policy(JWT-Verify-RS256).
エラーが発生した Verify JWT ポリシーの XML を調べ、子要素
<Value>
または子要素<JWKS>
が<PublicKey>
要素または<SecretKey>
要素で定義されていないかどうかを確認します。子要素が定義されていない場合は、それがエラーの原因です。たとえば、次のポリシーでは、子要素
<Value>
または<JWKS>
が<PublicKey>
要素で定義されていないことを示しています。<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <ExpiresIn>1h</ExpiresIn> <PublicKey> </PublicKey> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array='true'/> </AdditionalClaims> </VerifyJWT>
Verify JWT ポリシーの
<PublicKey>
要素で、子要素<Value>
または<JWKS>
が定義されていないため、次のエラーが発生します。Invalid Key configuration : policy(JWT-Verify-RS256).
解決策
Verify JWT ポリシーの <PublicKey>
要素で子要素 <Value>
または <JWKS>
を必ず定義してください。
上記の Verify JWT ポリシーの例を修正するには、以下に示すように、<PublicKey>
要素で子要素 <Value>
または <JWKS>
を定義します。
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<PublicKey>
<Value ref="public.publickey"/>
</PublicKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</PublicJWT>
EmptyElementForKeyConfiguration
エラー メッセージ
Apigee UI または API を使用した API プロキシのデプロイに失敗すると、次のエラー メッセージが表示されます。
Error Saving Revision revision_number Empty Element for Key Configuration : policy(policy_name) element(element_name).
エラー メッセージの例
Error Saving Revision 2
Empty Element for Key Configuration : policy(JWT-Verify-RS256) element(PublicKey/Value).
スクリーンショットの例
Apigee UI に、エラーを示すダイアログが表示されます。
原因
このエラーは、<PublicKey>
要素の子要素 <Value>
または <JWKS>
で、参照属性が指定されていないか空の場合に発生します。
たとえば、<PublicKey>
要素の子要素 <Value>
が空の場合、このエラーが発生します。
診断
エラー メッセージから空の Verify JWT ポリシー名と要素名を特定します。たとえば、次のエラー メッセージでは、Verify JWT ポリシー名は
JWT-Verify-RS256
、要素名はPublicKey/Value
です。Empty Element for Key Configuration : policy(JWT-Verify-RS256) element(PublicKey/Value).
エラーが発生した Verify JWT ポリシーの XML を調べ、ステップ 1 で特定された要素が空であることを確認します。要素が空の場合は、それがエラーの原因です。
たとえば、次のポリシーでは、
<PublicKey>
要素の子要素<Value>
が空であることを示しています。<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <ExpiresIn>1h</ExpiresIn> <PublicKey> <Value/> </PublicKey> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array='true'/> </AdditionalClaims> </VerifyJWT>
Verify JWT ポリシーの
<PublicKey>
要素の子要素<Value>
が空であるため、次のエラーが発生します。Empty Element for Key Configuration : policy(JWT-Verify-RS256) element(PublicKey/Value).
解決策
<PublicKey>
要素の子要素 <Value>
または <JWKS>
には、参照属性を必ず指定してください。
上記の Verify JWT ポリシーの例を修正するには、<PublicKey>
要素の子要素 <Value>
でフロー変数 public.publickey
を使用します。
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<PublicKey>
<Value ref="public.publickey"/>
</PublicKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</VerifyJWT>
InvalidConfigurationForVerify
エラー メッセージ
Apigee UI または API を使用した API プロキシのデプロイに失敗すると、次のエラー メッセージが表示されます。
Error Saving Revision revision_number Invalid configuration element for verify : policy(policy_name) element(element_name).
エラー メッセージの例
Error Saving Revision 3
Invalid configuration element for verify : policy(JWT-Verify-HS256) element(SecretKey/Id).
スクリーンショットの例
Apigee UI に、エラーを示すダイアログが表示されます。
原因
このエラーは、Verify JWT ポリシーの <SecretKey>
要素内で、要素 <Id>
が定義されている場合に発生します。
たとえば、要素 <Id>
が <SecretKey>
要素で定義されている場合、このエラーが発生します。
診断
エラー メッセージから Verify JWT ポリシー名と無効な要素名を特定します。たとえば、次のエラー メッセージでは、Verify JWT ポリシー名は
JWT-Verify-RS256
で、要素名はSecretKey/Id
です。Invalid configuration element for verify : policy(JWT-Verify-HS256) element(SecretKey/Id)
エラーが発生した Verify JWT ポリシーの XML を調べ、ステップ 1 で特定された無効な要素が定義されていることを確認します。無効な要素が定義されている場合、それがエラーの原因です。
たとえば、次のポリシーでは、
<SecretKey>
要素の子要素<Id>
が定義されていることを示しています。<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <ExpiresIn>1h</ExpiresIn> <SecretKey> <Value ref="private.secretkey"/> <Id/> </SecretKey> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array='true'/> </AdditionalClaims> </VerifyJWT>
要素
<Id>
が Verify JWT ポリシーの<SecretKey>
要素内で定義されているため、次のエラーが発生します。Invalid configuration element for verify : policy(JWT-Verify-HS256) element(SecretKey/Id)
解決策
Verify JWT ポリシーの <SecretKey>
要素内で、要素 <Id>
が定義されていないことを確認します。
上記の Verify JWT ポリシーの例を修正するには、<SecretKey>
要素から子要素 <Id>
を削除します。
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<SecretKey>
<Value ref='private.secretkey'/>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</VerifyJWT>
InvalidEmptyElement
エラー メッセージ
Apigee UI または API を使用した API プロキシのデプロイに失敗すると、次のエラー メッセージが表示されます。
Error Saving RevisionInvalid empty element : policy(policy_name) element(element_name).
エラー メッセージの例
Error Saving Revision 3
Invalid empty element : policy(JWT-Verify-HS256) element(Source).
スクリーンショットの例
Apigee UI に、エラーを示すダイアログが表示されます。
原因
このエラーは、Verify JWT ポリシーの <Source>
要素が空の場合に発生します。この要素が存在する場合は、フロー変数名で定義されている必要があります。
診断
エラー メッセージから Verify JWT ポリシー名と空の要素名を特定します。たとえば、次のエラー メッセージでは、Verify JWT ポリシー名は
JWT-Verify-RS256
で、要素名はPublicKey/Value
です。Invalid empty element : policy(JWT-Verify-HS256) element(Source).
エラーが発生した Verify JWT ポリシーの XML を調べ、ステップ 1 で特定された要素が空であることを確認します。要素が空の場合は、それがエラーの原因です。
たとえば、次のポリシーでは、要素
<Source>
が空であることを示しています。<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <ExpiresIn>1h</ExpiresIn> <Source></Source> <PublicKey> <Value ref="public.publickey"/> </PublicKey> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array='true'/> </AdditionalClaims> </VerifyJWT>
Verify JWT ポリシーの
<Source>
要素が空のため、次のエラーが発生します。Invalid empty element : policy(JWT-Verify-HS256) element(Source).
解決策
Verify JWT ポリシーの <Source>
要素が存在する場合は、フロー変数を指定しているか確認してください。
上記の Verify JWT ポリシーの例を修正するには、<Source>
要素で有効なフロー変数を使用します。
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<Source>jwt-variable</Source>
<PublicKey>
<Value ref="public.publickey"/>
</PublicKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</VerifyJWT>
InvalidPublicKeyValue
エラー メッセージ
Apigee UI または API を使用した API プロキシのデプロイに失敗すると、次のエラー メッセージが表示されます。
Error Saving Revision revision_number Invalid Public Key Value in Configuration : policy(policy_name) element(element_name).
エラー メッセージの例
Error Saving Revision 2
Invalid Public Key Value in Configuration : policy(JWT-Verify-RS256) element(PublicKey/JWKS).
スクリーンショットの例
Apigee UI に、エラーを示すダイアログが表示されます。
原因
このエラーは、<PublicKey>
要素の子要素 <JWKS>
で使用されている値が、RFC 7517 で指定された有効な形式でない場合に発生します。
たとえば、<PublicKey>
要素の子要素 <JWKS>
の値として abc
が使用されている場合、このエラーが発生します。
診断
エラー メッセージから、無効な値を含む Verify JWT ポリシー名と要素名を特定します。たとえば、次のエラー メッセージでは、Verify JWT ポリシー名は
JWT-Verify-RS256
で、要素はPublicKey/JWKS
です。Invalid Public Key Value in Configuration : policy(JWT-Verify-RS256) element(PublicKey/JWKS).
エラーが発生した Verify JWT ポリシーの XML を調べ、ステップ 1 で特定された要素に、RFC 7517 に従った有効な形式の値が含まれていることを確認します。要素の値の形式が正しくない場合、これがエラーの原因です。
<VerifyJWT name="JWT-Verify-RS256"> <DisplayName>JWT Verify RS256</DisplayName> <Algorithm>RS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <PublicKey> <JWKS>abc<JWKS> </PublicKey> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> </VerifyJWT>
<PublicKey>
要素の子要素<JWKS>
の値が RFC 7517 に従った有効な形式ではないため、次のエラーが発生します。Invalid Public Key Value in Configuration : policy(JWT-Verify-RS256) element(PublicKey/JWKS).
解決策
<PublicKey>
要素の子要素 <JWKS>
で指定された値が、有効な JWKS 形式(RFC 7517)の有効な文字列またはフロー変数であることを確認してください。
上記の Verify JWT ポリシーの例を修正するには、次のように <JWKS>
の値を変更します。
<VerifyJWT name="JWT-Verify-RS256">
<DisplayName>JWT Verify RS256</DisplayName>
<Algorithm>RS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<PublicKey>
<JWKS>eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJ1c2VySWQiOiJiMDhmODZhZi0zNWRhLTQ4ZjItOGZhYi1jZWYzOTA0NjYwYmQifQ.-xN_h82PHVTCMA9vdoHrcZxH-x5mb11y1537t3rGzcM</JWKS>
</PublicKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
</VerifyJWT>
InvalidConfigurationForActionAndAlgorithm
エラー メッセージ
Apigee UI または API を使用した API プロキシのデプロイに失敗すると、次のエラー メッセージが表示されます。
Error Saving Revision <var>revision_number</var>
Invalid configuration element for this action and algorithm Family: policy(<var>policy_name</var>) element(<var>element_name</var>) action(<var>action_name</var>) family(<var>family_name</var>).
エラー メッセージの例
Error Saving Revision
Invalid configuration element for this action and algorithm Family: policy(JWT-Verify-HS256) element(PublicKey) action(Verify) family(RSA).
スクリーンショットの例
Apigee UI に、エラーを示すダイアログが表示されます。
原因
このエラーは、<PublicKey>
要素が HS ファミリー アルゴリズムで使用され、<SecretKey>
要素が RSA ファミリー アルゴリズムで使用される場合に発生します。また、この条件のどちらかが満たされる場合にも発生します。
たとえば、<PublicKey>
要素を HS ファミリー アルゴリズムで使用すると、このエラーが発生します。
診断
エラー メッセージから、Verify JWT ポリシー名、要素名、アルゴリズム ファミリー名を特定します。たとえば、次のエラー メッセージでは、Verify JWT ポリシー名は
JWT-Verify-HS256
、要素名はPublicKey
、アルゴリズム ファミリー名はRSA
です。Invalid configuration element for this action and algorithm Family: policy(JWT-Verify-HS256) element(PublicKey) action(Verify) family(RSA).
エラーが発生した Verify JWT ポリシー XML で使用されている要素とアルゴリズム ファミリーが、ステップ 1 のエラー メッセージで特定された要素とアルゴリズム ファミリーと一致していることを確認します。たとえば、次のポリシーでは、要素を
PublicKey
、アルゴリズム ファミリーをHMAC
と指定しています。これはエラー メッセージの内容と一致します。<VerifyJWT name="JWT-Verify-HS256"> <DisplayName>JWT Verify HS256</DisplayName> <Algorithm>HS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <Source>request.formparam.jwt</Source> <PublicKey> <Value ref="var-value"/> </PublicKey> <SecretKey> <Value ref="private.secretkey"/> </SecretKey> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-edge-JWT-policy-test</Issuer> <Audience>fans</Audience> </VerifyJWT>
<Algorithm>
要素の値はHS256
ですが、<PublicKey>
を使用しているため、これがエラーの原因になります。上記の Verify JWT ポリシーの例では、
<Algorithm>
がファミリー アルゴリズム HS256 に設定されているにもかかわらず、<PublicKey>
要素が使用されているため、次のエラーが発生します。Invalid configuration element for this action and algorithm Family: policy(JWT-Verify-HS256) element(PublicKey) action(Verify) family(RSA).
解決策
<PublicKey>
要素は RSA ファミリー アルゴリズムでのみ使用し、<SecretKey>
要素は HS ファミリー アルゴリズムでのみ使用します。
上記の Verify JWT ポリシーの例を修正するには、HS256 アルゴリズムを使用する Verify JWT ポリシーの <SecretKey>
を使用します。
<VerifyJWT name="JWT-Verify-HS256">
<DisplayName>JWT Verify HS256</DisplayName>
<Algorithm>HS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<Source>request.formparam.jwt</Source>
<SecretKey>
<Value ref="private.secretkey"/>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-edge-JWT-policy-test</Issuer>
<Audience>fans</Audience>
</VerifyJWT>