

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 파일 공유 및 버킷에 대한 액세스 및 권한 부여
<a name="add-file-share"></a>

S3 File Gateway가 활성화되고 실행된 후 추가 파일 공유를 추가하고 게이트웨이 및 파일 공유 AWS 계정 와 다른의 버킷을 포함하여 Amazon S3 버킷에 대한 액세스 권한을 부여할 수 있습니다. 다음 섹션에서는 IAM 역할을 사용하여 게이트웨이에 Amazon S3 버킷 및 VPC 엔드포인트에 대한 액세스 권한을 제공하고, 특정 보안 문제를 방지하고, AWS 계정의 버킷에 파일 공유를 연결하는 방법을 설명합니다.

파일 공유를 새로 생성하는 방법에 대한 자세한 내용은 [파일 공유 생성](GettingStartedCreateFileShare.md) 섹션을 참조하세요.

이 섹션에는 파일 공유 및 Amazon S3 버킷에 대한 액세스 및 권한을 부여하는 방법에 대한 추가 정보를 제공하는 다음 주제가 포함되어 있습니다.

**주제**
+ [Amazon S3 버킷에 액세스할 수 있는 권한 부여](grant-access-s3.md) - File Gateway에 Amazon S3 버킷에 파일을 업로드하고 버킷에 연결하는 데 사용하는 모든 액세스 포인트 또는 Amazon Virtual Private Cloud(Amazon VPC) 엔드포인트에서 작업을 수행할 수 있는 액세스 권한을 부여하는 방법을 알아봅니다.
+ [교차 서비스 혼동된 대리인 방지](cross-service-confused-deputy-prevention.md) - 작업을 수행할 권한이 없는 엔터티가 권한이 더 많은 엔터티에게 작업을 수행하도록 강요하는 일반적인 보안 문제를 방지하는 방법을 알아보세요.
+ [교차 계정 액세스에서 파일 공유 사용](cross-account-access.md) - Amazon Web Services 계정 및 해당 계정의 사용자에게 다른 Amazon Web Services 계정에 속한 리소스에 액세스할 수 있는 액세스 권한을 부여하는 방법을 알아봅니다.

# Amazon S3 버킷에 액세스할 수 있는 권한 부여
<a name="grant-access-s3"></a>

파일 공유를 생성할 때 File Gateway는 Amazon S3 버킷에 파일을 업로드하고 버킷에 연결하는 데 사용하는 액세스 포인트 또는 가상 프라이빗 클라우드(VPC) 엔드포인트에서 작업을 수행할 수 있는 액세스 권한이 필요합니다. 이 액세스 권한을 부여하기 위해 File Gateway는이 액세스 권한을 부여하는 IAM 정책과 연결된 AWS Identity and Access Management (IAM) 역할을 수임합니다.

이 역할에는 IAM 정책과 이 정책에 대한 보안 토큰 서비스 신뢰(STS) 관계가 필요합니다. 이 정책에 따라 역할이 실행할 수 있는 작업이 결정됩니다. 또한 S3 버킷 및 연결된 액세스 포인트 또는 VPC 엔드포인트에는 IAM 역할이 액세스할 수 있도록 허용하는 액세스 정책이 있어야 합니다.

역할 및 액세스 정책을 직접 생성하거나 File Gateway에서 대신 생성할 수 있습니다. File Gateway에서 이러한 정책을 대신 생성한 경우 해당 정책에는 S3 작업 목록이 포함됩니다. 역할 및 권한에 대한 자세한 내용은 *IAM 사용 설명서*의 [역할을 만들어 AWS 서비스에 권한 위임](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-service.html)을 참조하세요.

다음 예는 File Gateway가 IAM 역할을 수임하도록 허용하는 신뢰 정책입니다.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "",
      "Effect": "Allow",
      "Principal": {
        "Service": "storagegateway.amazonaws.com"
      },
      "Action": "sts:AssumeRole"
    }
  ]
}
```

------

**중요**  
Storage Gateway는 `iam:PassRole` 정책 작업을 사용하여 전달된 기존 서비스 역할을 수임할 수 있지만 `iam:PassedToService` 컨텍스트 키를 사용하여 작업을 특정 서비스로 제한하는 IAM 정책은 지원하지 않습니다.  
자세한 내용은AWS Identity and Access Management 사용 설명서**에서 다음 주제를 참조하세요.  
[IAM: 특정 AWS 서비스에 IAM 역할 전달](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_examples_iam-passrole-service.html)
[사용자에게 AWS 서비스에 역할을 전달할 수 있는 권한 부여](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html)
[IAM에 사용 가능한 키](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_iam-condition-keys.html#ck_PassedToService)

File Gateway에서 사용자 대신 정책을 생성하도록 하지 않으려는 경우 정책을 직접 생성하여 파일 공유에 연결합니다. 이 작업을 수행하는 방법에 대한 자세한 내용은 [파일 공유 생성](GettingStartedCreateFileShare.md) 섹션을 참조하세요.

다음 예제 정책은 File Gateway에서 정책에 나열된 모든 Amazon S3 작업을 수행하도록 허용합니다. 설명문의 첫 번째 부분은 S3 버킷 `amzn-s3-demo-bucket`에 대해 나열된 모든 작업을 수행하도록 허용합니다. 두 번째 부분은 `amzn-s3-demo-bucket`의 모든 객체에 대해 나열된 작업을 허용합니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "s3:GetAccelerateConfiguration",
                "s3:GetBucketLocation",
                "s3:GetBucketVersioning",
                "s3:ListBucket",
                "s3:ListBucketVersions",
                "s3:ListBucketMultipartUploads"
            ],
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket",
            "Effect": "Allow"
        },
        {
            "Action": [
                "s3:AbortMultipartUpload",
                "s3:DeleteObject",
                "s3:DeleteObjectVersion",
                "s3:GetObject",
                "s3:GetObjectAcl",
                "s3:GetObjectVersion",
                "s3:ListMultipartUploadParts",
                "s3:PutObject",
                "s3:PutObjectAcl"
            ],
            "Resource": "arn:aws:s3:::amzn-s3-demo-bucket/*",
            "Effect": "Allow"
        }
    ]
}
```

------

다음 예제 정책은 이전 정책과 유사하지만 File Gateway가 액세스 포인트를 통해 버킷에 액세스하는 데 필요한 작업을 수행하도록 허용합니다.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Action": [
                "s3:AbortMultipartUpload",
                "s3:DeleteObject",
                "s3:DeleteObjectVersion",
                "s3:GetObject",
                "s3:GetObjectAcl",
                "s3:GetObjectVersion",
                "s3:ListMultipartUploadParts",
                "s3:PutObject",
                "s3:PutObjectAcl"
            ],
            "Resource": "arn:aws:s3:us-east-1:111122223333:accesspoint/TestAccessPointName/*",
            "Effect": "Allow"
        }
    ]
}
```

------

**참고**  
VPC 엔드포인트를 통해 파일 공유를 S3 버킷에 연결해야 하는 경우 *AWS PrivateLink 사용 설명서*의 [Amazon S3에 대한 엔드포인트 정책](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-endpoints-s3.html#vpc-endpoints-policies-s3)을 참조하세요.

**참고**  
암호화된 버킷의 경우 파일 공유는 대상 S3 버킷 계정의 키를 사용해야 합니다.

**참고**  
File Gateway가 암호화에 SSE-KMS 또는 DSSE-KMS를 사용하는 경우 파일 공유와 연결된 IAM 역할에 *kms:Encrypt*, *kms:Decrypt*, *kms:ReEncrypt\$1*, *kms:GenerateDataKey* 및 *kms:DescribeKey* 권한이 포함되어 있는지 확인합니다. 자세한 내용은 [Storage Gateway에 대한 자격 증명 기반 정책(IAM 정책) 사용](https://docs.aws.amazon.com/filegateway/latest/files3/using-identity-based-policies.html)을 참조하세요.

# 교차 서비스 혼동된 대리인 방지
<a name="cross-service-confused-deputy-prevention"></a>

혼동된 대리자 문제는 작업을 수행할 권한이 없는 엔터티가 권한이 더 많은 엔터티에게 작업을 수행하도록 강요할 수 있는 보안 문제입니다. 에서 AWS교차 서비스 가장은 혼동된 대리자 문제를 초래할 수 있습니다. 교차 서비스 가장은 한 서비스(*직접 호출하는 서비스*)가 다른 서비스(*직접 호출되는 서비스*)를 직접 호출할 때 발생할 수 있습니다. 직접 호출하는 서비스는 다른 고객의 리소스에 대해 액세스 권한이 없는 방식으로 작동하게 권한을 사용하도록 조작될 수 있습니다. 이를 방지하기 위해 AWS 에서는 계정의 리소스에 대한 액세스 권한이 부여된 서비스 위탁자를 사용하여 모든 서비스에 대한 데이터를 보호하는 데 도움이 되는 도구를 제공합니다.

리소스 정책에서 [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourcearn) 및 [https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_condition-keys.html#condition-keys-sourceaccount) 전역 조건 컨텍스트 키를 사용하여 리소스에 다른 서비스를 AWS Storage Gateway 제공하는 권한을 제한하는 것이 좋습니다. 두 전역 조건 컨텍스트 키를 모두 사용하는 경우 `aws:SourceAccount` 값과 `aws:SourceArn` 값의 계정은 동일한 정책 문에서 사용할 경우 동일한 계정 ID를 사용해야 합니다.

`aws:SourceArn`의 값은 파일 공유가 연결된 Storage Gateway의 ARN이어야 합니다.

혼동된 대리인 문제로부터 보호하는 가장 효과적인 방법은 리소스의 전체 ARN이 포함된 `aws:SourceArn`글로벌 조건 컨텍스트 키를 사용하는 것입니다. 리소스의 전체 ARN을 모를 경우 또는 여러 리소스를 지정하는 경우, ARN의 알 수 없는 부분에 대해 와일드카드(`*`)를 포함한 `aws:SourceArn`전역 조건 컨텍스트 키를 사용합니다. 예제: `arn:aws:servicename::123456789012:*`.

다음 예는 Storage Gateway에서 `aws:SourceArn` 및 `aws:SourceAccount` 전역 조건 컨텍스트 키를 사용하여 혼동된 대리자 문제를 방지하는 방법을 보여줍니다.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
       "Sid": "ConfusedDeputyPreventionExamplePolicy",
       "Effect": "Allow",
       "Principal": {
         "Service": "storagegateway.amazonaws.com"
       },
       "Action": "sts:AssumeRole",
       "Condition": {
         "StringEquals": {
           "aws:SourceAccount": "444455556666"
         },
         "ArnLike": {
          "aws:SourceArn": "arn:aws:storagegateway:us-east-1:444455556666:gateway/sgw-123456DA"
        }
      }
    }
  ]  
}
```

------

# 교차 계정 액세스에서 파일 공유 사용
<a name="cross-account-access"></a>

*교차 계정* 액세스란 Amazon Web Services 계정과 해당 계정의 사용자에게 다른 Amazon Web Services 계정에 속한 리소스에 대한 액세스 권한이 부여되는 경우를 말합니다. File Gateway에서 한 Amazon Web Services 계정의 파일 공유를 사용하여 다른 Amazon Web Services 계정에 속한 Amazon S3 버킷의 객체에 액세스할 수 있습니다.

**한 Amazon Web Services 계정이 소유한 파일 공유를 사용하여 다른 Amazon Web Services 계정의 S3 버킷에 액세스하려면**

1. S3 버킷 소유자가 액세스해야 하는 S3 버킷 및 해당 버킷의 객체에 대한 액세스 권한을 Amazon Web Services 계정에 부여해야 합니다. 이 액세스 권한을 부여하는 방법에 대한 자세한 내용은 *Amazon Simple Storage Service 사용 설명서*에서 [예제 2: 버킷 소유자가 교차 계정 버킷 권한 부여](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-walkthroughs-managing-access-example2.html)를 참조하세요. 필요한 권한 목록은 [Amazon S3 버킷에 액세스할 수 있는 권한 부여](grant-access-s3.md) 섹션을 참조하세요.

1. 파일 공유에서 S3 버킷에 액세스하기 위해 사용하는 IAM 역할에 `s3:GetObjectAcl` 및 `s3:PutObjectAcl` 등과 같은 작업에 대한 권한이 포함되어 있어야 합니다. 또한 IAM 역할에 계정이 해당 IAM 역할을 할 수 있도록 허용하는 신뢰 정책이 포함되어 있어야 합니다. 이러한 신뢰 정책의 예제는 [Amazon S3 버킷에 액세스할 수 있는 권한 부여](grant-access-s3.md) 섹션을 참조하세요.

   파일 공유가 S3 버킷에 액세스하기 위해 기존 역할을 사용하는 경우에는 반드시 `s3:GetObjectAc` 및 `s3:PutObjectAcl` 작업에 대한 권한이 포함되어 있어야 합니다. 또한 계정이 이 역할을 수임할 수 있도록 허용하는 신뢰 정책이 필요합니다. 이러한 신뢰 정책의 예제는 [Amazon S3 버킷에 액세스할 수 있는 권한 부여](grant-access-s3.md) 섹션을 참조하세요.

1. [https://console.aws.amazon.com/storagegateway/home](https://console.aws.amazon.com/storagegateway/)에서 파일 공유를 생성하거나 파일 공유 설정을 편집할 때 **S3 버킷 소유자가 액세스할 수 있는 게이트웨이 파일**을 선택합니다.

교차 계정 액세스를 위해 파일 공유를 생성 또는 업데이트하고 온프레미스에서 파일 공유를 탑재한 경우 설정을 테스트하는 것이 가장 좋습니다. 이를 위해 디렉터리 콘텐츠를 나열하거나 테스트 파일을 작성하고 파일이 S3 버킷에 객체로 표시되는지 확인할 수 있습니다.

**중요**  
파일 공유에서 사용하는 계정에 교차 계정 액세스 권한을 부여할 수 있도록 정책이 올바르게 설정되어 있는지 확인합니다. 올바르게 선택되어 있지 않는 경우 온프레미스 애플리케이션을 통한 파일 업데이트 내용이 작업 중인 Amazon S3 버킷에 전파되지 않습니다.

## 리소스
<a name="related-topics-fileshare"></a>

액세스 정책 및 액세스 제어 목록에 대한 자세한 내용은 다음 항목을 참조하세요.

*Amazon Simple Storage Service 사용 설명서*의 [사용 가능한 액세스 정책 옵션 사용 지침](https://docs.aws.amazon.com/AmazonS3/latest/dev/access-policy-alternatives-guidelines.html)

**Amazon Simple Storage Service 사용 설명서의 [액세스 제어 목록(ACL) 개요](https://docs.aws.amazon.com/AmazonS3/latest/dev/acl-overview.html)