Package org.jets3t.service.acl

Examples of org.jets3t.service.acl.AccessControlList


        return new RestS3Service(credentials, null, null, properties);
    }

    @Override
    protected AccessControlList buildAccessControlList() {
        return new AccessControlList();
    }
View Full Code Here


        super();
    }

    @Override
    protected AccessControlList buildAccessControlList() {
        return new AccessControlList();
    }
View Full Code Here

                completedObject.getMetadata("test-md-value"));
            assertEquals(
                metadata.get("test-timestamp-value").toString(),
                completedObject.getMetadata("test-timestamp-value").toString());
            // Confirm completed object has expected canned ACL settings
            AccessControlList completedObjectACL =
                service.getObjectAcl(bucketName, testMultipartUpload.getObjectKey());
            assertTrue(completedObjectACL.hasGranteeAndPermission(
                GroupGrantee.AUTHENTICATED_USERS, Permission.PERMISSION_READ));
        } finally {
            cleanupBucketForTest("testMultipartUploads");
        }
    }
View Full Code Here

            bos.write(testDataOverLimit);
            bos.close();
            testDataOverLimit = null; // Free up a some memory

            // Setup non-canned ACL
            AccessControlList testACL = buildAccessControlList();
            testACL.setOwner(service.getAccountOwner());
            testACL.grantPermission(GroupGrantee.AUTHENTICATED_USERS, Permission.PERMISSION_READ);

            // Setup file-based object
            StorageObject objectViaConvenienceMethod = new StorageObject(testDataFile);
            objectViaConvenienceMethod.setKey("multipart-object-via-convenience-method.txt");
            objectViaConvenienceMethod.addMetadata("my-metadata", "convenient? yes!");
            objectViaConvenienceMethod.setAcl(testACL);
            objectViaConvenienceMethod.setStorageClass(S3Object.STORAGE_CLASS_REDUCED_REDUNDANCY);

            // Upload object
            service.putObjectMaybeAsMultipart(bucketName, objectViaConvenienceMethod, fiveMB);

            // Confirm completed object exists and has expected metadata
            objectViaConvenienceMethod = service.getObjectDetails(
                bucketName, objectViaConvenienceMethod.getKey());
            assertEquals(
                "convenient? yes!",
                objectViaConvenienceMethod.getMetadata("my-metadata"));

            // Confirm custom ACL was applied automatically
            AccessControlList aclViaConvenienceMethod = service.getObjectAcl(
                bucketName, objectViaConvenienceMethod.getKey());
            assertEquals(
                testACL.getPermissionsForGrantee(GroupGrantee.AUTHENTICATED_USERS),
                aclViaConvenienceMethod.getPermissionsForGrantee(GroupGrantee.AUTHENTICATED_USERS));

            // Confirm completed object was indeed uploaded as a multipart upload,
            // not a standard PUT (ETag is not a valid MD5 hash in this case)
            assertFalse(ServiceUtils.isEtagAlsoAnMD5Hash(
                objectViaConvenienceMethod.getETag()));
View Full Code Here

            URL url = new URL(linkUrlPrefix + "/" + bucketName + "/" + RestUtils.encodeUrlString(privateKey));
            assertEquals("Expected denied access (403) error", 403, ((HttpURLConnection) url
                .openConnection()).getResponseCode());

            // Get ACL details for private object so we can determine the account owner ID.
            AccessControlList objectACL = service.getObjectAcl(bucketName, privateKey);
            StorageOwner accountOwner = objectACL.getOwner();

            // Create a public object.
            String publicKey = "Public Object - " + System.currentTimeMillis();
            object = new StorageObject(publicKey, "Public object sample text");
            AccessControlList acl = buildAccessControlList();
            acl.setOwner(accountOwner);
            acl.grantPermission(allUsersGrantee, Permission.PERMISSION_READ);
            object.setAcl(acl);
            service.putObject(bucketName, object);
            url = new URL(linkUrlPrefix + "/" + bucketName + "/" + RestUtils.encodeUrlString(publicKey));
            assertEquals("Expected access (200)",
                    200, ((HttpURLConnection)url.openConnection()).getResponseCode());

            // Update ACL to make private object public.
            AccessControlList privateToPublicACL = service.getObjectAcl(bucketName, privateKey);
            privateToPublicACL.grantPermission(allUsersGrantee, Permission.PERMISSION_READ);
            object.setKey(privateKey);
            object.setAcl(privateToPublicACL);
            service.putObjectAcl(bucketName, object);
            url = new URL(linkUrlPrefix + "/" + bucketName + "/" + RestUtils.encodeUrlString(privateKey));
            assertEquals("Expected access (200)", 200, ((HttpURLConnection) url.openConnection())
                .getResponseCode());

            // Create a non-standard uncanned public object.
            String publicKey2 = "Public Object - " + System.currentTimeMillis();
            object = new StorageObject(publicKey2);
            object.setAcl(privateToPublicACL); // This ACL has ALL_USERS READ permission set above.
            service.putObject(bucketName, object);
            url = new URL(linkUrlPrefix + "/" + bucketName + "/" + RestUtils.encodeUrlString(publicKey2));
            assertEquals("Expected access (200)", 200, ((HttpURLConnection) url.openConnection())
                .getResponseCode());

            // Update ACL to make public object private.
            AccessControlList publicToPrivateACL = service.getObjectAcl(bucketName, publicKey);
            publicToPrivateACL.revokeAllPermissions(allUsersGrantee);
            object.setKey(publicKey);
            object.setAcl(publicToPrivateACL);
            service.putObjectAcl(bucketName, object);
            // TODO: Google Storage quirk: It may take some time for public object to become private again
            if (TARGET_SERVICE_GS.equals(getTargetService())) {
                // Confirm changes were applied on object's ACL, because we don't know
                // how long to wait until the object will really become private again.
                AccessControlList updatedAcl = service.getObjectAcl(bucketName, object.getKey());
                assertFalse(updatedAcl.hasGranteeAndPermission(
                    allUsersGrantee, Permission.PERMISSION_READ));
                assertEquals(0, updatedAcl.getPermissionsForGrantee(allUsersGrantee).size());
            } else {
                // In S3, objects are made private immediately.
                url = new URL(linkUrlPrefix + "/" + bucketName + "/" + RestUtils.encodeUrlString(publicKey));
                assertEquals("Expected denied access (403) error", 403, ((HttpURLConnection) url
                    .openConnection()).getResponseCode());
View Full Code Here

    public void testACLManagementViaRestHeaders() throws Exception {
        RestStorageService service = getStorageService(getCredentials());
        StorageBucket bucket = createBucketForTest("testACLManagementViaRestHeaders");

        AccessControlList publicHeaderAcl = null;
        if (service instanceof GoogleStorageService) {
            publicHeaderAcl = GSAccessControlList.REST_CANNED_PUBLIC_READ;
        } else {
            publicHeaderAcl = AccessControlList.REST_CANNED_PUBLIC_READ;
        }
View Full Code Here

            // Display grants table.
            grantsTable.setVisible(true);
            while (grantsTableModel.getRowCount() > 0) {
                grantsTableModel.removeRow(0);
            }
            AccessControlList acl = bucket.getAcl();
            for (GrantAndPermission gap: acl.getGrantAndPermissions()) {
                grantsTableModel.addRow(new Object[] {
                    gap.getGrantee().getIdentifier(), gap.getPermission().toString()});
            }
        } else {
            grantsTable.setVisible(false);
View Full Code Here

        }

        public void run() {
            try {
                if (signedAclUrl == null) {
                    AccessControlList acl = s3Service.getObjectAcl(bucket, object.getKey());
                    object.setAcl(acl);
                    result = object;
                } else {
                    SignedUrlHandler handler = s3Service;
                    AccessControlList acl = handler.getObjectAclWithSignedUrl(signedAclUrl);
                    URL url = new URL(signedAclUrl);
                    object = ServiceUtils.buildObjectFromUrl(
                        url.getHost(), url.getPath(), s3Service.getEndpoint());
                    object.setAcl(acl);
                    result = object;
View Full Code Here

    {
        try {
            assertValidBucket(bucket, "Put Versioned Object Access Control List");
            assertValidObject(object, "Put Versioned Object Access Control List");
            String objectKey = object.getKey();
            AccessControlList acl = object.getAcl();
            if (acl == null) {
                throw new S3ServiceException("The object '" + objectKey +
                    "' does not include ACL information");
            }
            putObjectAclImpl(bucket.getName(), objectKey, acl, versionId);
View Full Code Here

                }
                boolean isSetLoggingGroupWrite = false;
                boolean isSetLoggingGroupReadACP = false;
                String groupIdentifier = GroupGrantee.LOG_DELIVERY.getIdentifier();

                AccessControlList logBucketACL = getBucketAcl(status.getTargetBucketName());

                for (GrantAndPermission gap: logBucketACL.getGrantAndPermissions()) {
                    if (groupIdentifier.equals(gap.getGrantee().getIdentifier())) {
                        // Found a Group Grantee.
                        if (gap.getPermission().equals(Permission.PERMISSION_WRITE)) {
                            isSetLoggingGroupWrite = true;
                            if (log.isDebugEnabled()) {
                                log.debug("Target bucket '" + status.getTargetBucketName() + "' has ACL "
                                        + "permission " + Permission.PERMISSION_WRITE + " for group " +
                                        groupIdentifier);
                            }
                        } else if (gap.getPermission().equals(Permission.PERMISSION_READ_ACP)) {
                            isSetLoggingGroupReadACP = true;
                            if (log.isDebugEnabled()) {
                                log.debug("Target bucket '" + status.getTargetBucketName() + "' has ACL "
                                    + "permission " + Permission.PERMISSION_READ_ACP + " for group " +
                                    groupIdentifier);
                            }
                        }
                    }
                }

                // Update target bucket's ACL if necessary.
                if (!isSetLoggingGroupWrite || !isSetLoggingGroupReadACP) {
                    if (log.isWarnEnabled()) {
                        log.warn("Target logging bucket '" + status.getTargetBucketName()
                            + "' does not have the necessary ACL settings, updating ACL now");
                    }

                    logBucketACL.grantPermission(GroupGrantee.LOG_DELIVERY, Permission.PERMISSION_WRITE);
                    logBucketACL.grantPermission(GroupGrantee.LOG_DELIVERY, Permission.PERMISSION_READ_ACP);
                    putBucketAcl(status.getTargetBucketName(), logBucketACL);
                } else {
                    if (log.isDebugEnabled()) {
                        log.debug("Target logging bucket '" + status.getTargetBucketName()
                            + "' has the necessary ACL settings");
View Full Code Here

TOP

Related Classes of org.jets3t.service.acl.AccessControlList

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.