

# IAM과 함께 S3 Files을 사용하는 방법
<a name="s3-files-security-iam"></a>

이 페이지에서는 AWS Identity and Access Management(IAM)가 S3 Files와 작동하는 방법과 IAM 정책을 사용하여 파일 시스템에 대한 액세스를 제어하는 방법을 설명합니다.

S3 Files는 두 가지 고유한 유형의 액세스 제어에 IAM을 사용합니다.
+ **API 액세스** - 파일 시스템, 탑재 대상 및 액세스 포인트와 같은 S3 Files 리소스를 생성, 관리 및 삭제할 수 있는 사용자를 제어합니다. IAM 사용자, 그룹 또는 역할에 연결된 자격 증명 기반 정책을 사용하여이 액세스를 제어합니다.
+ **클라이언트 액세스** - 클라이언트(장착된 컴퓨팅 리소스)가 연결되면 루트 사용자로서 파일을 읽거나 쓰거나 액세스하는 등 파일 시스템으로 수행할 수 있는 작업을 제어합니다. 리소스 기반 정책, 자격 증명 기반 정책, 액세스 포인트 및 POSIX 권한의 조합을 사용하여이 액세스를 제어합니다.

IAM을 사용하면 클라이언트가 읽기 전용, 쓰기 및 루트 액세스를 포함하여 파일 시스템에서 특정 작업을 수행하도록 허용할 수 있습니다. IAM ID 정책 또는 파일 시스템 리소스 정책의 작업에 대한 “허용” 권한은 해당 작업에 대한 액세스를 허용합니다. 자격 증명 및 리소스 정책 모두에서 권한을 부여할 필요는 없습니다.

연결된 S3 버킷의 S3 버킷 정책도 컴퓨팅 리소스 및 파일 시스템에서 S3 버킷으로의 액세스를 제어합니다. 또한 소스 버킷의 버킷 정책이 컴퓨팅 리소스 또는 파일 시스템의 액세스를 거부하지 않는지 확인해야 합니다. 자세한 내용은 [ Amazon S3에 대한 버킷 정책](https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-policies.html)을 참조하세요.

## ID 기반 정책
<a name="s3-files-security-iam-identity-based"></a>

ID 기반 정책은 IAM 사용자, 그룹 또는 역할에 연결하는 JSON 정책입니다. 사용자 지정 정책을 작성하거나 AWS 관리형 정책을 연결하여 이러한 권한을 제공할 수 있습니다. API 액세스 및 클라이언트 액세스 모두에 사용할 수 있는 관리형 정책에 대한 자세한 내용은 [AWS Amazon S3 Files에 대한 관리형 정책](s3-files-security-iam-awsmanpol.md)을 참조하세요.

또한 S3 Files는 클라이언트가 소스 S3 버킷에서 직접 파일 데이터를 읽을 수 있도록 하여 읽기 성능을 최적화합니다. 컴퓨팅 리소스에 S3 파일 시스템을 탑재할 때는 지정된 S3 버킷에서 객체를 읽을 수 있는 권한을 부여하는 인라인 정책을 컴퓨팅 리소스의 IAM 역할에 추가해야 합니다. 탑재 도우미는 이러한 권한을 사용하여 S3 데이터를 읽습니다. 이 정책에 대한 자세한 내용은 [파일 시스템을 AWS 컴퓨팅 리소스에 연결하기 위한 IAM 역할](s3-files-prereq-policies.md#s3-files-prereq-iam-compute-role) 섹션을 참조하세요.

## 리소스 기반 정책
<a name="s3-files-security-iam-resource-based"></a>

파일 시스템 정책은 클라이언트 액세스를 제어하기 위해 파일 시스템에 직접 연결하는 IAM 리소스 기반 정책입니다. 파일 시스템 정책을 사용하여 클라이언트가 탑재, 쓰기 및 루트 액세스와 같은 작업을 수행할 수 있는 권한을 부여하거나 거부할 수 있습니다.

파일 시스템에는 빈(기본) 파일 시스템 정책 또는 정확히 하나의 명시적 정책이 있습니다. S3 파일 시스템 정책은 20,000자로 제한됩니다. 파일 시스템 정책 생성 및 관리에 대한 자세한 내용은 [파일 시스템 정책 생성](s3-files-file-system-policies-creating.md) 섹션을 참조하세요.

## 클라이언트에 대한 S3 Files 작업
<a name="s3-files-security-iam-client-actions"></a>

파일 시스템 정책에서 다음 작업을 지정하여 클라이언트 액세스를 제어할 수 있습니다.


| 작업 | 설명 | 
| --- | --- | 
| s3files:ClientMount | 파일 시스템에 대한 읽기 전용 액세스를 제공합니다. | 
| s3files:ClientWrite | 파일 시스템에 대한 쓰기 권한을 제공합니다. | 
| s3files:ClientRootAccess | 파일 시스템에 액세스할 때 루트 사용자를 사용할 수 있는 기능을 제공합니다. | 

## 클라이언트에 대한 S3 Files 조건 키
<a name="s3-files-security-iam-condition-keys"></a>

파일 시스템 정책의 `Condition` 요소에 다음 조건 키를 사용하여 액세스 제어를 더욱 세분화할 수 있습니다.


| 조건 키 | 설명 | 연산자 | 
| --- | --- | --- | 
| s3files:AccessPointArn | 클라이언트가 연결 중인 S3 Files 액세스 포인트의 ARN입니다. | 문자열 | 

## 파일 시스템 정책 예제
<a name="s3-files-security-iam-policy-examples"></a>

### 예: 읽기 전용 액세스 권한 부여
<a name="s3-files-security-iam-policy-example-readonly"></a>

다음 파일 시스템 정책은 `ReadOnly` IAM 역할에 `ClientMount`(읽기 전용) 권한만 부여합니다. {{111122223333}}을 AWS 계정 ID로 바꿉니다.

```
{
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::{{111122223333}}:role/ReadOnly"
            },
            "Action": [
                "s3files:ClientMount"
            ]
        }
    ]
}
```

### S3 Files 액세스 포인트에 대한 액세스 권한 부여
<a name="s3-files-security-iam-policy-example-accesspoint"></a>

다음 파일 시스템 정책은 조건 요소를 사용하여 지정된 액세스 포인트를 통해 탑재할 때 특정 액세스 포인트에 파일 시스템에 대한 전체 액세스 권한을 부여합니다. 액세스 포인트 ARN과 계정 ID를 값으로 바꿉니다. 자세한 내용은 [S3 파일 시스템에 대한 액세스 포인트 생성](s3-files-access-points-creating.md) 섹션을 참조하세요.

```
{
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::{{555555555555}}:role/S3FilesAccessPointFullAccess"
            },
            "Action": [
                "s3files:Client*"
            ],
            "Condition": {
                "StringEquals": {
                    "s3files:AccessPointArn": "arn:{{partition}}:s3files:{{region}}:{{account-id}}:file-system/{{fs-1234567890}}/access-point/{{fsap-0987654321}}"
                }
            }
        }
    ]
}
```

## POSIX 권한
<a name="s3-files-security-iam-posix"></a>

IAM 권한 부여가 성공하면 S3 Files는 파일 및 디렉터리 수준에서 표준 POSIX(Unix 스타일) 권한을 적용합니다. POSIX 권한은 각 파일 및 디렉터리와 연결된 사용자 ID(UID), 그룹 ID(GID) 및 권한 비트(읽기, 쓰기, 실행)를 기반으로 액세스를 제어합니다. 액세스 포인트는 모든 요청에 대해 특정 POSIX 사용자 자격 증명을 적용하여 공유 데이터세트에 대한 액세스 관리를 간소화할 수 있습니다. 자세한 내용은 [S3 파일 시스템에 대한 액세스 포인트 생성](s3-files-access-points-creating.md) 섹션을 참조하세요.

## 보안 그룹
<a name="s3-files-security-iam-security-groups"></a>

보안 그룹은 컴퓨팅 리소스와 파일 시스템의 탑재 대상 간의 트래픽을 제어하는 네트워크 수준 방화벽 역할을 합니다. S3 Files를 시작하도록 보안 그룹을 구성하는 방법에 대한 자세한 내용은 [보안 그룹](s3-files-prereq-policies.md#s3-files-prereq-security-groups) 섹션을 참조하세요.