Create IAM Policy

최신 업데이트:2025-08-18 15:58:39

권한 정책(IAM Policy)은 Identity and Access Management의 핵심 요소로, 사용자, 그룹 또는 역할의 리소스 접근 권한을 정의하는 데 사용됩니다. 그 기능은 일련의 권한 규칙을 통해 누가(사용자 또는 개체) 어떤 리소스에 접근하고 어떤 특정 작업을 수행할 수 있는지를 세밀하게 제어하는 것입니다. IAM 정책의 핵심 목적은 리소스 보안을 보장하고, 무단 접근을 방지하며, 다양한 비즈니스 요구를 충족시키는 유연한 권한 관리를 제공하는 것입니다. 이를 통해 기업은 사용자 권한을 효과적으로 관리하고 최소 권한 원칙을 준수하며 잠재적 보안 위험을 줄일 수 있습니다. 일반적으로 JSON 형식으로 작성되며, 허용되거나 거부되는 특정 작업을 상세히 명시합니다. 예를 들어, IAM 정책은 사용자 그룹이 특정 버킷에 접근하도록 허용하거나 읽기 전용 작업으로 제한할 수 있습니다.

IAM(권한) 정책 생성 방법

권한 정책의 형식은 다음과 같습니다:

{
    "version": "1",
    "statement": [
        {
            "action": [
                "wos:GetBucket"
            ],
            "resource": [
                "wsc:wos:*:*:testbucket"
            ],
            "effect": "allow"
        },
        {
            "action": [
                "wos:PutObject",
                "wos:GetObject",
                "wos:DeleteObject"
            ],
            "resource": [
                "wsc:wos:*:*:testbucket/*"
            ],
            "effect": "allow"
        }
    ]
}

주 계정은 이러한 정책을 사용하여 IAM 시스템 내 하위 계정에 권한을 부여할 수 있습니다. 정책 내에 한 개의 statement가 존재합니다(하나의 정책에 여러 statement 포함 가능). statement 내에는 해당 action, resource, effect가 지정되어 있습니다.

이 정책 설정의 권한: testbucket 스페이스 내 모든 파일 정보 나열; testbucket 스페이스에 파일 업로드; testbucket 스페이스 내 파일 다운로드; testbucket 스페이스 내 파일 삭제.

매개변수 설명 및 구성 규칙

Version

version은 권한 정책의 버전을 정의하며, 현재 지원되는 버전은 "1"입니다.

Statement

승인 의미는 statement를 통해 기술됩니다. 비즈니스 시나리오에 따라 여러 개의 의미를 포함할 수 있으며, 각각 action, effect, resource에 대한 설명을 포함합니다. 요청이 발생할 때마다 시스템은 순차적으로 매칭을 확인합니다. 성공적으로 매칭된 모든 statement는 effect 설정에 따라 allow와 deny로 분류되며, deny가 우선순위를 가집니다. 모든 매칭이 통과되면 요청이 인증됩니다. 매칭이 성공했을 때 차단(deny)이 존재하거나, 매칭 성공 항목이 없을 경우 요청은 접근이 금지됩니다.

Action

Action은 wos가 제공하는 S3 API 또는 콘솔 작업을 의미합니다. 액션 규칙은 wos:{action_name}이며, * 와일드카드를 지원하고 * 는 0개 이상의 임의 영문자를 나타냅니다. 예를 들어 wos:List*는 action_name이 List로 시작하는 wos가 제공하는 모든 S3 API 또는 콘솔 작업을 의미합니다.
Action은 목록 형태로, 하나 이상의 액션을 선택할 수 있으며 모든 action_name에는 “wos:” 접두사가 필수입니다. 여러 액션이 존재할 수 있습니다.

액션은 세 가지 범주로 구분됩니다:

1.Service-level operations: wos:GetService와 유사한 작업에 대응.
특정 action과 S3 API의 대응 관계:

S3 API action
GetService wos:GetService

콘솔 작업과의 대응 관계:

Console operation action
Buckets
View wos:GetService
Bucket-Manage-Basic statistics / Detection statistics / Overview
View wos: GetBucketAnalysis

Note:

  1. GetService 권한이 하위 계정에 할당되면, 하위 계정은 상위 계정이 소유한 모든 스페이스를 획득할 수 있습니다(하위 계정이 생성한 스페이스의 소유자는 상위 계정임).
  2. 콘솔을 사용하는 모든 하위 계정은 GetService 권한이 있어야 합니다. 그렇지 않으면 콘솔의 다른 작업이 정상적으로 사용되지 않을 수 있습니다.
  3. 하위 계정에 GetBucketAnalysis 권한이 할당된 경우, 통계 분석 메뉴의 모든 항목을 볼 수 있습니다.

2. Bucket level operations: wos:PutBucketLifecycle, wos:GetBucket 등과 같은 작업에 대응. 작업 대상은 Bucket.
특정 action과 S3 API의 대응 관계:

S3 API action
GetBucket(ListObjects) wos: GetBucket
GetBucketLifecycle wos: GetBucketLifecycle
PutBucketLifecycle wos: PutBucketLifecycle
DeleteBucketLifecycle wos:DeleteBucketLifecycle
ListMultipartUploads wos: ListMultipartUploads

콘솔 작업과의 대응 관계:

Console operation action
Buckets
Create Bucket wos: PutBucket
Buckets-Manage-File management
Query (view) wos: GetBucket
Buckets-Manage-Basic settings
View-Back-To-Origin wos: GetBucketMirror
Edit-Back-To-Origin wos: PutBucketMirror
Delete-Back-To-Origin wos:DeleteBucketMirror
View-life cycle settings wos: GetBucketLifecycle
Create rule-life cycle settings wos: PutBucketLifecycle
Edit-life cycle settings极 wos: PutBucketLifecycle
Clear all rules-life cycle settings wos:DeleteBucketLifecycle
Delete-life cycle settings wos:DeleteBucketLifecycle
Create rules-CORS settings wos: PutBucketCors
Edit-CORS settings wos: PutBucketCors
View-CORS settings wos: GetBucketCors
Delete-CORS settings wos:DeleteBucketCors
Clear all rules-CORS settings wos:DeleteBucketCors
Delete Bucket wos:DeleteBucket
Buckets-manage-Domain Management
View-domain name wos: GetBucketDomain
Bind custom domain name wos: PutBucketDomain
Modify protocol wos: PutBucketDomain
Delete-domain name wos:DeleteBucketDomain

3. Object level operation: wos:GetObject, wos:PutObject, wos:DeleteObject, wos:AbortMultipartUpload 등과 같은 작업에 대응. 작업 대상은 Object.
특정 action과 S3 API의 대응 관계:

S3 API action
GetObject wos:GetObject
HeadObject wos: HeadObject
PutObject wos: PutObject
PostObject wos: PutObject
InitiateMultipartUpload wos: PutObject
UploadPart wos: PutObject
CompleteMultipartUpload wos: PutObject
DeleteObject wos:DeleteObject
MultiDelete wos:DeleteObject
AbortMultipartUpload wos: AbortMultipartUpload
ListParts wos: ListParts
CopyObject wos:GetObject,wos:PutObject
RestoreObject wos:RestoreObject

콘솔 작업과의 대응 관계:

Console operation action
Buckets-Manage-File management
New folder wos: PutFolder
Upload file wos: PutObject
Delete wos:DeleteObject
Rename wos: PutObject
Restore wos:RestoreObject
Configure Expiration Data wos:DeleteObject

Resource

Resource는 wos에 저장된 리소스를 의미합니다. 리소스 규칙은 wsc:wos:{region}:{bucket_owner}:{bucket_name}/{object_name}이며, * 와일드카드를 지원합니다. region 필드는 현재 지원되지 않으며 "*"로 설정됩니다.
resource는 목록 형태로, 하나 이상의 리소스를 포함할 수 있습니다.

  • 모든 service-level 작업: 특정 리소스 할당이 지원되지 않음 (wsc:wos: * : * : * 고정)
  • 모든 bucket-level 작업: 특정 스페이스만 지원 (예: wsc:wos:{region}:{bucket_owner}:{bucket_name})
  • 모든 Object-level 작업: 특정 파일 할당 지원 (예: wsc:wos:{region}:{bucket_owner}:{bucket_name}/{object_name})

Effect

Effect는 statement의 승인 결과(allow/deny)를 나타내며, 각각 허용/거부를 의미합니다. 여러 statement가 동시에 매칭될 경우 deny가 우선순위 를 가집니다.
예: 특정 디렉토리 삭제 금지 & 다른 파일에 대한 전체 권한 부여:

이 문서의 내용이 도움이 되었습니까?
아니오
정상적으로 제출되었습니다.피드백을 주셔서 감사합니다.앞으로도 개선을 위해 노력하겠습니다.