This is an automated email from the ASF dual-hosted git repository. elek pushed a commit to branch HDDS-2181 in repository https://gitbox.apache.org/repos/asf/hadoop-ozone.git
commit fe572e67669b632830798b77964b74407e7a8616 Author: Vivek Ratnavel Subramanian <vivekratnave...@gmail.com> AuthorDate: Wed Sep 25 23:24:01 2019 -0700 HDDS-2181. Ozone Manager should send correct ACL type in ACL requests to Authorizer --- .../hadoop/ozone/om/request/bucket/OMBucketCreateRequest.java | 2 +- .../hadoop/ozone/om/request/file/OMDirectoryCreateRequest.java | 4 +++- .../hadoop/ozone/om/request/file/OMFileCreateRequest.java | 4 +++- .../hadoop/ozone/om/request/key/OMAllocateBlockRequest.java | 4 +++- .../apache/hadoop/ozone/om/request/key/OMKeyCommitRequest.java | 4 +++- .../apache/hadoop/ozone/om/request/key/OMKeyCreateRequest.java | 4 +++- .../apache/hadoop/ozone/om/request/key/OMKeyDeleteRequest.java | 4 +++- .../apache/hadoop/ozone/om/request/key/OMKeyRenameRequest.java | 4 +++- .../org/apache/hadoop/ozone/om/request/key/OMKeyRequest.java | 10 ++++++---- 9 files changed, 28 insertions(+), 12 deletions(-) diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/bucket/OMBucketCreateRequest.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/bucket/OMBucketCreateRequest.java index 06ebcc5..2dc0831 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/bucket/OMBucketCreateRequest.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/bucket/OMBucketCreateRequest.java @@ -143,7 +143,7 @@ public class OMBucketCreateRequest extends OMClientRequest { try { // check Acl if (ozoneManager.getAclsEnabled()) { - checkAcls(ozoneManager, OzoneObj.ResourceType.VOLUME, + checkAcls(ozoneManager, OzoneObj.ResourceType.BUCKET, OzoneObj.StoreType.OZONE, IAccessAuthorizer.ACLType.CREATE, volumeName, bucketName, null); } diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMDirectoryCreateRequest.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMDirectoryCreateRequest.java index 1c39433..3f53e54 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMDirectoryCreateRequest.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMDirectoryCreateRequest.java @@ -32,6 +32,7 @@ import org.apache.hadoop.ozone.om.helpers.OmKeyLocationInfoGroup; import org.apache.hadoop.ozone.om.helpers.OzoneAclUtil; import org.apache.hadoop.ozone.om.helpers.OzoneFSUtils; import org.apache.hadoop.ozone.om.ratis.utils.OzoneManagerDoubleBufferHelper; +import org.apache.hadoop.ozone.security.acl.IAccessAuthorizer; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -127,7 +128,8 @@ public class OMDirectoryCreateRequest extends OMKeyRequest { OMClientResponse omClientResponse = null; try { // check Acl - checkBucketAcls(ozoneManager, volumeName, bucketName, keyName); + checkKeyAcls(ozoneManager, volumeName, bucketName, keyName, + IAccessAuthorizer.ACLType.CREATE); // Check if this is the root of the filesystem. if (keyName.length() == 0) { diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMFileCreateRequest.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMFileCreateRequest.java index b51a4d6..a754f56 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMFileCreateRequest.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/file/OMFileCreateRequest.java @@ -31,6 +31,7 @@ import javax.annotation.Nonnull; import com.google.common.base.Optional; import com.google.common.base.Preconditions; import org.apache.hadoop.ozone.om.ratis.utils.OzoneManagerDoubleBufferHelper; +import org.apache.hadoop.ozone.security.acl.IAccessAuthorizer; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -177,7 +178,8 @@ public class OMFileCreateRequest extends OMKeyRequest { OMClientResponse omClientResponse = null; try { // check Acl - checkBucketAcls(ozoneManager, volumeName, bucketName, keyName); + checkKeyAcls(ozoneManager, volumeName, bucketName, keyName, + IAccessAuthorizer.ACLType.CREATE); // acquire lock acquiredLock = omMetadataManager.getLock().acquireLock(BUCKET_LOCK, diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMAllocateBlockRequest.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMAllocateBlockRequest.java index e800927..df565de 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMAllocateBlockRequest.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMAllocateBlockRequest.java @@ -26,6 +26,7 @@ import java.util.Map; import com.google.common.base.Optional; import com.google.common.base.Preconditions; import org.apache.hadoop.ozone.om.ratis.utils.OzoneManagerDoubleBufferHelper; +import org.apache.hadoop.ozone.security.acl.IAccessAuthorizer; import org.apache.hadoop.util.Time; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -169,7 +170,8 @@ public class OMAllocateBlockRequest extends OMKeyRequest { OmKeyInfo omKeyInfo = null; try { // check Acl - checkBucketAcls(ozoneManager, volumeName, bucketName, keyName); + checkKeyAcls(ozoneManager, volumeName, bucketName, keyName, + IAccessAuthorizer.ACLType.WRITE); OMMetadataManager omMetadataManager = ozoneManager.getMetadataManager(); validateBucketAndVolume(omMetadataManager, volumeName, diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyCommitRequest.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyCommitRequest.java index 69e5405..622deb8 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyCommitRequest.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyCommitRequest.java @@ -26,6 +26,7 @@ import java.util.stream.Collectors; import com.google.common.base.Optional; import com.google.common.base.Preconditions; import org.apache.hadoop.ozone.om.ratis.utils.OzoneManagerDoubleBufferHelper; +import org.apache.hadoop.ozone.security.acl.IAccessAuthorizer; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -115,7 +116,8 @@ public class OMKeyCommitRequest extends OMKeyRequest { OMMetadataManager omMetadataManager = ozoneManager.getMetadataManager(); try { // check Acl - checkBucketAcls(ozoneManager, volumeName, bucketName, keyName); + checkKeyAcls(ozoneManager, volumeName, bucketName, keyName, + IAccessAuthorizer.ACLType.CREATE); List<OmKeyLocationInfo> locationInfoList = commitKeyArgs .getKeyLocationsList().stream() diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyCreateRequest.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyCreateRequest.java index 2596646..05e7396 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyCreateRequest.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyCreateRequest.java @@ -26,6 +26,7 @@ import java.util.stream.Collectors; import com.google.common.base.Optional; import com.google.common.base.Preconditions; import org.apache.hadoop.ozone.om.ratis.utils.OzoneManagerDoubleBufferHelper; +import org.apache.hadoop.ozone.security.acl.IAccessAuthorizer; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -162,7 +163,8 @@ public class OMKeyCreateRequest extends OMKeyRequest { OMClientResponse omClientResponse = null; try { // check Acl - checkBucketAcls(ozoneManager, volumeName, bucketName, keyName); + checkKeyAcls(ozoneManager, volumeName, bucketName, keyName, + IAccessAuthorizer.ACLType.CREATE); acquireLock = omMetadataManager.getLock().acquireLock(BUCKET_LOCK, volumeName, bucketName); diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyDeleteRequest.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyDeleteRequest.java index eb366ad..0b9b1cb 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyDeleteRequest.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyDeleteRequest.java @@ -23,6 +23,7 @@ import java.util.Map; import com.google.common.base.Optional; import org.apache.hadoop.ozone.om.ratis.utils.OzoneManagerDoubleBufferHelper; +import org.apache.hadoop.ozone.security.acl.IAccessAuthorizer; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -109,7 +110,8 @@ public class OMKeyDeleteRequest extends OMKeyRequest { OMClientResponse omClientResponse = null; try { // check Acl - checkKeyAcls(ozoneManager, volumeName, bucketName, keyName); + checkKeyAcls(ozoneManager, volumeName, bucketName, keyName, + IAccessAuthorizer.ACLType.DELETE); String objectKey = omMetadataManager.getOzoneKey( volumeName, bucketName, keyName); diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyRenameRequest.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyRenameRequest.java index eb8a59e..c763d00 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyRenameRequest.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyRenameRequest.java @@ -24,6 +24,7 @@ import java.util.Map; import com.google.common.base.Optional; import com.google.common.base.Preconditions; import org.apache.hadoop.ozone.om.ratis.utils.OzoneManagerDoubleBufferHelper; +import org.apache.hadoop.ozone.security.acl.IAccessAuthorizer; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -118,7 +119,8 @@ public class OMKeyRenameRequest extends OMKeyRequest { OMException.ResultCodes.INVALID_KEY_NAME); } // check Acl - checkKeyAcls(ozoneManager, volumeName, bucketName, fromKeyName); + checkKeyAcls(ozoneManager, volumeName, bucketName, toKeyName, + IAccessAuthorizer.ACLType.CREATE); acquiredLock = omMetadataManager.getLock().acquireLock(BUCKET_LOCK, volumeName, bucketName); diff --git a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyRequest.java b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyRequest.java index 8e1e760..9520863 100644 --- a/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyRequest.java +++ b/hadoop-ozone/ozone-manager/src/main/java/org/apache/hadoop/ozone/om/request/key/OMKeyRequest.java @@ -507,10 +507,11 @@ public abstract class OMKeyRequest extends OMClientRequest { * @throws IOException */ protected void checkBucketAcls(OzoneManager ozoneManager, String volume, - String bucket, String key) throws IOException { + String bucket, String key, IAccessAuthorizer.ACLType aclType) + throws IOException { if (ozoneManager.getAclsEnabled()) { checkAcls(ozoneManager, OzoneObj.ResourceType.BUCKET, - OzoneObj.StoreType.OZONE, IAccessAuthorizer.ACLType.WRITE, + OzoneObj.StoreType.OZONE, aclType, volume, bucket, key); } } @@ -525,10 +526,11 @@ public abstract class OMKeyRequest extends OMClientRequest { * @throws IOException */ protected void checkKeyAcls(OzoneManager ozoneManager, String volume, - String bucket, String key) throws IOException { + String bucket, String key, IAccessAuthorizer.ACLType aclType) + throws IOException { if (ozoneManager.getAclsEnabled()) { checkAcls(ozoneManager, OzoneObj.ResourceType.KEY, - OzoneObj.StoreType.OZONE, IAccessAuthorizer.ACLType.WRITE, + OzoneObj.StoreType.OZONE, aclType, volume, bucket, key); } } --------------------------------------------------------------------- To unsubscribe, e-mail: hdfs-commits-unsubscr...@hadoop.apache.org For additional commands, e-mail: hdfs-commits-h...@hadoop.apache.org