Cloud Storage의 조직 정책 설정

이 페이지에서는 프로젝트 수준 이상에서 Cloud Storage 관련 조직 정책을 설정하는 방법을 설명합니다. 이 방법은 조직 전체의 버킷 설정을 관리하는 데 유용합니다. 현재 Cloud Storage에서 사용할 수 있는 조직 정책에는 두 가지가 있습니다. 하나는 버킷 보관 정책 잠금용이고 다른 하나는 버킷 정책 전용 기능용입니다.

보관 정책 제약조건 설정

조직 전체의 버킷이 적절한 보관 정책으로 생성되도록 하려면 다음 안내를 따르세요.

gcloud

  1. 다음 정보를 포함하는 .json 파일을 만듭니다. 여기에서 [VALUES_IN_BRACKETS]를 적절한 값으로 바꿉니다.

    {
        "constraint": "constraints/storage.retentionPolicySeconds",
        "listPolicy": {
          "allowedValues": [SET_OF_TIMES_IN_SECONDS],
          "inheritFromParent": "[BOOLEAN]"
        }
      }

    제약조건에 허용되는 값이 여러 개 있을 수 있습니다. 예를 들면 다음과 같습니다.

    "allowedValues": [ "100", "200", "1000" ]
  2. gcloud beta resource-manager org-policies set-policy 명령어를 사용합니다. 여기서 [VALUES_IN_BRACKETS]를 적절한 값으로 바꿉니다.

    gcloud beta resource-manager org-policies set-policy [JSON_FILE_NAME].json --[RESOURCE_TYPE]=[RESOURCE_NAME]

JSON API

  1. OAuth 2.0 Playground에서 승인 액세스 토큰을 가져옵니다. OAuth 사용자 인증 정보를 사용하도록 Playground를 구성합니다.
  2. 다음 정보를 포함하는 .json 파일을 만듭니다. 여기에서 [VALUES_IN_BRACKETS]를 적절한 값으로 바꿉니다.

    {
        "constraint": "constraints/storage.retentionPolicySeconds",
        "listPolicy": {
          "allowedValues": [SET_OF_TIMES_IN_SECONDS],
          "inheritFromParent": "[BOOLEAN]"
        }
      }

    제약조건에 허용되는 값이 여러 개 있을 수 있습니다. 예를 들면 다음과 같습니다.

    "allowedValues": [ "100", "200", "1000" ]
  3. cURL을 사용하여 POST 요청으로 JSON API를 호출합니다. 여기서 [VALUES_IN_BRACKETS]를 적절한 값으로 바꿉니다.

    curl -X POST --data-binary @[JSON_FILE_NAME].json \
    -H "Authorization: Bearer [OAUTH2_TOKEN]" \
    -H "Content-Type: application/json" \
    "https://cloudresourcemanager.googleapis.com/v1/[RESOURCE_TYPE]/[RESOURCE_ID]:setOrgPolicy"

버킷 정책 전용 제약조건 설정

조직 전체의 버킷이 버킷 정책 전용 기능을 사용 설정한 상태로 생성되도록 하고, 기존 버킷이 버킷 정책 전용 기능을 사용 중지하지 않도록 하려면 다음 안내를 따르세요.

gcloud

  1. 다음 정보를 포함하는 .json 파일을 만듭니다. 여기서 [VALUES_IN_BRACKETS]를 적절한 값으로 바꿉니다.

    {
        "constraint": "constraints/storage.bucketPolicyOnly",
        "booleanPolicy": {
          "enforced": "[BOOLEAN]"
        }
      }

  2. gcloud beta resource-manager org-policies set-policy 명령어를 사용합니다. 여기서 [VALUES_IN_BRACKETS]를 적절한 값으로 바꿉니다.

    gcloud beta resource-manager org-policies set-policy [JSON_FILE_NAME].json --[RESOURCE_TYPE]=[RESOURCE_NAME]

JSON API

  1. OAuth 2.0 Playground에서 승인 액세스 토큰을 가져옵니다. OAuth 사용자 인증 정보를 사용하도록 Playground를 구성합니다.
  2. 다음 정보를 포함하는 .json 파일을 만듭니다. 여기서 [VALUES_IN_BRACKETS]를 적절한 값으로 바꿉니다.

    {
        "constraint": "constraints/storage.bucketPolicyOnly",
        "booleanPolicy": {
          "enforced": "[BOOLEAN]"
        }
      }
  3. cURL을 사용하여 POST 요청으로 JSON API를 호출합니다. 여기서 [VALUES_IN_BRACKETS]를 적절한 값으로 바꿉니다.

    curl -X POST --data-binary @[JSON_FILE_NAME].json \
    -H "Authorization: Bearer [OAUTH2_TOKEN]" \
    -H "Content-Type: application/json" \
    "https://cloudresourcemanager.googleapis.com/v1/[RESOURCE_TYPE]/[RESOURCE_ID]:setOrgPolicy"

조직 정책 제약조건 삭제

기존 조직 정책 제약조건을 삭제하려면 다음 안내를 따르세요.

gcloud

  1. gcloud beta resource-manager org-policies delete 명령어를 사용합니다. 여기서 [VALUES_IN_BRACKETS]를 적절한 값으로 바꿉니다.

    gcloud beta resource-manager org-policies delete [CONSTAINT_NAME] --[RESOURCE_TYPE]=[RESOURCE_NAME]

JSON API

  1. OAuth 2.0 Playground에서 승인 액세스 토큰을 가져옵니다. OAuth 사용자 인증 정보를 사용하도록 Playground를 구성합니다.
  2. 다음 정보를 포함하는 .json 파일을 만듭니다. 여기서 [VALUES_IN_BRACKETS]를 적절한 값으로 바꿉니다.

    {
        "constraint": "[CONSTRAINT_NAME]",
      }
  3. cURL을 사용하여 POST 요청으로 JSON API를 호출합니다. 여기서 [VALUES_IN_BRACKETS]를 적절한 값으로 바꿉니다.

    curl -X POST --data-binary @[JSON_FILE_NAME].json \
    -H "Authorization: Bearer [OAUTH2_TOKEN]" \
    -H "Content-Type: application/json" \
    "https://cloudresourcemanager.googleapis.com/v1/[RESOURCE_TYPE]/[RESOURCE_ID]:clearOrgPolicy"

조직 정책 사용 시 고려사항

  • 프로젝트 수준 또는 그보다 상위 수준에서 조직 리소스를 포함하여 모든 리소스에 제약조건을 적용할 수 있습니다.

  • 리소스의 새 버킷을 만들 때뿐만 아니라 리소스의 기존 버킷에서 관련 매개변수를 추가/업데이트할 때도 제약 조건이 적용됩니다.

  • 기존 버킷에 제약조건이 소급 적용되지는 않습니다(단, 이러한 버킷에 관련 매개변수가 설정되는 경우는 예외).

  • 보관 정책 제약조건의 경우 여러 리소스 수준에 여러 제약조건을 설정하면 계층적으로 적용됩니다. 따라서 inheritFromParent 필드를 true로 설정하여 상위 레이어에 있는 정책도 고려하는 것이 좋습니다.

이 페이지가 도움이 되었나요? 평가를 부탁드립니다.

다음에 대한 의견 보내기...

도움이 필요하시나요? 지원 페이지를 방문하세요.