Amazon CloudFront の事前署名をバージョン 1 からバージョン 2 に変更 - AWS SDK for Java 2.x

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

Amazon CloudFront の事前署名をバージョン 1 からバージョン 2 に変更

このトピックでは、Amazon のバージョン 1 (v1) CloudFront からバージョン 2 (v2) への変更について詳しく説明します。

高レベル変更

変更 v1 v2

Maven の依存関係

<dependencyManagement> <dependencies> <dependency> <groupId>com.amazonaws</groupId> <artifactId>aws-java-sdk-bom</artifactId> <version>1.12.5871</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <dependencies> <dependency> <groupId>com.amazonaws</groupId> <artifactId>cloudfront</artifactId> </dependency> </dependencies>
<dependencyManagement> <dependencies> <dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>bom</artifactId> <version>2.21.212</version> <type>pom</type> <scope>import</scope> </dependency> </dependencies> </dependencyManagement> <dependencies> <dependency> <groupId>software.amazon.awssdk</groupId> <artifactId>cloudfront</artifactId> </dependency> </dependencies>
パッケージ名 com.amazonaws.services.cloudfront software.amazon.awssdk.services.cloudfront
クラス名

CloudFrontUrlSigner

CloudFrontCookieSigner

CloudFrontUtilities

SignedUrl

CannedSignerRequest

CustomSignerRequest

1 最新バージョン2 最新バージョン

API の変更

Behavior v1 v2
既定リクエストを構築する 引数は API に直接渡されます。
CannedSignerRequest cannedRequest = CannedSignerRequest.builder() .resourceUrl(resourceUrl) .privateKey(privateKey) .keyPairId(keyPairId) .expirationDate(expirationDate) .build();
カスタムリクエストを構築する 引数は API に直接渡されます。
CustomSignerRequest customRequest = CustomSignerRequest.builder() .resourceUrl(resourceUrl) .privateKey(keyFile) .keyPairId(keyPairId) .expirationDate(expirationDate) .activeDate(activeDate) .ipRange(ipRange) .build();
署名付き URL の生成 (既定)
String signedUrl = CloudFrontUrlSigner.getSignedURLWithCannedPolicy( resourceUrl, keyPairId, privateKey, expirationDate);
CloudFrontUtilities cloudFrontUtilities = CloudFrontUtilities.create(); SignedUrl signedUrl = cloudFrontUtilities.getSignedUrlWithCannedPolicy(cannedRequest); String url = signedUrl.url();
署名付き Cookie の生成 (カスタム)
CookiesForCustomPolicy cookies = CloudFrontCookieSigner.getCookiesForCustomPolicy( resourceUrl, privateKey, keyPairId, expirationDate, activeDate, ipRange);
CloudFrontUtilities cloudFrontUtilities = CloudFrontUtilities.create(); CookiesForCustomPolicy cookies = cloudFrontUtilities.getCookiesForCustomPolicy(customRequest);

v2 でリファクタリングされた Cookie ヘッダー

Java v1 では、Java SDK は Cookie ヘッダーを として配信しますMap.Entry<String, String>

Map.Entry<String, String> signatureMap = cookies.getSignature(); String signatureKey = signatureMap.getKey(); // "CloudFront-Signature" String signatureValue = signatureMap.getValue(); // "[SIGNATURE_VALUE]"

Java v2 SDK は、ヘッダー全体を単一の として配信しますString

String signatureHeaderValue = cookies.signatureHeaderValue(); // "CloudFront-Signature=[SIGNATURE_VALUE]"