7.2. 버킷 정책 사용

사전 요구 사항

절차

MCG에서 버킷 정책을 사용하려면 다음을 수행합니다.

  1. 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 Bucket Policy Examples 를 참조하십시오.

    S3 사용자 생성에 대한 지침은 7.3절. “Multicloud Object Gateway에서 AWS S3 사용자 생성” 에서 확인할 수 있습니다.

  2. AWS S3 클라이언트를 사용하여 put-bucket-policy 명령을 사용하여 버킷 정책을 S3 버킷에 적용합니다.

    # aws --endpoint ENDPOINT --no-verify-ssl s3api put-bucket-policy --bucket MyBucket --policy BucketPolicy
    1. ENDPOINT 를 S3 끝점으로 교체합니다.
    2. MyBucket 을 버킷으로 교체하여 정책을 설정합니다.
    3. BucketPolicy 를 버킷 정책 JSON 파일로 교체합니다.
    4. 기본 자체 서명된 인증서를 사용하는 경우 --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 명령에 대한 자세한 내용은 AWS CLI 명령 참조에서 put-bucket-policy 를 참조하십시오.

      참고

      principal 요소는 버킷과 같이 리소스에 대한 액세스 허용 또는 거부된 사용자를 지정합니다. 현재 NooBaa 계정만 보안 주체로 사용할 수 있습니다. 객체 버킷 클레임의 경우 NooBaa는 obc-account.<generated bucket name>@noobaa.io.io 계정을 자동으로 생성합니다.

      참고

      버킷 정책 조건은 지원되지 않습니다.