Search in sources :

Example 1 with Grant

use of com.amazonaws.services.s3.model.Grant in project alluxio by Alluxio.

the class S3AUtils method translateBucketAcl.

/**
   * Translates S3 bucket ACL to Alluxio owner mode.
   *
   * @param acl the acl of S3 bucket
   * @param userId the S3 user id of the Alluxio owner
   * @return the translated posix mode in short format
   */
public static short translateBucketAcl(AccessControlList acl, String userId) {
    short mode = (short) 0;
    for (Grant grant : acl.getGrantsAsList()) {
        Permission perm = grant.getPermission();
        Grantee grantee = grant.getGrantee();
        if (perm.equals(Permission.Read)) {
            if (isUserIdInGrantee(grantee, userId)) {
                // If the bucket is readable by the user, add r and x to the owner mode.
                mode |= (short) 0500;
            }
        } else if (perm.equals(Permission.Write)) {
            if (isUserIdInGrantee(grantee, userId)) {
                // If the bucket is writable by the user, +w to the owner mode.
                mode |= (short) 0200;
            }
        } else if (perm.equals(Permission.FullControl)) {
            if (isUserIdInGrantee(grantee, userId)) {
                // If the user has full control to the bucket, +rwx to the owner mode.
                mode |= (short) 0700;
            }
        }
    }
    return mode;
}
Also used : Grant(com.amazonaws.services.s3.model.Grant) GroupGrantee(com.amazonaws.services.s3.model.GroupGrantee) Grantee(com.amazonaws.services.s3.model.Grantee) Permission(com.amazonaws.services.s3.model.Permission)

Example 2 with Grant

use of com.amazonaws.services.s3.model.Grant in project aws-doc-sdk-examples by awsdocs.

the class GetAcl method getBucketAcl.

public static void getBucketAcl(String bucket_name) {
    System.out.println("Retrieving ACL for bucket: " + bucket_name);
    final AmazonS3 s3 = AmazonS3ClientBuilder.defaultClient();
    try {
        AccessControlList acl = s3.getBucketAcl(bucket_name);
        List<Grant> grants = acl.getGrantsAsList();
        for (Grant grant : grants) {
            System.out.format("  %s: %s\n", grant.getGrantee().getIdentifier(), grant.getPermission().toString());
        }
    } catch (AmazonServiceException e) {
        System.err.println(e.getErrorMessage());
        System.exit(1);
    }
}
Also used : AccessControlList(com.amazonaws.services.s3.model.AccessControlList) AmazonS3(com.amazonaws.services.s3.AmazonS3) Grant(com.amazonaws.services.s3.model.Grant) AmazonServiceException(com.amazonaws.AmazonServiceException)

Example 3 with Grant

use of com.amazonaws.services.s3.model.Grant in project aws-doc-sdk-examples by awsdocs.

the class GetAcl method getObjectAcl.

public static void getObjectAcl(String bucket_name, String object_key) {
    System.out.println("Retrieving ACL for object: " + object_key);
    System.out.println("                in bucket: " + bucket_name);
    final AmazonS3 s3 = AmazonS3ClientBuilder.defaultClient();
    try {
        AccessControlList acl = s3.getObjectAcl(bucket_name, object_key);
        List<Grant> grants = acl.getGrantsAsList();
        for (Grant grant : grants) {
            System.out.format("  %s: %s\n", grant.getGrantee().getIdentifier(), grant.getPermission().toString());
        }
    } catch (AmazonServiceException e) {
        System.err.println(e.getErrorMessage());
        System.exit(1);
    }
}
Also used : AccessControlList(com.amazonaws.services.s3.model.AccessControlList) AmazonS3(com.amazonaws.services.s3.AmazonS3) Grant(com.amazonaws.services.s3.model.Grant) AmazonServiceException(com.amazonaws.AmazonServiceException)

Aggregations

Grant (com.amazonaws.services.s3.model.Grant)3 AmazonServiceException (com.amazonaws.AmazonServiceException)2 AmazonS3 (com.amazonaws.services.s3.AmazonS3)2 AccessControlList (com.amazonaws.services.s3.model.AccessControlList)2 Grantee (com.amazonaws.services.s3.model.Grantee)1 GroupGrantee (com.amazonaws.services.s3.model.GroupGrantee)1 Permission (com.amazonaws.services.s3.model.Permission)1