10.7. Multicloud Object Gateway의 버킷 정책
OpenShift Data Foundation은 AWS S3 버킷 정책을 지원합니다. 버킷 정책을 사용하면 버킷 및 해당 객체에 대한 액세스 권한을 사용자에게 부여할 수 있습니다.
10.7.1. 버킷 정책 정보
버킷 정책은 AWS S3 버킷 및 오브젝트에 대한 권한을 부여할 수 있는 액세스 정책 옵션입니다. 버킷 정책은 JSON 기반 액세스 정책 언어를 사용합니다. 액세스 정책 언어에 대한 자세한 내용은 AWS Access Policy Language Overview 를 참조하십시오.
10.7.2. 버킷 정책 사용
사전 요구 사항
- 실행 중인 OpenShift Data Foundation Platform.
- MCG(Multicloud Object Gateway)에 대한 액세스, 보기 10.2절. “애플리케이션을 사용하여 Multicloud Object Gateway에 액세스”
절차
MCG에서 버킷 정책을 사용하려면 다음을 수행합니다.
JSON 형식으로 버킷 정책을 생성합니다. 다음 예제를 참조하십시오.
{ "Version": "NewVersion", "Statement": [ { "Sid": "Example", "Effect": "Allow", "Principal": [ "john.doe@example.com" ], "Action": [ "s3:GetObject" ], "Resource": [ "arn:aws:s3:::john_bucket" ] } ] }
버킷 정책에는 액세스 권한과 관련하여 사용 가능한 많은 요소가 있습니다.
이러한 요소 및 액세스 권한을 제어하는 데 사용할 수 있는 방법에 대한 예제에 대한 자세한 내용은 AWS Access Policy Language 개요 를 참조하십시오.
버킷 정책의 예를 보려면 AWS 버킷 정책 예제 를 참조하십시오.
S3 사용자를 생성하는 방법은 10.7.3절. “Multicloud Object Gateway에서 AWS S3 사용자 생성” 에서 확인할 수 있습니다.
AWS S3 클라이언트를 사용하여
put-bucket-policy
명령을 사용하여 버킷 정책을 S3 버킷에 적용합니다.# aws --endpoint ENDPOINT --no-verify-ssl s3api put-bucket-policy --bucket MyBucket --policy BucketPolicy
-
S3 엔드포인트로
ENDPOINT
를 교체합니다. -
MyBucket
을 버킷으로 교체하여 정책을 에 설정합니다. -
BucketPolicy
를 버킷 정책 JSON 파일로 교체합니다. 기본 자체 서명 인증서를 사용하는 경우
--no-verify-ssl
을 추가합니다.예를 들면 다음과 같습니다.
# aws --endpoint https://s3-openshift-storage.apps.gogo44.noobaa.org --no-verify-ssl s3api put-bucket-policy -bucket MyBucket --policy file://BucketPolicy
put-bucket-policy 명령에 대한 자세한 내용은 put-bucket-policy 에 대한 AWS CLI 명령 참조를 참조하십시오.
참고principal 요소는 버킷과 같은 리소스에 대한 액세스가 허용되거나 거부된 사용자를 지정합니다. 현재는 NooBaa 계정만 주체로 사용할 수 있습니다. 개체 버킷 클레임의 경우 NooBaa는 자동으로 계정
obc-account.<generated 버킷 이름>@noobaa.io
를 생성합니다.참고버킷 정책 조건이 지원되지 않습니다.
-
S3 엔드포인트로
10.7.3. Multicloud Object Gateway에서 AWS S3 사용자 생성
사전 요구 사항
- 실행 중인 OpenShift Data Foundation Platform.
- MCG(Multicloud Object Gateway)에 대한 액세스, 보기 10.2절. “애플리케이션을 사용하여 Multicloud Object Gateway에 액세스”
절차
-
OpenShift 웹 콘솔에서 스토리지
데이터 기반 을 클릭합니다. - 상태 카드에서 Storage System (스토리지 시스템)을 클릭하고 표시되는 팝업에서 스토리지 시스템 링크를 클릭합니다.
- Object(개체 ) 탭에서 Multicloud Object Gateway(Multicloud Object Gateway) 링크를 클릭합니다.
Accounts (계정) 탭에서 Create Account(계정 만들기 )를 클릭합니다.
S3 액세스만 선택하고 계정 이름 (예: john.doe@example.com)을 입력합니다 . 다음을 클릭합니다.
S3 기본 배치 (예: noobaa-default-backing-store )를 선택합니다. 버킷 권한을 선택합니다. 특정 버킷 또는 모든 버킷을 선택할 수 있습니다. 생성을 클릭합니다.