

# 디렉터리 버킷에 대한 IAM ID 기반 정책
<a name="s3-express-security-iam-identity-policies"></a>

디렉터리 버킷을 생성하려면 먼저 AWS Identity and Access Management(IAM) 역할 또는 사용자에게 필요한 권한을 부여해야 합니다. 이 예시 정책은 `CreateSession` API 작업(영역 엔드포인트(객체 수준) API 작업에 사용) 및 모든 리전 엔드포인트(버킷 수준) API 작업에 대한 액세스를 허용합니다. 이 정책은 모든 디렉터리 버킷에서 `CreateSession` API 작업을 사용할 수 있도록 허용하지만, 리전 엔드포인트 API 작업은 지정된 디렉터리 버킷에만 사용할 수 있습니다. 이 정책 예를 사용하려면 `{{user input placeholders}}`를 실제 정보로 바꾸세요.

**참고**  
작업을 수행하는 데 필요한 권한(least-privilege)만 부여하는 것이 모범 사례입니다. 이 정책에서 사용 사례에 필요하지 않은 작업을 모두 제거합니다. S3 Express One Zone 작업의 전체 목록은 *Service Authorization Reference*의 [S3 Express One Zone에 사용되는 작업, 리소스 및 조건 키](https://docs.aws.amazon.com/service-authorization/latest/reference/list_amazons3express.html)를 참조하세요.

**Example - 디렉터리 버킷 액세스에 대한 ID 기반 정책**  

```
{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "AllowRegionalEndpointAPIs",
            "Effect": "Allow",
            "Action": [
                "s3express:CreateBucket",
                "s3express:DeleteBucket",
                "s3express:DeleteBucketPolicy",
                "s3express:GetBucketPolicy",
                "s3express:PutBucketPolicy",
                "s3express:GetEncryptionConfiguration",
                "s3express:PutEncryptionConfiguration",
                "s3express:GetLifecycleConfiguration",
                "s3express:PutLifecycleConfiguration",
                "s3express:GetInventoryConfiguration",
                "s3express:PutInventoryConfiguration",
                "s3express:GetMetricsConfiguration",
                "s3express:PutMetricsConfiguration"
            ],
            "Resource": "arn:aws:s3express:{{region}}:{{account-id}}:bucket/{{bucket-base-name--zone-id--x-s3}}"
        },
        {
            "Sid": "AllowListAndCreateSession",
            "Effect": "Allow",
            "Action": [
                "s3express:ListAllMyDirectoryBuckets",
                "s3express:CreateSession"
            ],
            "Resource": "*"
        }
    ]
}
```

이 정책에는 두 명령문이 있습니다:
+ 첫 번째 문은 특정 디렉터리 버킷의 리전 엔드포인트(버킷 수준) API 작업에 대한 권한을 부여합니다. 사용 사례에 필요하지 않은 작업은 제거해도 됩니다.
+ 두 번째 문은 `ListAllMyDirectoryBuckets` 및 `CreateSession`에 대한 권한을 부여합니다. 이러한 작업은 리소스 수준 권한을 지원하지 않으므로 `Resource`는 `"*"`입니다. `CreateSession` 권한은 `PutObject`, `GetObject` 및 `DeleteObject`와 같은 모든 영역 엔드포인트(객체 수준) API 작업을 활성화합니다.