private SharedAccessBlobPolicy getPolicy(final int expiry) { final SharedAccessBlobPolicy policy = new SharedAccessBlobPolicy(); policy.setSharedAccessExpiryTime(new Date(this.getExpiry(expiry))); policy.setPermissions(EnumSet.of(SharedAccessBlobPermissions.READ)); return policy; }
SharedAccessBlobPolicy sharedAccessBlobPolicy = new SharedAccessBlobPolicy(); GregorianCalendar calendar = new GregorianCalendar(TimeZone.getTimeZone("UTC")); calendar.setTime(new Date()); sharedAccessBlobPolicy.setSharedAccessStartTime(calendar.getTime()); calendar.add(Calendar.HOUR, 23); sharedAccessBlobPolicy.setSharedAccessExpiryTime(calendar.getTime()); sharedAccessBlobPolicy.setPermissions(EnumSet.of(SharedAccessBlobPermissions.READ)); BlobContainerPermissions containerPermissions = new BlobContainerPermissions(); container.uploadPermissions(containerPermissions);
/** * Write permission to string */ @Test @Category({ DevFabricTests.class, DevStoreTests.class }) public void testCloudBlobContainerPermissionsToString() { SharedAccessBlobPolicy policy = new SharedAccessBlobPolicy(); policy.setPermissions(EnumSet.of( SharedAccessBlobPermissions.READ, SharedAccessBlobPermissions.ADD, SharedAccessBlobPermissions.CREATE, SharedAccessBlobPermissions.WRITE, SharedAccessBlobPermissions.DELETE, SharedAccessBlobPermissions.LIST)); assertEquals("racwdl", policy.permissionsToString()); policy.setPermissions(EnumSet.of(SharedAccessBlobPermissions.READ, SharedAccessBlobPermissions.ADD, SharedAccessBlobPermissions.WRITE, SharedAccessBlobPermissions.DELETE, SharedAccessBlobPermissions.LIST)); assertEquals("rawdl", policy.permissionsToString()); policy.setPermissions(EnumSet.of(SharedAccessBlobPermissions.READ, SharedAccessBlobPermissions.WRITE, SharedAccessBlobPermissions.DELETE, SharedAccessBlobPermissions.LIST)); assertEquals("rwdl", policy.permissionsToString()); policy.setPermissions(EnumSet.of(SharedAccessBlobPermissions.READ, SharedAccessBlobPermissions.WRITE, SharedAccessBlobPermissions.LIST)); assertEquals("rwl", policy.permissionsToString()); policy.setPermissions(EnumSet.of(SharedAccessBlobPermissions.WRITE, SharedAccessBlobPermissions.READ)); assertEquals("rw", policy.permissionsToString()); policy.setPermissions(EnumSet.of(SharedAccessBlobPermissions.DELETE)); assertEquals("d", policy.permissionsToString()); }
SharedAccessBlobPolicy sasPolicy = new SharedAccessBlobPolicy(); sasPolicy.setPermissions(EnumSet.of( SharedAccessBlobPermissions.READ, SharedAccessBlobPermissions.WRITE,
/** * Get permissions from string * */ @Test @Category({ DevFabricTests.class, DevStoreTests.class }) public void testCloudBlobContainerPermissionsFromString() { SharedAccessBlobPolicy policy = new SharedAccessBlobPolicy(); policy.setPermissionsFromString("racwdl"); assertEquals(EnumSet.of( SharedAccessBlobPermissions.READ, SharedAccessBlobPermissions.ADD, SharedAccessBlobPermissions.CREATE, SharedAccessBlobPermissions.WRITE, SharedAccessBlobPermissions.DELETE, SharedAccessBlobPermissions.LIST), policy.getPermissions()); policy.setPermissionsFromString("rawdl"); assertEquals(EnumSet.of(SharedAccessBlobPermissions.READ, SharedAccessBlobPermissions.ADD, SharedAccessBlobPermissions.WRITE, SharedAccessBlobPermissions.DELETE, SharedAccessBlobPermissions.LIST), policy.getPermissions()); policy.setPermissionsFromString("rwdl"); assertEquals(EnumSet.of(SharedAccessBlobPermissions.READ, SharedAccessBlobPermissions.WRITE, SharedAccessBlobPermissions.DELETE, SharedAccessBlobPermissions.LIST), policy.getPermissions()); policy.setPermissionsFromString("rwl"); assertEquals(EnumSet.of(SharedAccessBlobPermissions.READ, SharedAccessBlobPermissions.WRITE, SharedAccessBlobPermissions.LIST), policy.getPermissions()); policy.setPermissionsFromString("wr"); assertEquals(EnumSet.of(SharedAccessBlobPermissions.WRITE, SharedAccessBlobPermissions.READ), policy.getPermissions()); policy.setPermissionsFromString("d"); assertEquals(EnumSet.of(SharedAccessBlobPermissions.DELETE), policy.getPermissions()); }
private static void assertPermissionsEqual(BlobContainerPermissions expected, BlobContainerPermissions actual) { assertEquals(expected.getPublicAccess(), actual.getPublicAccess()); HashMap<String, SharedAccessBlobPolicy> expectedPolicies = expected.getSharedAccessPolicies(); HashMap<String, SharedAccessBlobPolicy> actualPolicies = actual.getSharedAccessPolicies(); assertEquals("SharedAccessPolicies.Count", expectedPolicies.size(), actualPolicies.size()); for (String name : expectedPolicies.keySet()) { assertTrue("Key" + name + " doesn't exist", actualPolicies.containsKey(name)); SharedAccessBlobPolicy expectedPolicy = expectedPolicies.get(name); SharedAccessBlobPolicy actualPolicy = actualPolicies.get(name); assertEquals("Policy: " + name + "\tPermissions\n", expectedPolicy.getPermissions().toString(), actualPolicy.getPermissions().toString()); assertEquals("Policy: " + name + "\tStartDate\n", expectedPolicy.getSharedAccessStartTime().toString(), actualPolicy.getSharedAccessStartTime().toString()); assertEquals("Policy: " + name + "\tExpireDate\n", expectedPolicy.getSharedAccessExpiryTime().toString(), actualPolicy.getSharedAccessExpiryTime().toString()); } }
SharedAccessBlobPolicy sasPolicy = new SharedAccessBlobPolicy(); sasPolicy.setPermissions(EnumSet.of( SharedAccessBlobPermissions.READ, SharedAccessBlobPermissions.WRITE,
protected String generateSASToken(CloudBlobContainer blobContainer, int timeSpan) { Calendar cal = new GregorianCalendar(TimeZone.getTimeZone("UTC")); cal.setTime(new Date()); cal.add(Calendar.MINUTE, timeSpan); SharedAccessBlobPolicy policy = new SharedAccessBlobPolicy(); policy.setPermissions(EnumSet.of(SharedAccessBlobPermissions.READ)); policy.setSharedAccessExpiryTime(cal.getTime()); try { String token = blobContainer.generateSharedAccessSignature(policy, null); return token; } catch(Exception e) { throw new GradleException("could not generate SASToken: " + e.getMessage()); } }
SharedAccessBlobPolicy sasPolicy = new SharedAccessBlobPolicy(); sasPolicy.setSharedAccessStartTime(calendar.getTime()); sasPolicy.setSharedAccessExpiryTime(calendar.getTime()); sasPolicy.setPermissions(EnumSet.of( SharedAccessBlobPermissions.READ, SharedAccessBlobPermissions.LIST)); sasPolicy.setPermissions(EnumSet.of( SharedAccessBlobPermissions.READ, SharedAccessBlobPermissions.WRITE,
private static String getContainerSasUri(CloudBlobContainer container) throws InvalidKeyException, StorageException { //Set the expiry time and permissions for the container. //In this case no start time is specified, so the shared access signature becomes valid immediately. SharedAccessBlobPolicy sasConstraints = new SharedAccessBlobPolicy(); Date expirationDate = Date.from(Instant.now().plus(Duration.ofDays(1))); sasConstraints.setSharedAccessExpiryTime(expirationDate); EnumSet<SharedAccessBlobPermissions> permissions = EnumSet.of( SharedAccessBlobPermissions.WRITE, SharedAccessBlobPermissions.LIST, SharedAccessBlobPermissions.READ, SharedAccessBlobPermissions.DELETE); sasConstraints.setPermissions(permissions); //Generate the shared access signature on the container, setting the constraints directly on the signature. String sasContainerToken = container.generateSharedAccessSignature(sasConstraints, null); //Return the URI string for the container, including the SAS token. return container.getUri() + "?" + sasContainerToken; } }
SharedAccessBlobPolicy sasPolicy = new SharedAccessBlobPolicy(); sasPolicy.setSharedAccessStartTime(calendar.getTime()); sasPolicy.setSharedAccessExpiryTime(calendar.getTime()); sasPolicy.setPermissions(EnumSet.of( SharedAccessBlobPermissions.READ, SharedAccessBlobPermissions.LIST)); sasPolicy.setPermissions(EnumSet.of( SharedAccessBlobPermissions.READ, SharedAccessBlobPermissions.WRITE,
public static String getContainerSasUri(CloudBlobContainer container) throws InvalidKeyException, StorageException { //Set the expiry time and permissions for the container. //In this case no start time is specified, so the shared access signature becomes valid immediately. SharedAccessBlobPolicy sasConstraints = new SharedAccessBlobPolicy(); Date expirationDate = Date.from(Instant.now().plus(Duration.ofDays(1))); sasConstraints.setSharedAccessExpiryTime(expirationDate); EnumSet<SharedAccessBlobPermissions> permissions = EnumSet.of( SharedAccessBlobPermissions.WRITE, SharedAccessBlobPermissions.LIST, SharedAccessBlobPermissions.READ, SharedAccessBlobPermissions.DELETE); sasConstraints.setPermissions(permissions); //Generate the shared access signature on the container, setting the constraints directly on the signature. String sasContainerToken = container.generateSharedAccessSignature(sasConstraints, null); //Return the URI string for the container, including the SAS token. return container.getUri() + "?" + sasContainerToken; } }
SharedAccessBlobPolicy policy1 = new SharedAccessBlobPolicy(); Calendar now = Calendar.getInstance(); policy1.setSharedAccessStartTime(now.getTime()); now.add(Calendar.MINUTE, 10); policy1.setSharedAccessExpiryTime(now.getTime()); policy1.setPermissions(EnumSet.of(SharedAccessBlobPermissions.READ, SharedAccessBlobPermissions.CREATE, SharedAccessBlobPermissions.LIST, SharedAccessBlobPermissions.DELETE)); expectedPermissions.getSharedAccessPolicies().put(UUID.randomUUID().toString(), policy1);
private final static SharedAccessBlobPolicy createSharedAccessPolicy(EnumSet<SharedAccessBlobPermissions> sap, int expireTimeInSeconds) { Calendar cal = new GregorianCalendar(TimeZone.getTimeZone("UTC")); cal.setTime(new Date()); cal.add(Calendar.SECOND, expireTimeInSeconds); SharedAccessBlobPolicy policy = new SharedAccessBlobPolicy(); policy.setPermissions(sap); policy.setSharedAccessExpiryTime(cal.getTime()); return policy; }
SharedAccessBlobPolicy policy = new SharedAccessBlobPolicy(); policy.setPermissions(EnumSet.of(SharedAccessBlobPermissions.LIST, SharedAccessBlobPermissions.CREATE)); policy.setSharedAccessStartTime(start); policy.setSharedAccessExpiryTime(expiry); permissions.getSharedAccessPolicies().put("key1", policy);
Map<String, String> additionalQueryParams, SharedAccessBlobHeaders optionalHeaders) { SharedAccessBlobPolicy policy = new SharedAccessBlobPolicy(); Date expiry = Date.from(Instant.now().plusSeconds(expirySeconds)); policy.setSharedAccessExpiryTime(expiry); policy.setPermissions(permissions);
@Test @Category({ DevFabricTests.class, DevStoreTests.class }) public void testCloudBlobContainerReferenceFromServerSAS() throws StorageException, URISyntaxException, IOException, InvalidKeyException { this.container.create(); CloudBlob blob = BlobTestHelper.uploadNewBlob(this.container, BlobType.BLOCK_BLOB, null, 1024, null); SharedAccessBlobPolicy policy = new SharedAccessBlobPolicy(); Calendar now = Calendar.getInstance(); now.add(Calendar.MINUTE, 10); policy.setSharedAccessExpiryTime(now.getTime()); policy.setPermissions(EnumSet.of(SharedAccessBlobPermissions.READ)); String token = this.container.generateSharedAccessSignature(policy, null); CloudBlobContainer containerSAS = new CloudBlobContainer(this.container.getStorageUri(), new StorageCredentialsSharedAccessSignature(token)); CloudBlob blobRef = containerSAS.getBlobReferenceFromServer(blob.getName()); assertEquals(blob.getClass(), blobRef.getClass()); assertEquals(blob.getUri(), blobRef.getUri()); }
CloudPageBlob snapshot = (CloudPageBlob) source.createSnapshot(); SharedAccessBlobPolicy policy = new SharedAccessBlobPolicy(); policy.setPermissions( EnumSet.of(SharedAccessBlobPermissions.READ, SharedAccessBlobPermissions.WRITE)); policy.setSharedAccessExpiryTime(cal.getTime());
SharedAccessBlobPolicy policy = new SharedAccessBlobPolicy(); policy.setPermissions(EnumSet.of(SharedAccessBlobPermissions.READ, SharedAccessBlobPermissions.WRITE)); policy.setSharedAccessExpiryTime(cal.getTime()); SharedAccessBlobPolicy policy = new SharedAccessBlobPolicy(); policy.setPermissions(EnumSet.of(SharedAccessBlobPermissions.READ, SharedAccessBlobPermissions.WRITE)); policy.setSharedAccessExpiryTime(cal.getTime());
CloudPageBlob snapshot = (CloudPageBlob) source.createSnapshot(); SharedAccessBlobPolicy policy = new SharedAccessBlobPolicy(); policy.setPermissions( EnumSet.of(SharedAccessBlobPermissions.READ, SharedAccessBlobPermissions.WRITE)); policy.setSharedAccessExpiryTime(cal.getTime());