最近更新时间:2021-09-18
本文介绍如何使用预签名。
通过使用Get或PUT操作获取存储桶的预签名URL。通过预签名URL,您可以向没有权限直接在您的账户中运行操作的用户授予临时访问权限。预签名URL用您的凭据进行签名,任何用户都可以使用。
使用签名URL进行临时授权的方法如下。
生成签名URL
您可以将生成的签名URL提供给访客进行临时访问。生成签名URL时,您可以指定URL的过期时间,来限制访客的访问时长。
生成以GET方法访问的签名URL
以下代码用于生成以GET方法访问的签名URL:
public void testSetPreSign() { try { // Set the presigned URL to expire after one hour. java.util.Date expiration = new java.util.Date(); long expTimeMillis = expiration.getTime(); expTimeMillis += 1000 * 60 * 60; expiration.setTime(expTimeMillis); // Generate the presigned URL. System.out.println("Generating pre-signed URL."); GeneratePresignedUrlRequest generatePresignedUrlRequest = new GeneratePresignedUrlRequest(bucketName, objectName) .withMethod(HttpMethod.GET) .withExpiration(expiration); URL url = s3.generatePresignedUrl(generatePresignedUrlRequest); System.out.println("Pre-Signed URL: " + url.toString()); } catch (AmazonServiceException e) { System.err.println(e.getErrorMessage()); } } |