/** * Creates an instance of the <code>BlobContainerPermissions</code> class. */ public BlobContainerPermissions() { super(); this.setPublicAccess(BlobContainerPublicAccessType.OFF); }
/** * Creates an instance of the <code>BlobContainerPermissions</code> class. */ public BlobContainerPermissions() { super(); this.setPublicAccess(BlobContainerPublicAccessType.OFF); }
/** * Converts the ACL string to a BlobContainerPermissions object. * * @param aclString * A <code>String</code> which specifies the ACLs to convert. * * @return A {@link BlobContainerPermissions} object which represents the ACLs. */ static BlobContainerPermissions getContainerAcl(final String aclString) { BlobContainerPublicAccessType accessType = BlobContainerPublicAccessType.parse(aclString); final BlobContainerPermissions retVal = new BlobContainerPermissions(); retVal.setPublicAccess(accessType); return retVal; }
/** * Converts the ACL string to a BlobContainerPermissions object. * * @param aclString * A <code>String</code> which specifies the ACLs to convert. * * @return A {@link BlobContainerPermissions} object which represents the ACLs. */ static BlobContainerPermissions getContainerAcl(final String aclString) { BlobContainerPublicAccessType accessType = BlobContainerPublicAccessType.parse(aclString); final BlobContainerPermissions retVal = new BlobContainerPermissions(); retVal.setPublicAccess(accessType); return retVal; }
/** * Create a connection to Azure Blob file storage system */ private void connect(String protocol, String accountName, String accountKey, String bucketName) { if (bucketName == null || bucketName.trim().isEmpty()) throw new ConfigurationException("Defined Azure Blog bucket is invalid."); //container name MUST be lowercase bucketName = bucketName.toLowerCase(); String connectionString = MessageFormat.format(CONNECTION_PATTERN, protocol, accountName, accountKey); try { CloudStorageAccount blobAccount = CloudStorageAccount.parse(connectionString); this.blobClient = blobAccount.createCloudBlobClient(); this.blobContainer = blobClient.getContainerReference(bucketName); boolean isBucketNotExist = blobContainer.createIfNotExists(); if (isBucketNotExist) log.info("New Azure Blob container created: " + bucketName); //Set access to public for blob resource BlobContainerPermissions containerPermissions = new BlobContainerPermissions(); containerPermissions.setPublicAccess(BlobContainerPublicAccessType.CONTAINER); blobContainer.uploadPermissions(containerPermissions); } catch (Exception exception) { log.error(exception.getMessage(), exception); throw new ConfigurationException(exception); } }
BlobContainerPermissions containerPermissions = new BlobContainerPermissions(); containerPermissions.setPublicAccess(BlobContainerPublicAccessType.OFF);
@Test @Category(SlowTests.class) public void testContainerPublicAccess() throws StorageException, IOException, URISyntaxException, InterruptedException { CloudBlockBlob testBlockBlob = (CloudBlockBlob) BlobTestHelper.uploadNewBlob( this.container, BlobType.BLOCK_BLOB, "blockblob", 64, null); CloudPageBlob testPageBlob = (CloudPageBlob) BlobTestHelper.uploadNewBlob( this.container, BlobType.PAGE_BLOB, "pageblob", 512, null); BlobContainerPermissions permissions = new BlobContainerPermissions(); permissions.setPublicAccess(BlobContainerPublicAccessType.CONTAINER); this.container.uploadPermissions(permissions); Thread.sleep(35000); testAccess(null, EnumSet.of(SharedAccessBlobPermissions.LIST, SharedAccessBlobPermissions.READ), null, this.container, testBlockBlob); testAccess(null, EnumSet.of(SharedAccessBlobPermissions.LIST, SharedAccessBlobPermissions.READ), null, this.container, testPageBlob); permissions.setPublicAccess(BlobContainerPublicAccessType.BLOB); this.container.uploadPermissions(permissions); Thread.sleep(30000); testAccess(null, EnumSet.of(SharedAccessBlobPermissions.READ), null, this.container, testBlockBlob); testAccess(null, EnumSet.of(SharedAccessBlobPermissions.READ), null, this.container, testPageBlob); }
containerPermissions.setPublicAccess(BlobContainerPublicAccessType.OFF);
containerPermissions.setPublicAccess(BlobContainerPublicAccessType.OFF);
@Override public void setPermission(final Path file, final Acl acl) throws BackgroundException { try { if(containerService.isContainer(file)) { final CloudBlobContainer container = session.getClient() .getContainerReference(containerService.getContainer(file).getName()); final BlobContainerPermissions permissions = container.downloadPermissions(null, null, context); for(Acl.UserAndRole userAndRole : acl.asList()) { if(userAndRole.getUser() instanceof Acl.GroupUser) { if(userAndRole.getUser().getIdentifier().equals(Acl.GroupUser.EVERYONE)) { permissions.setPublicAccess(BlobContainerPublicAccessType.BLOB); } } } container.uploadPermissions(permissions, null, null, context); } } catch(URISyntaxException e) { throw new NotfoundException(e.getMessage(), e); } catch(StorageException e) { throw new AzureExceptionMappingService().map("Cannot change permissions of {0}", e, file); } } }
.setPublicAccess(BlobContainerPublicAccessType.CONTAINER);
final Date expiry = cal.getTime(); permissions.setPublicAccess(BlobContainerPublicAccessType.CONTAINER); SharedAccessBlobPolicy policy = new SharedAccessBlobPolicy(); policy.setPermissions(EnumSet.of(SharedAccessBlobPermissions.LIST, SharedAccessBlobPermissions.CREATE));
.setPublicAccess(BlobContainerPublicAccessType.CONTAINER);
.setPublicAccess(BlobContainerPublicAccessType.CONTAINER);
BlobContainerPermissions permissions = new BlobContainerPermissions(); for (BlobContainerPublicAccessType accessType : accessTypes) { permissions.setPublicAccess(accessType); container.uploadPermissions(permissions); assertEquals(accessType, container.properties.getPublicAccess());
perms.setPublicAccess(BlobContainerPublicAccessType.BLOB);
permissions2.setPublicAccess(accessType); container2.uploadPermissions(permissions); assertEquals(accessType, container2.properties.getPublicAccess());