データベースのセキュリティ侵害が発生した場合に OAuth のアクセス トークンとリフレッシュ トークンを保護するために、Edge 組織で自動トークン ハッシュを有効にできます。この機能を有効にすると、指定したアルゴリズムを使用して、新たに生成された OAuth のアクセス トークンとリフレッシュ トークンのハッシュされたバージョンが自動的に作成されます(既存のトークンをまとめてハッシュする方法については後述します)。API の呼び出しにはハッシュされていないトークンが使われ、Edge がデータベースにあるハッシュされたバージョンに照らして検証します。
Edge Cloud のお客様の場合
Edge Cloud のお客様は、Apigee サポートに連絡して、組織でのハッシュを有効にし、必要に応じて既存のトークンをまとめてハッシュすることもできます。
Edge for Private Cloud のお客様の場合
Edge for Private Cloud の管理者は、管理 API を使って以下の組織レベルの属性を設定して、トークンのハッシュを有効できます。
features.isOAuthTokenHashingEnabled = true features.OAuthTokenHashingAlgorithm = SHA1 | SHA256 | SHA384 | SHA512 | PLAIN
すでにハッシュされた既存のトークンを有効期限が切れるまで保持する場合は、組織内で以下の属性を設定します。ハッシュ アルゴリズムは既存のアルゴリズム(たとえば、Edge の以前のデフォルトである SHA1)を選びます。トークンがハッシュされていない場合は、PLAIN を使用します。
features.isOAuthTokenFallbackHashingEnabled = true features.OAuthTokenFallbackHashingAlgorithm = SHA1 | SHA256 | SHA384 | SHA512 | PLAIN
次に、API を呼び出してトークンのハッシュを有効にするサンプルを示します。ペイロードには、組織の既存の属性も必ずすべて含めてください。組織の既存の属性を含めないと、既存の属性はすべて上書きされ、この呼び出しで設定する属性のみとなります。
curl -u email:password -X PUT -H "Content-type:application/xml" https://host:port/v1/o/{myorg} -d \ "<Organization type="trial" name="MyOrganization"> <Properties> <Property name="features.isOAuthTokenHashingEnabled">true</Property> <Property name="features.OAuthTokenHashingAlgorithm">SHA256</Property> <Property name="features.isOAuthTokenFallbackHashingEnabled">true</Property> <Property name="features.OAuthTokenFallbackHashingAlgorithm">SHA1</Property> <Property...(an existing property) <Property...(an existing property) <Property...(an existing property) </Properties> </Organization>"