現在、Apigee と Apigee ハイブリッドのドキュメントを表示しています。
Apigee Edge のドキュメントを表示する
InvalidNameForAdditionalClaim
エラー メッセージ
Apigee UI または API を使用した API プロキシのデプロイに失敗すると、次のエラー メッセージが表示されます。
Error Saving Revision 2 Invalid name for additional claim : policy(policy_name) claim(claim_name).
エラー メッセージの例
Error Saving Revision 2
Invalid name for additional claim : policy(JWT-Generate-HS256) claim(iss).
スクリーンショットの例
Apigee UI に、エラーを示すダイアログ ボックスが表示されます。
原因
このエラーは、<AdditionalClaims>
要素の子要素 <Claim>
で使用されているクレームの名前が、次の登録名のいずれかに該当する場合に発生します。
kid、iss、sub、aud、iat、exp、nbf、jti
登録済みクレームは RFC 7519 で指定されています。
たとえば、<AdditionalClaims>
要素でクレーム名 iss
を使用すると、このエラーが発生します。
診断
エラー メッセージで GenerateJWT ポリシーの名前とクレーム名を特定します。たとえば、次のエラー メッセージでは、GenerateJWT ポリシー名は
JWT-Generate-HS256
、クレーム名はiss
です。Invalid name for additional claim : policy(JWT-Generate-HS256) claim(iss).
失敗した GenerateJWT ポリシー XML の
<AdditionalClaims>
要素で使用されているクレーム名が、エラー メッセージで特定したクレーム名(上記の手順 1)と一致していることを確認します。たとえば、次のポリシーではクレームにiss
が指定されており、これはエラー メッセージの内容と一致します。<GenerateJWT name="JWT-Generate-HS256"> <DisplayName>JWT Generate HS256</DisplayName> <Algorithm>HS256</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-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name="iss"/> </AdditionalClaims> </GenerateJWT>
<AdditionalClaims>
要素の子要素<Claim>
で使用されているクレーム名が、次の登録名のいずれかに該当するかどうかを確認します。kid、iss、sub、aud、iat、exp、nbf、jti
該当する場合は、それがエラーの原因です。
上記の GenerateJWT ポリシーの例では、
<AdditionalClaims>
要素で<Claim>
の name にiss
が指定されているため、エラーが発生します。Invalid name for additional claim : policy(JWT-Generate-HS256) claim(iss).
解決策
<AdditionalClaims>
要素の子要素 <Claim>
に、登録された名前(kid、iss、sub、aud、iat、exp、nbf、jti)は使用しないでください。
上記の GenerateJWT ポリシーの例を修正するには、クレームの name を status
に変更します。
<GenerateJWT name="JWT-Generate-HS256">
<DisplayName>JWT Generate HS256</DisplayName>
<Algorithm>HS256</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-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalClaims>
<Claim name='status' type='string'>Development</Claim>
</AdditionalClaims>
</GenerateJWT>
InvalidTypeForAdditionalClaim
エラー メッセージ
Apigee UI または API を使用した API プロキシのデプロイに失敗すると、次のエラー メッセージが表示されます。
Error Saving Revision 2 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-Generate-HS256) claim(claim) type(integer).
スクリーンショットの例
Apigee UI に、エラーを示すダイアログ ボックスが表示されます。
原因
このエラーは、GenerateJWT ポリシーの <AdditionalClaims>
要素の子要素 <Claim>
で使用されているクレームの型が、次のいずれかでない場合に発生します。
string
(デフォルト)、number
、boolean
、または map
たとえば、<AdditionalClaims>
要素の中でクレームの型に integer
を使用すると、エラーが発生します。
診断
エラー メッセージで GenerateJWT ポリシーの名前、クレーム名、クレームの型を特定します。たとえば、次のエラー メッセージでは、GenerateJWT ポリシーの名前は
JWT-Generate-HS256
、クレーム名はclaim
、クレームの型はinteger
です。Invalid type for additional claim : policy(JWT-Generate-HS256) claim(claim) type(integer).
エラーが発生した GenerateJWT ポリシーの XML で、
<AdditionalClaims>
要素で使用されているクレーム名と型が、手順 1 のエラー メッセージで特定したクレームの名前と型に一致していることを確認します。たとえば、次のポリシーでは、クレームをclaim
、型をinteger
として指定しており、エラー メッセージの内容と一致します。<GenerateJWT name="JWT-Generate-HS256"> <DisplayName>JWT Generate HS256</DisplayName> <Algorithm>HS256</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-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='integer'/> </AdditionalClaims> </GenerateJWT>
<AdditionalClaims>
要素の子要素<Claim>
で使用されたクレームの型が次の型に該当するかどうかを確認します。string
(デフォルト)、number
、boolean
、またはmap
該当する場合は、それがエラーの原因です。
上記の GenerateJWT ポリシーの例では、
<AdditionalClaims>
要素の中にある<Claim>
の type にinteger
が指定されています。integer
はサポートされていない型のため、次のエラーが発生します。Invalid type for additional claim : policy(JWT-Generate-HS256) claim(claim) type(integer).
解決策
サポートされているデータ型(string
、number
、boolean
、map
など)のみを <AdditionalClaims>
要素の子要素 <Claim>
で使用してください。
上記の GenerateJWT ポリシーの例を修正するには、クレームの type を boolean
に変更します。
<GenerateJWT name="JWT-Generate-HS256">
<DisplayName>JWT Generate HS256</DisplayName>
<Algorithm>HS256</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-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalClaims>
<Claim name='claim' ref='reqclaim' type='boolean'/>
</AdditionalClaims>
</GenerateJWT>
MissingNameForAdditionalClaim
エラー メッセージ
Apigee UI または API を使用した API プロキシのデプロイに失敗すると、次のエラー メッセージが表示されます。
Error Saving Revision 2 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-Generate-HS256.xml. Reason: - Required attribute name is missing in Claim
スクリーンショットの例
Apigee UI に、エラーを示すダイアログ ボックスが表示されます。
原因
このエラーは、<AdditionalClaims>
または <AdditionalHeaders>
要素の子要素 <Claim>
でクレーム名が指定されていない場合に発生します。
診断
エラー メッセージで、GenerateJWT ポリシーの名前を特定します。たとえば、次のエラー メッセージでは、GenerateJWT ポリシーの名前は
JWT-Generate-HS256
です。Error occurred while validation of bean JWT-Generate-HS256.xml. Reason: - Required attribute name is missing in Claim
エラーが発生した Generate JWT ポリシーの XML を調べて、
<AdditionalClaims>
要素や<AdditionalHeaders>
要素の子要素<Claims>
でクレーム名が欠けていないか確認します。たとえば、次の GenerateJWT ポリシーでは、<AdditionalClaims>
要素にクレーム名が指定されていません。<GenerateJWT name="JWT-Generate-HS256"> <DisplayName>JWT Generate HS256</DisplayName> <Algorithm>HS256</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-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim ref='reqclaim' type='boolean'/> </AdditionalClaims> </GenerateJWT>
<AdditionalClaims>
要素に<Claim>
の名前が指定されていないため、エラーが発生します。Error occurred while validation of bean JWT-Generate-HS256.xml. Reason: - Required attribute name is missing in Claim
解決策
<AdditionalClaims>
要素や <AdditionalHeaders>
要素の子要素 <Claim>
で常にクレーム名を指定するようにします。
上記の GenerateJWT ポリシーの例を修正するには、クレームの name を次のように指定します。
<GenerateJWT name="JWT-Generate-HS256">
<DisplayName>JWT Generate HS256</DisplayName>
<Algorithm>HS256</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-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalClaims>
<Claim name='claim' ref='reqclaim' type='boolean'/>
</AdditionalClaims>
</GenerateJWT>
InvalidNameForAdditionalHeader
エラー メッセージ
Apigee UI または API を使用した API プロキシのデプロイに失敗すると、次のエラー メッセージが表示されます。
Error Saving Revision 2 Invalid name for additional header : policy(policy_name)header(header_name).
エラー メッセージの例
Error Saving Revision 2
Invalid name for additional header: policy(JWT-Generate-HS256) header(alg).
スクリーンショットの例
Apigee UI に、エラーを示すダイアログ ボックスが表示されます。
原因
このエラーは、<AdditionalHeaders>
要素の子要素 <Claim>
で使用されているクレーム名が次の標準 JWT ヘッダーのいずれかに該当する場合に発生します。
alg
または typ
たとえば、<AdditionalHeaders>
要素の中でクレーム名に alg
を使用すると、エラーが発生します。
診断
エラー メッセージで GenerateJWT ポリシー名とヘッダー名を特定します。たとえば、次のエラー メッセージでは、GenerateJWT ポリシー名は
JWT-Generate-HS256
、ヘッダー名はalg
です。Invalid name for additional header: policy(JWT-Generate-HS256) header(alg).
エラーが発生した Generate JWT ポリシーの XML で、
<AdditionalHeaders>
要素の子要素<Claim>
で使用されているヘッダー名が、手順 1 のエラー メッセージで特定したヘッダー名と一致することを確認します。たとえば、次のポリシーではヘッダーにalg
が指定されており、これはエラー メッセージの内容と一致します。<GenerateJWT name="JWT-Generate-HS256"> <DisplayName>JWT Generate HS256</DisplayName> <Algorithm>HS256</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-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalHeaders> <Claim name="alg"/> </AdditionalHeaders> </GenerateJWT>
<AdditionalClaims>
要素の子要素<Claim>
で使用されるヘッダー名が、次の標準 JWT ヘッダーのいずれかに該当するかどうかを確認します。alg
またはtyp
該当する場合は、それがエラーの原因です。
上記の GenerateJWT ポリシーの例では、
<AdditionalClaims>
要素で<Claim>
の name にalg
が指定されているため、エラーが発生します。Invalid name for additional header: policy(JWT-Generate-HS256) header(alg).
解決策
<AdditionalHeaders>
要素の子要素 <Claim>
で標準の JWT ヘッダー alg
や typ
を使用しないでください。
上記の GenerateJWT ポリシーの例を修正するには、<AdditionalHeaders>
要素の子要素 <Claim>
で name に x5c
を使用します。
<GenerateJWT name="JWT-Generate-HS256">
<DisplayName>JWT Generate HS256</DisplayName>
<Algorithm>HS256</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-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='x5c'/>
</AdditionalHeaders>
</GenerateJWT>
InvalidTypeForAdditionalHeader
エラー メッセージ
Apigee UI または API を使用した API プロキシのデプロイに失敗すると、次のエラー メッセージが表示されます。
Error Saving Revision 2 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-Generate-HS256) claim(claim1) type(integer).
スクリーンショットの例
Apigee UI に、エラーを示すダイアログ ボックスが表示されます。
原因
このエラーは、GenerateJWT ポリシーの <AdditionalHeaders>
要素の子要素 <Claim>
で使用されている型が、次のいずれにも該当しない場合に発生します。
string
(デフォルト)、number
、boolean
、または map
たとえば、<AdditionalHeaders>
要素の中でクレームの型に integer
を使用すると、エラーが発生します。
診断
エラー メッセージで GenerateJWT ポリシーの名前、クレーム名、クレームの型を特定します。たとえば、次のエラー メッセージでは、GenerateJWT ポリシーの名前は
JWT-Generate-HS256
、クレーム名はclaim,
、クレームの型はinteger:
です。Invalid type for additional header : policy(JWT-Generate-HS256) claim(claim) type(integer).
エラーが発生した Generate JWT ポリシーの XML で、
<AdditionalClaims>
要素で使用されているクレーム名とクレームの型が、手順 1 のエラー メッセージで特定したクレームの名前とクレームの型に一致していることを確認します。たとえば、次のポリシーでは、クレームをclaim
、クレームの型をinteger
として指定しており、エラー メッセージの内容と一致します。<GenerateJWT name="JWT-Generate-HS256"> <DisplayName>JWT Generate HS256</DisplayName> <Algorithm>HS256</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-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalHeaders> <Claim name='claim' ref='reqclaim' type='integer'/> </AdditionalHeaders> </GenerateJWT>
<AdditionalHeaders>
要素の子要素<Claim>
で使用されたクレームの型が次の型に該当するかどうかを確認します。string
(デフォルト)、number
、boolean
、またはmap
該当する場合は、それがエラーの原因です。
上記の GenerateJWT ポリシーの例では、
<AdditionalHeaders>
要素の中にある<Claim>
の type にinteger
が指定されています。integer
はサポートされていない型のため、次のエラーが発生します。Invalid type for additional header : policy(JWT-Generate-HS256) claim(claim) type(integer).
解決策
<AdditionalHeaders>
要素の子要素 <Claim>
では、サポートされているデータ型(string
、number
、boolean
、map
)のみが使用されるようにします。
上記の GenerateJWT ポリシーの例を修正するには、クレームの type を boolean
に変更します。
<GenerateJWT name="JWT-Generate-HS256">
<DisplayName>JWT Generate HS256</DisplayName>
<Algorithm>HS256</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-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='boolean'/>
</AdditionalHeaders>
</GenerateJWT>
InvalidValueOfArrayAttribute
エラー メッセージ
Apigee UI または API を使用した API プロキシのデプロイに失敗すると、次のエラー メッセージが表示されます。
Error Saving Revision 2 Invalid value for array attribute: policy(policy_name)claim(claim_name).
エラー メッセージの例
Error Saving Revision 2
Invalid value for array attribute: policy(JWT-Generate-HS256) claim(claim).
スクリーンショットの例
Apigee UI に、エラーを示すダイアログ ボックスが表示されます。
原因
このエラーは、<AdditionalClaims>
要素や <AdditionalHeaders>
要素の子要素 <Claim>
の配列属性の値が true
または false
に設定されていない場合に発生します。
たとえば、<AdditionalClaims>
や <AdditionalHeaders>
の子要素 <Claim>
で配列属性の値を yes
に設定すると、エラーが発生します。
診断
エラー メッセージで GenerateJWT ポリシーの名前とクレーム名を特定します。たとえば、次のエラー メッセージでは、GenerateJWT ポリシー名は
JWT-Generate-HS256
、クレーム名はclaim:
です。Invalid value for array attribute: policy(JWT-Generate-HS256) claim(claim).
エラーが発生した Generate JWT ポリシーの XML で、
<AdditionalHeaders>
要素の子要素<Claim>
で使用されているクレーム名が、手順 1 のエラー メッセージで特定したクレーム名と一致することを確認します。たとえば、次のポリシーではクレーム名にclaim
が指定されており、エラー メッセージの内容と一致します。<GenerateJWT name="JWT-Generate-HS256"> <DisplayName>JWT Generate HS256</DisplayName> <Algorithm>HS256</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-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array='yes'/> </AdditionalClaims> </GenerateJWT>
<AdditionalClaims>
要素の子要素<Claim>
のarray
属性の値が、true
またはfalse
に設定されていない場合、これがエラーの原因です。上記の例では、
<AdditionalClaims>
要素の子要素<Claim>
でarray
属性がyes
に設定されているため、次のエラーが発生します。Invalid value for array attribute: policy(JWT-Generate-HS256) claim(claim).
解決策
<AdditionalClaims>
や <AdditionalHeaders>
の子要素 <Claim>
内の array 属性の値が true
または false
に設定されるようにします。
上記の GenerateJWT ポリシーの例を修正するには、array 属性の値を true
に変更します。
<GenerateJWT name="JWT-Generate-HS256">
<DisplayName>JWT Generate HS256</DisplayName>
<Algorithm>HS256</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-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</GenerateJWT>
InvalidConfigurationForActionAndAlgorithm
エラー メッセージ
Apigee UI または API を使用した API プロキシのデプロイに失敗すると、次のエラー メッセージが表示されます。
Error Saving Revision 2
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 2 Invalid configuration element for this action and algorithm Family: policy(JWT-Generate-HS256) element(PrivateKey) action(Generate) family(HMAC).
スクリーンショットの例
Apigee UI に、エラーを示すダイアログ ボックスが表示されます。
原因
このエラーは、<PrivateKey>
要素が HS ファミリー アルゴリズムで使用され、<SecretKey>
要素が RSA ファミリー アルゴリズムで使用される場合に発生します。また、この条件のどちらかが満たされる場合にも発生します。
たとえば、<PrivateKey>
要素を HS ファミリー アルゴリズムで使用すると、このエラーが発生します。
診断
エラー メッセージから、GenerateJWT ポリシー名、要素名、アルゴリズム ファミリー名を特定します。たとえば、次のエラー メッセージでは、GenerateJWT ポリシー名は
JWT-Generate-HS256
、要素名はPrivateKey
、アルゴリズム ファミリー名はHMAC
です。Invalid configuration element for this action and algorithm Family: policy(JWT-Generate-HS256) element(PrivateKey) action(Generate) family(HMAC).
エラーが発生した GenerateJWT ポリシーの XML で使用されている要素とアルゴリズム ファミリーが、手順 1 のエラー メッセージで特定した要素とアルゴリズム ファミリーに一致していることを確認します。たとえば、次のポリシーでは、要素を
PrivateKey
、アルゴリズム ファミリーをHMAC
と指定しています。これはエラー メッセージの内容と一致します。<GenerateJWT name="JWT-Generate-HS256"> <DisplayName>JWT Generate HS256</DisplayName> <Algorithm>HS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <PrivateKey> <Password ref="private.privatekey-password"/> </PrivateKey> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array=tuu =/> </AdditionalClaims> </GenerateJWT>
<Algorithm>
要素の値HS256
に対して、<PrivateKey>
を使用しているため、これがエラーの原因になります。上記の GenerateJWT ポリシーの例では、
<PrivateKey>
がファミリー アルゴリズムHS256
に設定されているにもかかわらず<PrivateKey>
が使用されているため、エラーが発生します。Invalid configuration element for this action and algorithm Family: policy(JWT-Generate-HS256) element(PrivateKey) action(Generate) family(HMAC).
解決策
<PrivateKey>
要素は RSA ファミリー アルゴリズムでのみ使用し、<SecretKey>
要素は HS ファミリー アルゴリズムでのみ使用します。
上記の GenerateJWT ポリシーの例を修正するには、<SecretKey>
を使用する GenerateJWT ポリシーでは、HS256 アルゴリズムを使用するようにします。
<GenerateJWT name="JWT-Generate-HS256">
<DisplayName>JWT Generate HS256</DisplayName>
<Algorithm>HS256</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-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</GenerateJWT>
InvalidValueForElement
エラー メッセージ
Apigee UI または API を使用した API プロキシのデプロイに失敗すると、次のエラー メッセージが表示されます。
Error Saving Revision 2 Invalid Value for element : policy(policy_name) element(element_name).
エラー メッセージの例
Error Saving Revision 2
Invalid Value for element : policy(JWT-Generate-HS256) element(Algorithm).
スクリーンショットの例
Apigee UI に、エラーを示すダイアログ ボックスが表示されます。
原因
このエラーは、<Algorithm>
要素で指定された値が、次のいずれにも該当しない場合に発生します。
HS256
、HS384
、HS512
、RS256
、RS384
、RS512
たとえば、<Algorithm>
要素でアルゴリズムの値を RS128
に設定すると、このエラーが発生します。
診断
エラー メッセージで GenerateJWT ポリシーの名前と要素名を特定します。たとえば、次のエラー メッセージでは、GenerateJWT ポリシーの名前は
JWT-Generate-HS256
で、要素名はAlgorithm.
です。Invalid Value for element : policy(JWT-Generate-HS256) element(Algorithm).
エラーが発生した GenerateJWT ポリシーの XML を調べて、
<Algorithm>
要素に指定された値を確認します。GenerateJWT ポリシーの例を次に示します。
<GenerateJWT name="JWT-Generate-HS256"> <DisplayName>JWT Generate HS256</DisplayName> <Algorithm>HS128</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-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='status' type='string'>Development</Claim> </AdditionalClaims> </GenerateJWT>
<Algorithm>
要素に指定された値を調べます。次の値のいずれかに該当するかどうかを確認します。HS256
、HS384
、HS512
、RS256
、RS384
、RS512
該当する場合は、それがエラーの原因です。
上記の GenerateJWT ポリシーの例では、
<Algorithm>
名にHS128
が指定されています。これはサポートされていないアルゴリズムのため、次のエラーが発生します。Invalid Value for element : policy(JWT-Generate-HS256) element(Algorithm).
解決策
<Algorithm>
要素には、サポートされている次の値のいずれかが指定されるようにします。
HS256
、HS384
、HS512
、RS256
、RS384
、RS512
<SecretKey>
要素が使用された上記の GenerateJWT ポリシーの例を修正するには、<Algorithm>
の値を HS25
に変更します。<SecretKey>
要素を使用する場合は、HS ファミリー アルゴリズムのみ使用できます。
<GenerateJWT name="JWT-Generate-HS256">
<DisplayName>JWT Generate HS256</DisplayName>
<Algorithm>HS256</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-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalClaims>
<Claim name='status' type='string'>Development</Claim>
</AdditionalClaims>
</GenerateJWT>
MissingConfigurationElement
エラー メッセージ
Apigee UI または API を使用した API プロキシのデプロイに失敗すると、次のエラー メッセージが表示されます。
Error Saving Revision 2 Missing configuration element : policy(policy_name) element(element_name).
エラー メッセージの例
Error Saving Revision 2
Missing configuration element : policy(JWT-Generate-HS256) element(SecretKey).
スクリーンショットの例
Apigee UI に、エラーを示すダイアログ ボックスが表示されます。
原因
このエラーは、GenerateJWT ポリシーの <PrivateKey>
要素が RSA ファミリー アルゴリズムとともに使用されていない場合に発生します。同様に、GenerateJWT ポリシーの <SecretKey>
要素が HS ファミリー アルゴリズムとともに使用されていない場合も、このエラーが発生します。
たとえば、RSA ファミリー アルゴリズムで <PrivateKey>
要素が使用されていない場合、このエラーが発生します。
診断
エラー メッセージで、GenerateJWT ポリシー名と欠落している要素名を特定します。たとえば、次のエラー メッセージでは、GenerateJWT ポリシーの名前は
JWT-Generate-HS256
で、欠落している要素名はSecretKey
です。Missing configuration element : policy(JWT-Generate-HS256) element(SecretKey).
エラーが発生した GenerateJWT ポリシーの XML を調べて、エラー メッセージに記載されている要素があるかどうかを確認します。要素がない場合は、それがエラーの原因です。
たとえば、次のポリシーでは、
SecretKey
がなく、使用されるAlgorithm
がHS256
になっています。<GenerateJWT name="JWT-Generate-HS256"> <DisplayName>JWT Generate HS256</DisplayName> <Algorithm>HS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <ExpiresIn>1h</ExpiresIn> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array='true'/> </AdditionalClaims> </GenerateJWT>
GenerateJWT ポリシーの例では、HS ファミリー アルゴリズムを使用していますが、必須要素の
SecretKey
が欠落しているためエラーが発生します。Missing configuration element : policy(JWT-Generate-HS256) element(SecretKey).
解決策
必須の <PrivateKey>
要素は RSA ファミリー アルゴリズムで使用され、必須の <SecretKey>
要素は HS ファミリー アルゴリズムで使用されるようにします。
上記の HS256
アルゴリズムを使用する GenerateJWT ポリシーの例を修正するには、GenerateJWT ポリシーに <SecretKey>
要素を追加します。
<GenerateJWT name="JWT-Generate-HS256">
<DisplayName>JWT Generate HS256</DisplayName>
<Algorithm>HS256</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-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</GenerateJWT>
InvalidKeyConfiguration
エラー メッセージ
Apigee UI または API を使用した API プロキシのデプロイに失敗すると、次のエラー メッセージが表示されます。
Error Saving RevisionInvalid Key configuration : policy(policy_name).
エラー メッセージの例
Error Saving Revision 3
Invalid Key configuration : policy(JWT-Generate-HS256).
スクリーンショットの例
Apigee UI に、エラーを示すダイアログ ボックスが表示されます。
原因
このエラーは、必須の子要素 <Value>
が GenerateJWT ポリシーの <PrivateKey>
要素や <SecretKey>
要素に定義されていない場合に発生します。
診断
エラー メッセージで、GenerateJWT ポリシーの名前を特定します。たとえば、次のエラー メッセージでは、GenerateJWT ポリシーの名前は
JWT-Generate-HS256
です。Invalid Key configuration : policy(JWT-Generate-HS256).
エラーが発生した GenerateJWT ポリシーの XML を調べ、
<PrivateKey>
要素や<SecretKey>
要素で子要素<Value>
が定義されているかどうかを確認します。<Value>
が定義されていない場合、それがエラーの原因です。たとえば、次のポリシーでは、
<SecretKey>
要素に子要素<Value>
が定義されていません。<GenerateJWT name="JWT-Generate-HS256"> <DisplayName>JWT Generate HS256</DisplayName> <Algorithm>HS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <ExpiresIn>1h</ExpiresIn> <SecretKey> </SecretKey> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array='true'/> </AdditionalClaims> </GenerateJWT>
GenerateJWT ポリシーの
<SecretKey>
要素で、子要素<Value>
が定義されていないため、次のエラーが発生します。Invalid Key configuration : policy(JWT-Generate-HS256).
解決策
GenerateJWT ポリシーの <PrivateKey>
要素や <SecretKey>
要素では、必ず子要素 <Value>
が定義されるようにします。
上記の GenerateJWT ポリシーの例を修正するには、次のように <SecretKey>
要素の中に子要素 <Value>
を定義します。
<GenerateJWT name="JWT-Generate-HS256">
<DisplayName>JWT Generate HS256</DisplayName>
<Algorithm>HS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<SecretKey>
<Value ref="private.secretkey"/>
</SecretKey>
<ExpiresIn>1h</ExpiresIn>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</GenerateJWT>
EmptyElementForKeyConfiguration
エラー メッセージ
Apigee UI または API を使用した API プロキシのデプロイに失敗すると、次のエラー メッセージが表示されます。
Error Saving Revision 2 Empty Element for Key Configuration : policy(policy_name) element(element_name).
エラー メッセージの例
Error Saving Revision 2
Empty Element for Key Configuration : policy(JWT-Generate-HS256) element(SecretKey/Value).
スクリーンショットの例
Apigee UI に、エラーを示すダイアログ ボックスが表示されます。
原因
このエラーは、<PrivateKey>
要素や <SecretKey>
要素の子要素 <Value>
に ref 属性が指定されていないか、空の場合に発生します。
たとえば、<SecretKey>
要素の子要素 <Value>
が空の場合、このエラーが発生します。
診断
エラー メッセージから GenerateJWT ポリシー名と空の要素名を特定します。たとえば、次のエラー メッセージでは、GenerateJWT ポリシー名は
JWT-Generate-HS256
で、空の要素名はSecretKey/Value
です。Empty Element for Key Configuration : policy(JWT-Generate-HS256) element(SecretKey/Value).
エラーが発生した GenerateJWT ポリシーの XML を調べて、手順 1 で特定した要素が空かどうかを確認します。要素が空の場合は、それがエラーの原因です。
たとえば、次のポリシーでは、
<SecretKey>
要素の子要素<Value>
が空であることを示しています。<GenerateJWT name="JWT-Generate-HS256"> <DisplayName>JWT Generate HS256</DisplayName> <Algorithm>HS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <ExpiresIn>1h</ExpiresIn> <SecretKey> <Value/> <Id>1918290</Id> </SecretKey> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array='true'/> </AdditionalClaims> </GenerateJWT>
GenerateJWT ポリシーの
<SecretKey>
要素の子要素<Value>
が空のため、次のエラーが発生します。Empty Element for Key Configuration : policy(JWT-Generate-HS256) element(SecretKey/Value).
解決策
<PrivateKey>
要素や <SecretKey>
要素の子要素 <Value>
には必ず ref 属性を指定し、接頭辞 private.
を付けます。
上記の GenerateJWT ポリシーの例を修正するには、<SecretKey>
要素の子要素 <Value>
でフロー変数 private.privatekey
を使用します。
<GenerateJWT name="JWT-Generate-HS256">
<DisplayName>JWT Generate HS256</DisplayName>
<Algorithm>HS256</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-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</GenerateJWT>
InvalidVariableNameForSecret
エラー メッセージ
Apigee UI または API を使用した API プロキシのデプロイに失敗すると、次のエラー メッセージが表示されます。
Error Saving Revision 2 Invalid variable name for secret : policy(policy_name) element(element_name).
エラー メッセージの例
Error Saving Revision 2
Invalid variable name for secret : policy(JWT-Generate-HS256) element(SecretKey/Value).
スクリーンショットの例
Apigee UI に、エラーを示すダイアログ ボックスが表示されます。
原因
このエラーは、<PrivateKey>
要素や <SecretKey>
要素の子要素 <Value>
の ref 属性で指定されたフロー変数名が、非公開の接頭辞(private.
)を含んでいない場合に発生します。
次に例を示します。
<PrivateKey>
要素の子要素 <Value>
で ref 属性のフロー変数名に mykey
が指定されている場合、このエラーが発生します。
診断
エラー メッセージから、GenerateJWT ポリシーの名前と、無効な変数名を持つ要素の名前を特定します。たとえば、次のエラー メッセージでは、GenerateJWT ポリシーの名前は
JWT-Generate-HS256
で、要素名はSecretKey/Value
です。Invalid variable name for secret : policy(JWT-Generate-HS256) element(SecretKey/Value).
エラーが発生した GenerateJWT ポリシーの XML を調べて、手順 1 で特定した要素で使用されている変数名を確認します。変数名に接頭辞
private.
がない場合、これがエラーの原因です。たとえば、
<SecretKey>
要素の子要素<Value>
に無効な変数名mykey
があるポリシーを次に示します。<GenerateJWT name="JWT-Generate-HS256"> <DisplayName>JWT Generate HS256</DisplayName> <Algorithm>HS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <ExpiresIn>1h</ExpiresIn> <SecretKey> <Value ref="mykey"/> <Id>1918290</Id> </SecretKey> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array='true'/> </AdditionalClaims> </GenerateJWT>
GenerateJWT ポリシーの
<SecretKey>
要素の子要素<Value>
で指定された変数名に接頭辞private.
がないため、エラーが発生します。Invalid variable name for secret : policy(JWT-Generate-HS256) element(SecretKey/Value).
解決策
<PrivateKey>
要素や <SecretKey>
要素の子要素 <Value>
には必ず ref 属性を指定し、接頭辞 private.
を付けます。
上記の GenerateJWT ポリシーの例を修正するには、<SecretKey>
要素の子要素 <Value>
でフロー変数 private.privatekey
を使用します。
<GenerateJWT name="JWT-Generate-HS256">
<DisplayName>JWT Generate HS256</DisplayName>
<Algorithm>HS256</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-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</GenerateJWT>
InvalidSecretInConfig
エラー メッセージ
Apigee UI または API を使用した API プロキシのデプロイに失敗すると、次のエラー メッセージが表示されます。
Error Saving Revision 2 Specifying a secret in the configuration is invalid : policy(policy_name) element(element_name).
エラー メッセージの例
Error Saving Revision 2
Specifying a secret in the configuration is invalid : policy(JWT-Generate-HS256) element(SecretKey/Value).
スクリーンショットの例
Apigee UI に、エラーを示すダイアログ ボックスが表示されます。
原因
このエラーは、値(シークレット)が GenerateJWT ポリシーの次のいずれかの要素中で明示的に指定されている場合に発生します。
<PrivateKey>
要素の子要素<Value>
または<Password>
<SecretKey>
要素の子要素<Value>
GenerateJWT ポリシー内。
たとえば、シークレットが <SecretKey>
要素の子要素 <Value>
に abc
として明示的に指定されている場合、このエラーが発生します。
診断
エラー メッセージから、GenerateJWT ポリシーの名前と、シークレットが明示的に指定されている要素名を特定します。たとえば、次のエラー メッセージでは、GenerateJWT ポリシーの名前は
JWT-Generate-HS256
で、要素名はSecretKey/Value
です。Specifying a secret in the configuration is invalid : policy(JWT-Generate-HS256) element(SecretKey/Value).
エラーが発生した GenerateJWT ポリシーの XML を調べて、手順 1 で特定した要素にシークレットが明示的に指定されているかどうかを確認します。明示的に指定されている場合、それがエラーの原因です。
たとえば、シークレットが
<SecretKey>
要素の子要素<Value>
で明示的に指定されているポリシーを次に示します。<GenerateJWT name="JWT-Generate-HS256"> <DisplayName>JWT Generate HS256</DisplayName> <Algorithm>HS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <ExpiresIn>1h</ExpiresIn> <SecretKey> <Value>abc</Value> <Id>1918290</Id> </SecretKey> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array='true'/> </AdditionalClaims> </GenerateJWT>
シークレットが GenerateJWT ポリシーの
<SecretKey>
要素の子要素<Value>
で明示的に指定されているため、次のエラーが発生します。Specifying a secret in the configuration is invalid : policy(JWT-Generate-HS256) element(SecretKey/Value).
解決策
この値は、常に <PrivateKey>
要素または <SecretKey>
要素の子要素 <Value>
でフロー変数として指定するようにします。
上記の GenerateJWT ポリシーの例を修正するには、<SecretKey>
の子要素 <Value>
の ref 属性にフロー変数 private.secretkey
を使用します。
<GenerateJWT name="JWT-Generate-HS256">
<DisplayName>JWT Generate HS256</DisplayName>
<Algorithm>HS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<ExpiresIn>1h</ExpiresIn>
<SecretKey>
<Value ref="private.secretkey"/>
<Id>1918290</Id>
</SecretKey>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</GenerateJWT>
InvalidTimeFormat
エラー メッセージ
Apigee UI または API を使用した API プロキシのデプロイに失敗すると、次のエラー メッセージが表示されます。
Error Saving Revision 2 Invalid Time format: policy(policy_name) element(element_name).
エラー メッセージの例
Error Saving Revision 3
Invalid Time format: policy(JWT-Generate-HS256) element(NotBefore).
スクリーンショットの例
Apigee UI に、エラーを示すダイアログ ボックスが表示されます。
原因
このエラーは、<NotBefore>
要素で指定された値が、サポートされている次の形式のいずれにも該当しない場合に発生します。
sortable
、RFC 1123
、RFC 850
、ANCI-C
たとえば、<NotBefore>
で指定された値が 20-JUN-1990 08:03
などサポートされていない形式の場合、このエラーが発生します。
<NotBefore>20-JUN-1990 08:03:00:21-07:00</NotBefore>
診断
エラー メッセージから、GenerateJWT ポリシーの名前と、無効な時間形式を持つ要素名を特定します。たとえば、次のエラー メッセージでは、GenerateJWT ポリシーの名前は
JWT-Generate-HS256
で、要素名はNotBefore
です。Invalid Time format: policy(JWT-Generate-HS256) element(NotBefore).
エラーが発生した GenerateJWT ポリシーの XML を調べて、手順 1 で特定した要素で使用されている時間形式を確認します。この要素でサポートされている次の形式が使用されているかどうかを確認します。
sortable
、RFC 1123
、RFC 850
、ANCI-C
該当する場合は、それがエラーの原因です。
たとえば、子要素
<NotBefore>
でサポートされていない時刻形式が使用されているポリシーを次に示します。<GenerateJWT name="JWT-Generate-HS256"> <DisplayName>JWT Generate HS256</DisplayName> <Algorithm>HS256</Algorithm> <IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables> <ExpiresIn>1h</ExpiresIn> <NotBefore>20-JUN-1990 08:03:00:21-07:00</NotBefore> <SecretKey> <Value ref="private.secretkey"/> <Id>1918290</Id> </SecretKey> <Subject>monty-pythons-flying-circus</Subject> <Issuer>urn://apigee-JWT-policy-test</Issuer> <Audience>fans</Audience> <Id/> <AdditionalClaims> <Claim name='claim' ref='reqclaim' type='string' array='true'/> </AdditionalClaims> </GenerateJWT>
GenerateJWT ポリシーの要素
<NotBefore>
で、サポートされている時間形式が使用されないため、次のエラーが発生します。Invalid variable name for secret : policy(JWT-Generate-HS256) element(SecretKey/Value).
解決策
<NotBefore>
要素で指定された値が、サポートされている形式のいずれかを使用するようにします。
sortable
、RFC 1123
、RFC 850
、ANCI-C
GenerateJWT ポリシーの例を修正するには、次のように <NotBefore>
要素の日付に sortable
形式を使用するように変更します。
<GenerateJWT name="JWT-Generate-HS256">
<DisplayName>JWT Generate HS256</DisplayName>
<Algorithm>HS256</Algorithm>
<IgnoreUnresolvedVariables>false</IgnoreUnresolvedVariables>
<ExpiresIn>1h</ExpiresIn>
<NotBefore>2018-08-14T11:00:21-07:00</NotBefore>
<SecretKey>
<Value ref="private.secretkey"/>
<Id>1918290</Id>
</SecretKey>
<Subject>monty-pythons-flying-circus</Subject>
<Issuer>urn://apigee-JWT-policy-test</Issuer>
<Audience>fans</Audience>
<Id/>
<AdditionalHeaders>
<Claim name='claim' ref='reqclaim' type='string' array='true'/>
</AdditionalHeaders>
</GenerateJWT>