기본 ONTAP S3 버킷 정책에 액세스 규칙을 추가합니다
기본 버킷 정책에 액세스 규칙을 추가할 수 있습니다. 접근 제어의 범위는 포함된 버킷이므로 하나의 버킷이 있을 때 가장 적합합니다.
S3 서버와 버킷이 포함된 S3 지원 스토리지 VM이 이미 존재해야 합니다.
권한을 부여하기 전에 사용자 또는 그룹을 이미 만들어야 합니다.
새 사용자와 그룹에 대한 새 문을 추가하거나 기존 문의 특성을 수정할 수 있습니다. 더 많은 옵션은 'vserver object-store-server bucket policy' man 페이지를 참조하십시오.
사용자 및 그룹 권한은 버킷이 생성될 때 또는 나중에 필요할 때 부여할 수 있습니다. 버킷 용량과 QoS 정책 그룹 할당을 수정할 수도 있습니다.
ONTAP 9.9.1부터 ONTAP S3 서버에서 AWS 클라이언트 개체 태그 지정 기능을 지원하려는 경우 해당 작업이 수행됩니다 GetObjectTagging
, PutObjectTagging
, 및 DeleteObjectTagging
버킷 또는 그룹 정책을 사용하여 허용되어야 합니다.
다음 절차는 사용하는 인터페이스에 따라 다릅니다. — System Manager 또는 CLI:
-
버킷 편집: * 저장소 > 버킷 * 을 클릭하고 원하는 버킷을 클릭한 다음 * 편집 * 을 클릭합니다. 사용 권한을 추가하거나 수정할 때 다음 매개 변수를 지정할 수 있습니다.
-
* Principal *: 액세스 권한이 부여된 사용자 또는 그룹입니다.
-
* 효과 *: 사용자 또는 그룹에 대한 액세스를 허용하거나 거부합니다.
-
* 조치 *: 주어진 사용자 또는 그룹에 대해 버킷에서 허용되는 작업.
-
* 리소스 *: 액세스가 부여되거나 거부되는 버킷 내의 객체 경로 및 이름입니다.
기본값은 bucketname * 및 *bucketname/ * * 이며 버킷의 모든 개체에 대한 액세스를 허용합니다. 단일 개체에 대한 액세스 권한을 부여할 수도 있습니다(예: *bucketname/*_readme.txt).
-
* 조건 * (선택 사항): 액세스를 시도할 때 계산되는 식입니다. 예를 들어, 액세스가 허용되거나 거부될 IP 주소 목록을 지정할 수 있습니다.
-
ONTAP 9.14.1부터 * 리소스 * 필드에서 버킷 정책의 변수를 지정할 수 있습니다. 이러한 변수는 정책을 평가할 때 상황별 값으로 대체되는 자리 표시자입니다. 예를 들어, IF를 입력합니다 ${aws:username} 이 정책에 대한 변수로 지정되면 이 변수가 요청 컨텍스트 사용자 이름으로 대체되고 해당 사용자에 대해 구성된 대로 정책 작업을 수행할 수 있습니다.
|
-
버킷 정책에 구문 추가:
'vserver object-store-server bucket policy add-statement-vserver_svm_name_-bucket_name_-effect{allow|deny}-action_object_store_actions_-principal_user_and_group_names_-resource_store_resources_[-sid text][-index integer]'
다음 매개 변수는 액세스 권한을 정의합니다.
효과
이 문은 액세스를 허용하거나 거부할 수 있습니다
액션
모든 작업을 의미하는 ' * '를 지정하거나, GetObject, PutObject, DeleteObject, ListBucket, GetBuckketAcl, GetObjectAcl 중 하나 이상의 목록을 지정할 수 있습니다. ListBuckketMultpartUploads, ListMultipartUploadParts를 참조하십시오.
``원자’’
하나 이상의 S3 사용자 또는 그룹 목록
-
최대 10명의 사용자 또는 그룹을 지정할 수 있습니다.
-
S3 Group을 지정한 경우 Group/group_name 형태의 그룹이어야 한다
-
'*'는 공개 액세스를 의미하도록 지정할 수 있습니다. 즉, 액세스 키와 비밀 키 없이 액세스할 수 있습니다.
-
보안 주체를 지정하지 않으면 스토리지 VM의 모든 S3 사용자에게 액세스 권한이 부여됩니다.
'-resource'
버킷과 버킷에 포함된 모든 물체 와일드카드 문자입니다
*
및?
리소스를 지정하기 위한 정규식을 만드는 데 사용할 수 있습니다. 리소스의 경우 정책에 변수를 지정할 수 있습니다. 정책 변수는 정책을 평가할 때 컨텍스트 값으로 대체되는 자리 표시자입니다.선택적으로 '-sid' 옵션을 사용하여 텍스트 문자열을 주석으로 지정할 수 있습니다.
-
다음 예에서는 객체 저장소 서버 사용자 user1의 readme 폴더에 대한 액세스를 허용하는 스토리지 VM svm1.example.com 및 bucket1에 대한 객체 저장소 서버 버킷 정책 문을 생성합니다.
cluster1::> vserver object-store-server bucket policy statement create -vserver svm1.example.com -bucket bucket1 -effect allow -action GetObject,PutObject,DeleteObject,ListBucket -principal user1 -resource bucket1/readme/* -sid "fullAccessToReadmeForUser1"
다음 예에서는 객체 저장소 서버 그룹 group1의 모든 객체에 대한 액세스를 허용하는 스토리지 VM svm1.example.com 및 bucket1에 대한 객체 저장소 서버 버킷 정책 문을 생성합니다.
cluster1::> vserver object-store-server bucket policy statement create -vserver svm1.example.com -bucket bucket1 -effect allow -action GetObject,PutObject,DeleteObject,ListBucket -principal group/group1 -resource bucket1/* -sid "fullAccessForGroup1"
ONTAP 9.14.1부터 버킷 정책에 대한 변수를 지정할 수 있습니다. 다음 예에서는 스토리지 VM에 대한 서버 버킷 정책 설명을 생성합니다 svm1
및 bucket1
, 및 은 지정합니다 ${aws:username}
정책 리소스에 대한 변수로 사용됩니다. 정책이 평가되면 정책 변수가 요청 컨텍스트 사용자 이름으로 대체되고 해당 사용자에 대해 구성된 대로 정책 작업을 수행할 수 있습니다. 예를 들어, 다음 정책 문을 평가할 때 ${aws:username}
S3 작업을 수행하는 사용자로 대체됩니다. 사용자인 경우 user1
사용자에게 액세스 권한이 부여된 작업을 수행합니다 bucket1
현재 bucket1/user1/*
.
cluster1::> object-store-server bucket policy statement create -vserver svm1 -bucket bucket1 -effect allow -action * -principal - -resource bucket1,bucket1/${aws:username}/*##