이 페이지에서는 Cloud Storage에 적용되는 조직 정책 제약조건에 대한 추가 정보를 제공합니다. 제약조건을 사용하여 전체 프로젝트나 조직 전반에서 버킷 동작과 객체 동작을 적용합니다. 조직 정책 제약조건은 불리언 제약조건 또는 목록 제약조건일 수 있습니다.
Cloud Storage 제약조건
다음 제약조건은 조직 정책에 적용할 수 있으며 Cloud Storage와 관련이 있습니다.
공개 액세스 방지 적용
제약조건 이름: constraints/storage.publicAccessPrevention
제약조건 유형: boolean
리소스에 publicAccessPrevention
제약조건을 적용하면 해당 리소스에 속한 모든 기존 및 신규 버킷과 객체에 공개 액세스가 제한됩니다.
publicAccessPrevention
의 사용 설정 또는 사용 중지가 적용되는 데 최대 10분이 걸릴 수 있습니다.
소프트 삭제 보관 기간
제약조건 이름: constraints/storage.softDeletePolicySeconds
제약조건 유형: list
softDeletePolicySeconds
제약조건을 적용할 때 제약조건의 일부로 하나 이상의 기간을 지정합니다. 설정한 후에는 지정된 기간 중 하나가 버킷 소프트 삭제 정책에 포함되어야 합니다.
softDeletePolicySeconds
는 새 버킷을 만들 때와 기존 버킷의 소프트 삭제 보관 기간(softDeletePolicy.retentionDuration
)을 추가하거나 업데이트할 때 필요합니다. 그러나 기존 버킷에는 영향을 주지 않습니다.
서로 다른 리소스 수준에 설정된 여러 softDeletePolicySeconds
제약조건은 계층적으로 적용됩니다. 따라서 상위 계층의 정책도 고려할 수 있도록 inheritFromParent
필드를 true
로 설정하는 것이 좋습니다.
버킷 보관 정책 기간(초)
제약조건 이름: constraints/storage.retentionPolicySeconds
제약조건 유형: list
retentionPolicySeconds
제약조건을 적용할 때 제약조건의 일부로 하나 이상의 기간을 지정합니다. 설정한 후에는 지정된 기간 중 하나가 버킷 보관 정책에 포함되어야 합니다. retentionPolicySeconds
는 새 버킷을 만들 때 그리고 기존 버킷의 보관 기간을 추가하거나 업데이트할 때 필요합니다. 하지만 기존 버킷에는 필요하지 않습니다.
서로 다른 리소스 수준에 설정된 여러 retentionPolicySeconds
제약조건은 계층적으로 적용됩니다. 따라서 상위 계층의 정책도 고려할 수 있도록 inheritFromParent
필드를 true
로 설정하는 것이 좋습니다.
균일한 버킷 수준 액세스 필요
제약조건 이름: constraints/storage.uniformBucketLevelAccess
제약조건 유형: boolean
uniformBucketLevelAccess
제약조건을 적용할 때 새 버킷은 균일한 버킷 수준 액세스 기능을 사용 설정해야 하고 이 기능이 사용 설정된 기존 버킷은 이 기능을 사용 중지할 수 없습니다. 균일한 버킷 수준 액세스가 사용 중지된 기존 버킷은 이 기능을 사용 설정하지 않아도 됩니다.
상세한 감사 로깅 모드
제약조건 이름: constraints/gcp.detailedAuditLoggingMode
제약조건 유형: boolean
detailedAuditLoggingMode
제한을 적용하면 Cloud Storage 작업과 연결된 Cloud 감사 로그에 자세한 요청 및 응답 정보가 포함됩니다. 이 제약조건은 SEC 규칙 17a-4(f), CFTC 규칙 1.31(c)-(d), FINRA 규칙 4511(c)와 같은 다양한 규정을 준수하고자 할 때 버킷 잠금 및 객체 보관 잠금과 함께 사용하는 것이 좋습니다.
로깅된 정보에는 쿼리 매개변수, 경로 매개변수, 요청 본문 매개변수가 포함됩니다. 로그는 민감한 정보와 관련된 요청 및 응답의 특정 부분을 제외합니다. 예를 들어 로그는 다음을 제외합니다.
- 사용자 인증 정보(예:
Authorization
,X-Goog-Signature
,upload-id
) x-goog-encryption-key
와 같은 암호화 키 정보- 원시 객체 데이터
이 제약조건을 사용할 때는 다음 사항에 유의하세요.
- 상세한 요청 및 응답 정보가 보장되지는 않습니다. 드물지만 빈 로그가 반환될 수 있습니다.
detailedAuditLoggingMode
를 사용 설정하면 감사 로그에 저장된 데이터 양이 늘어나므로 데이터 액세스 로그의 Cloud Logging 요금에 영향을 미칠 수 있습니다.detailedAuditLoggingMode
를 사용 설정 또는 사용 중지하는 데 최대 10분이 걸릴 수 있습니다.로깅된 요청 및 응답은 JSON API의 필드 이름과 일치하는 일반 형식으로 기록됩니다.
인증 유형 제한
제약조건 이름: constraints/storage.restrictAuthTypes
제약조건 유형: list
restrictAuthTypes
제약조건을 적용하면 요청 유효성에 관계없이 제한된 인증 유형을 사용하여 Cloud Storage 리소스에 액세스하는 요청이 실패합니다. restrictAuthTypes
제약조건으로 HMAC 키를 제한하면 규제 요건을 충족하거나 데이터 보안을 강화할 수 있습니다.
목록 제약조건은 다른 유형을 모두 허용하면서 특정 인증 유형을 명시적으로 거부합니다. 이렇게 하려면 restrictAuthTypes
제약조건의 rules
내에서 deniedValues
키에 제한된 인증 유형을 나열해야 합니다. allowedValues
키에 제한된 인증 유형을 나열하려고 하면 오류가 발생합니다.
다음 인증 유형을 제한할 수 있습니다.
SERVICE_ACCOUNT_HMAC_SIGNED_REQUESTS
: 서비스 계정 HMAC 키로 서명된 요청을 제한합니다.USER_ACCOUNT_HMAC_SIGNED_REQUESTS
: 사용자 계정 HMAC 키로 서명된 요청을 제한합니다.in:ALL_HMAC_SIGNED_REQUESTS
: HMAC 키로 서명된 요청을 제한합니다. 데이터 주권 요구사항을 충족해야 하는 경우 모든 HMAC 서명 요청을 제한하는 것이 좋습니다.
이 제약조건을 사용 설정하면 다음이 발생합니다.
Cloud Storage는 제한된 인증 유형으로 인증된 요청에 대한 액세스를 제한합니다.
403 Forbidden
오류와 함께 요청이 실패합니다.이전에 요청을 수행하도록 승인된 항목은 인증 유형이 중지되었음을 설명하는 오류 메시지를 받습니다.
HMAC 키가 제한된 경우:
제한된 유형의 HMAC 키는 더 이상 제약조건이 적용되는 리소스에서 생성되거나 활성화될 수 없습니다. HMAC 키 생성 또는 활성화 요청은
403 Forbidden
오류와 함께 실패합니다.기존 HMAC 키는 유지되지만 더 이상 이 키를 사용할 수 없습니다. 비활성화하거나 삭제할 수 있지만 다시 활성화할 수는 없습니다.
restrictAuthTypes
제약조건을 사용할 때는 HMAC 인증에 의존하는 기존 리소스를 알고 있어야 합니다. 예를 들어 Amazon Simple Storage Service(Amazon S3)에서 마이그레이션한 경우 애플리케이션은 HMAC 키를 사용하여 Cloud Storage에 대한 요청을 인증할 가능성이 높습니다. Cloud Monitoring 측정항목 storage.googleapis.com/authn/authentication_count
를 사용하여 요청을 인증하는 데 HMAC 키가 사용된 횟수를 추적할 수 있습니다.
암호화되지 않은 HTTP 요청 제한
제약조건 이름: constraints/storage.secureHttpTransport
제약조건 유형: boolean
secureHttpTransport
제약조건을 적용하면 Cloud Storage 리소스에 대해 암호화되지 않은 모든 HTTP 액세스가 거부됩니다.
- 기본적으로 Cloud Storage XML API는 암호화되지 않은 HTTP 액세스를 허용합니다.
CNAME
리디렉션은 암호화되지 않은 HTTP 액세스만 지원합니다.
기타 제약조건
다음 조직 정책 제약조건은 Google Cloud 전체에서 보다 일반적으로 적용되지만 Cloud Storage 서비스에도 적용되는 경우가 많습니다.
constraints/gcp.restrictNonCmekServices
: 새 객체와 재작성된 객체를 고객 관리 암호화 키를 사용하여 암호화해야 하고 새 객체를 사용하려면 Cloud KMS 키를 기본 암호화 키로 설정해야 합니다.constraints/gcp.restrictCmekCryptoKeyProjects
: 요청에 고객 관리 암호화 키 및 키가 포함되고 제약조건으로 지정된 프로젝트에 키가 속하지 않는 경우 Cloud Storage에 대한 요청을 거부합니다. 마찬가지로 객체가 버킷의 기본 암호화 키로 암호화되고 해당 키가 제약조건으로 지정된 프로젝트에 포함되지 않는 경우 객체를 만들거나 재작성하는 요청을 거부합니다.constraints/gcp.restrictTLSVersion
: 전송 계층 보안(TLS) 1.0 또는 1.1을 사용하여 수행된 요청의 Cloud Storage 액세스를 방지합니다.
조건부로 조직 정책 제약조건 허용 또는 거부
태그를 사용하면 Cloud Storage 버킷에 특정 태그가 있는지 여부에 따라 조건부로 조직 정책을 허용하거나 거부할 수 있습니다. 자세한 내용은 태그를 사용하여 조직 정책 설정을 참조하세요.
다음 단계
- 조직 정책에 적용되는 리소스 계층 구조에 대해 알아보기
- Google Cloud 콘솔에서의 제약조건 및 조직 정책 작업에 대한 안내는 조직 정책 만들기 및 관리 참조하기
- gcloud CLI에서 제약조건 및 조직 정책 작업에 대한 안내는 제약조건 사용 참조하기
- Cloud Storage의 커스텀 제약조건 알아보기
projects.setOrgPolicy
와 같은 관련 API 메서드에 대해서는 Resource Manager API 참조 문서 확인하기