cos:PutObject
권한 부여 작업이 10.217.182.3/24 또는 111.21.33.72/24 IP 범위에서만 완료될 수 있음을 지정합니다.qcs:ip
이며 조건 유형이 IP임을 나타냅니다.ip_equal
로, 조건 판단 방법이 IP 주소 일치 여부를 판단하는 것임을 나타냅니다.["10.217.182.3/24","111.21.33.72/24"]
배열입니다. 사용자의 IP가 어레이의 지정된 IP 범위에 있는 경우 조건은 true로 결정됩니다.{"version":"2.0","statement":[{"principal":{"qcs":["qcs::cam::uin/1250000000:uin/1250000001"]},"effect":"allow","action":["name/cos:PutObject"],"resource":["qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/*"],"condition":{"ip_equal":{"qcs:ip":["10.217.182.3/24","111.21.33.72/24"]}}}]}
tls-version
조건 키는 베이징 리전에서만 지원됩니다. 추후 다른 리전에서도 지원될 예정입니다.qcs:ip
, qcs:vpc
, cos:secure-transport
로 요청의 소스 IP 범위, 요청의 소스 VPC ID, HTTPS 사용 여부를 나타냅니다.조건 키 | 적용 요청 | 의미 | 유형 |
모든 요청 | 요청의 HTTPS 사용 여부 | Boolean | |
모든 요청 | 요청의 소스 IP 범위 | IP | |
모든 요청 | 요청의 소스 VPC ID | String | |
모든 https 요청 | https 요청에 사용되는 TLS 버전 | Numeric |
cos:content-type
은 요청 헤더 Content-Type
을 사용해야 하는 업로드 요청(예: PutObject)에 적용할 수 있는 반면 조건 키 cos:response-content-type
은 GetObject 요청에만 적용할 수 있습니다. GetObject 요청만 요청 매개변수 response-content-type
을 지원합니다.조건 키 | 적용 요청 | 요청 헤더 또는 요청 매개변수 확인 | 유형 |
PutObject
PostObject
InitiateMultipartUpload
AppendObject | 요청 헤더: x-cos-storage-class | String | |
GetObject
DeleteObject
PostObjectRestore
PutObjectTagging
GetObjectTagging
DeleteObjectTagging
HeadObject | 요청 매개변수: versionid | String | |
GetBucket(List Objects)
GET Bucket Object versions
List Multipart Uploads
ListLiveChannels | 요청 매개변수: prefix | String | |
PutObject
PostObject
PutObjectACL
PutBucket
PutBucketACL
AppendObject
Initiate Multipart Upload | 요청 헤더: x-cos-acl | String | |
이 요청 헤더는 적용 가능한 범위가 넓으며 일반적으로 요청 본문이 있는 요청 | 요청 헤더: Content-Length | Numeric | |
이 요청 헤더는 적용 가능한 범위가 넓으며 일반적으로 요청 본문이 있는 요청 | 요청 헤더: Content-Type | String | |
GetObject | 요청 매개변수: response-content-type | String | |
PutBucket
PutBucketTagging | 요청 헤더: x-cos-tagging
요청 매개변수: tagging | String |
조건 연산자 | 설명 | 유형 |
string_equal | 같은 문자열(대소문자 구분) | String |
string_not_equal | 같지 않은 문자열(대소문자 구분) | String |
string_like | 유사한 문자열(대소문자 구분), 현재 와일드카드( * )를 문자열에 접두사 또는 접미사로 사용 가능, 예시 image/* | String |
ip_equal | IP 같음 | IP |
ip_not_equal | IP가 같지 않음 | IP |
numeric_equal | 같은 숫자 | Numeric |
numeric_not_equal | 같지 않은 숫자 | Numeric |
numeric_greater_than | 큰 숫자 | Numeric |
numeric_greater_than_equal | 크거나 같은 숫자 | Numeric |
numeric_less_than | 작은 숫자 | Numeric |
numeric_less_than_equal | 작거나 같은 숫자 | Numeric |
_if_exist
를 추가하여 string_equal_if_exist
와 같은 새 조건 연산자를 구성할 수 있습니다. _if_exist
가 있는 조건 연산자와 없는 조건 연산자의 차이점은 다음과 같습니다.string_equal
과 같이 _if_exist
가 없는 조건 연산자의 경우 요청에 지정된 요청 헤더 또는 매개변수가 포함되어 있지 않으면 기본적으로 조건이 충족된(False
) 것으로 간주됩니다.string_equal_if_exist
와 같이 _if_exist
가 있는 조건 연산자의 경우 요청에 지정된 요청 헤더 또는 매개변수가 포함되어 있지 않으면 기본적으로 조건이 충족된(True
) 것으로 간주됩니다.{"version":"2.0","statement":[{"principal":{"qcs":["qcs::cam::uin/1250000000:uin/1250000001"]},"effect":"allow","action":["name/cos:GetObject"],"condition":{"string_equal":{"cos:versionid":"MTg0NDUxNTc1NjIzMTQ1MDAwODg"}},"resource":["qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/*"]}]}
string_equal
및 string_equal_if_exist
의 condition 충족 및 요청 허용 세부 정보를 나열합니다.조건 연산자 | 요청 | condition 충족 | 요청 허용 여부 |
string_equal | versionid 가 없는 경우 | FALSE | No |
string_equal_if_exist | versionid 가 없는 경우 | TRUE | Yes |
string_equal | 값이 지정된 versionid 사용 | TRUE | Yes |
string_equal_if_exist | 값이 지정된 versionid 사용 | TRUE | Yes |
string_equal | 값이 지정되지 않은 versionid 사용 | FALSE | No |
string_equal_if_exist | 값이 지정되지 않은 versionid 사용 | FALSE | No |
{"version":"2.0","statement":[{"principal":{"qcs":["qcs::cam::uin/1250000000:uin/1250000001"]},"effect":"deny","action":["name/cos:GetObject"],"condition":{"string_equal":{"cos:versionid":"MTg0NDUxNTc1NjIzMTQ1MDAwODg"}},"resource":["qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/*"]}]}
string_equal
및 string_equal_if_exist
의 condition 충족 및 요청 거부 세부 정보를 나열합니다.조건 연산자 | 요청 | condition 충족 | 요청 거부 여부 |
string_equal | versionid 가 없는 경우 | FALSE | No |
string_equal_if_exist | versionid 가 없는 경우 | TRUE | Yes |
string_equal | 값이 지정된 versionid 사용 | TRUE | Yes |
string_equal_if_exist | 값이 지정된 versionid 사용 | TRUE | Yes |
string_equal | 값이 지정되지 않은 versionid 사용 | FALSE | No |
string_equal_if_exist | 값이 지정되지 않은 versionid 사용 | FALSE | No |
cos:response-content-type
조건 키를 사용하려는 경우 버킷 정책에 입력하기 전에 조건 값 "image/jpeg"를 "image%2Fjpeg"로 urlencode해야 합니다.{"version":"2.0","statement":[{"principal":{"qcs":["qcs::cam::uin/1250000000:uin/1250000001"]},"effect":"allow","action":["*"],"resource":["qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/*"],"condition":{"string_equal":{"cos:response-content-type":"image%2Fjpeg"}}},{"principal":{"qcs":["qcs::cam::uin/1250000000:uin/1250000001"]},"effect":"deny","action":["*"],"resource":["qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/*"],"condition":{"string_not_equal_if_exist":{"cos:response-content-type":"image%2Fjpeg"}}}]}
{"version":"2.0","statement":[{"principal":{"qcs":["qcs::cam::uin/1250000000:uin/1250000001"]},"effect":"allow","action":["*"],"resource":["qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/*"],"condition":{"string_equal_if_exist":{"cos:response-content-type":"image%2Fjpeg"}}},{"principal":{"qcs":["qcs::cam::uin/1250000000:uin/1250000001"]},"effect":"deny","action":["*"],"resource":["qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/*"],"condition":{"string_not_equal":{"cos:response-content-type":"image%2Fjpeg"}}}]}
{"version":"2.0","statement":[{"principal":{"qcs":["qcs::cam::uin/1250000000:uin/1250000001"]},"effect":"allow","action":["name/cos:GetObject"],"resource":["qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/*"],"condition":{"string_equal":{"cos:response-content-type":"image%2Fjpeg"}}},{"principal":{"qcs":["qcs::cam::uin/1250000000:uin/1250000001"]},"effect":"deny","action":["name/cos:GetObject"],"resource":["qcs::cos:ap-guangzhou:uid/1250000000:examplebucket-1250000000/*"],"condition":{"string_not_equal_if_exist":{"cos:response-content-type":"image%2Fjpeg"}}}]}
문제 해결에 도움이 되었나요?