現在、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>