

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

# IAM Identity Center를 사용한 Amazon S3 Access Grants 설정
<a name="tip-tutorial-s3"></a>

[Amazon S3 Access Grants](https://docs.aws.amazon.com//AmazonS3/latest/userguide/access-grants-get-started.html)는 S3 위치에 자격 증명에 기반한 세분화된 액세스 제어를 부여할 수 있는 유연성을 제공합니다. Amazon S3 Access Grants를 사용하여 회사 사용자 및 그룹에 Amazon S3 버킷 액세스 권한을 직접 부여할 수 있습니다. IAM Identity Center를 사용해 S3 Access Grants를 활성화하고 신뢰할 수 있는 ID 전파를 달성하려면 다음 단계를 따릅니다.

## 사전 조건
<a name="tip-tutorial-s3-prereqs"></a>

이 자습서를 시작하려면 먼저 다음을 설정해야 합니다.
+ [IAM Identity Center를 활성화합니다](enable-identity-center.md). [조직 인스턴스](organization-instances-identity-center.md)를 권장합니다. 자세한 내용은 [필수 조건 및 고려 사항](trustedidentitypropagation-overall-prerequisites.md) 단원을 참조하십시오.

## IAM Identity Center를 통해 신뢰할 수 있는 ID 전파를 설정하기 위한 S3 Access Grants 구성
<a name="tip-tutorial-s3-configure"></a>

**등록된 위치가 있는 Amazon S3 Access Grants 인스턴스가 이미 있는 경우 다음 단계를 따릅니다.**

1. [IAM Identity Center 인스턴스를 연결합니다](https://docs.aws.amazon.com//AmazonS3/latest/userguide/access-grants-instance-idc.html).

1. [권한 부여를 생성합니다](#tip-tutorial-s3-create-grant).

**Amazon S3 Access Grants를 아직 생성하지 않은 경우 다음 단계를 따릅니다.**

1. [https://docs.aws.amazon.com//AmazonS3/latest/userguide/access-grants-instance-create.html](https://docs.aws.amazon.com//AmazonS3/latest/userguide/access-grants-instance-create.html) - 당 하나의 S3 Access Grants 인스턴스를 생성할 수 있습니다 AWS 리전. S3 Access Grants 인스턴스를 생성할 때 **IAM Identity Center 인스턴스 추가** 확인란을 선택하고 IAM Identity Center 인스턴스의 ARN을 입력해야 합니다. **다음**을 선택합니다.

   다음 이미지는 Amazon S3 Access Grants 콘솔의 S3 Access Grants 인스턴스 생성 페이지를 보여줍니다.  
![\[S3 Access Grants 콘솔에서 S3 Access Grants 인스턴스 페이지를 생성합니다.\]](http://docs.aws.amazon.com/ko_kr/singlesignon/latest/userguide/images/s3-tutorial-step-1.1.png)

1. **위치 등록** - 계정의에서 [ Amazon S3 Access Grants 인스턴스를 생성한](https://docs.aws.amazon.com//AmazonS3/latest/userguide/access-grants-instance-create.html) 후 해당 인스턴스에 [ S3 위치를 등록](https://docs.aws.amazon.com//AmazonS3/latest/userguide/access-grants-location-register.html) AWS 리전 합니다. S3 Access Grants 위치는 기본 S3 위치(`S3://`), 버킷 또는 접두사를 IAM 역할에 매핑합니다. S3 Access Grants는 이 Amazon S3 역할을 맡아 해당 특정 위치에 액세스하는 피부여자에게 임시 자격 증명을 제공합니다. 액세스 권한 부여를 생성하려면 먼저 S3 Access Grants 인스턴스에 위치를 하나 이상 등록해야 합니다.

   **위치 범위**에는 해당 리전의 모든 버킷을 포함하는 `s3://`를 지정합니다. 이는 대부분의 사용 사례에 권장되는 위치 범위입니다. 고급 액세스 관리 사용 사례가 있는 경우 위치 범위를 특정 버킷 `s3://bucket` 또는 버킷 `s3://bucket/prefix-with-path` 내의 접두사로 설정할 수 있습니다. 자세한 내용은 *Amazon Simple Storage Service 사용 설명서*에서 [위치 등록](https://docs.aws.amazon.com//AmazonS3/latest/userguide/access-grants-location-register.html)을 참조하세요.
**참고**  
액세스 권한을 부여하려는 AWS Glue 테이블의 S3 위치가이 경로에 포함되어 있는지 확인합니다.

   이 절차를 수행하려면 위치에 대해 IAM 역할을 구성해야 합니다. 이 역할에는 위치 범위에 액세스할 수 있는 권한이 포함되어야 합니다. S3 콘솔 마법사를 사용하여 이 역할을 생성할 수 있습니다. 이 IAM 역할의 정책에 S3 Access Grants 인스턴스 ARN을 지정해야 합니다. S3 Access Grants 인스턴스 ARN의 기본값은 `arn:aws:s3:Your-Region:Your-AWS-Account-ID:access-grants/default`입니다.

   다음 예시 권한 정책은 생성한 IAM 역할에 Amazon S3 권한을 부여합니다. 그리고 그 뒤의 예시 신뢰 정책은 S3 Access Grants 서비스 위탁자가 IAM 역할을 맡을 수 있도록 허용합니다.

   1. **권한 정책**

      이 정책을 사용하려면 정책 예제의 *기울임꼴의 자리표시자 텍스트*를 본인의 정보로 대체합니다. 추가 지침은 [정책 생성](https://docs.aws.amazon.com//IAM/latest/UserGuide/access_policies_create.html) 또는 [정책 편집](https://docs.aws.amazon.com//IAM/latest/UserGuide/access_policies_manage-edit.html)을 참조하세요.

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

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Sid": "ObjectLevelReadPermissions",
                  "Effect": "Allow",
                  "Action": [
                      "s3:GetObject",
                      "s3:GetObjectVersion",
                      "s3:GetObjectAcl",
                      "s3:GetObjectVersionAcl",
                      "s3:ListMultipartUploadParts"
                  ],
                  "Resource": [
                      "arn:aws:s3:::*"
                  ],
                  "Condition": {
                      "StringEquals": {
                          "aws:ResourceAccount": "111122223333"
                      },
                      "ArnEquals": {
                          "s3:AccessGrantsInstanceArn": [
                          "arn:aws:s3:::access-grants/instance-id"
                          ]
                      }
                  }
              },
              {
                  "Sid": "ObjectLevelWritePermissions",
                  "Effect": "Allow",
                  "Action": [
                      "s3:PutObject",
                      "s3:PutObjectAcl",
                      "s3:PutObjectVersionAcl",
                      "s3:DeleteObject",
                      "s3:DeleteObjectVersion",
                      "s3:AbortMultipartUpload"
                  ],
                  "Resource": [
                      "arn:aws:s3:::*"
                  ],
                  "Condition": {
                      "StringEquals": {
                      "aws:ResourceAccount": "111122223333"
                      },
                      "ArnEquals": {
                          "s3:AccessGrantsInstanceArn": [
                          "arn:aws:s3:::access-grants/instance-id"
                          ]
                      }
                  }
              },
              {
                  "Sid": "BucketLevelReadPermissions",
                  "Effect": "Allow",
                  "Action": [
                      "s3:ListBucket"
                  ],
                  "Resource": [
                      "arn:aws:s3:::*"
                  ],
                  "Condition": {
                      "StringEquals": {
                      "aws:ResourceAccount": "111122223333"
                      },
                      "ArnEquals": {
                          "s3:AccessGrantsInstanceArn": [
                          "arn:aws:s3:::access-grants/instance-id"
                          ]
                      }
                  }
              },
              {
                  "Sid": "OptionalKMSPermissionsForSSEEncryption",
                  "Effect": "Allow",
                  "Action": [
                      "kms:Decrypt",
                      "kms:GenerateDataKey"
                  ],
                  "Resource": [
                      "*"
                  ]
              }
          ]
      }
      ```

------

   1. **신뢰 정책**

       IAM 역할 신뢰 정책에서 S3 Access Grants 서비스(`access-grants.s3.amazonaws.com`) 보안 주체에 생성한 IAM 역할에 대한 액세스 권한을 부여합니다. 이를 위해 다음 문이 포함된 JSON 파일을 생성할 수 있습니다. 계정에 신뢰 정책을 추가하려면 [사용자 지정 신뢰 정책을 사용하여 역할 생성](https://docs.aws.amazon.com//IAM/latest/UserGuide/id_roles_create_for-custom.html)을 참조하세요.

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

****  

      ```
      {
          "Version":"2012-10-17",		 	 	 
          "Statement": [
              {
                  "Sid": "Stmt1234567891011",
                  "Effect": "Allow",
                  "Action": [
                      "sts:AssumeRole",
                      "sts:SetSourceIdentity"
                  ],
                  "Resource": "*",
                  "Condition": {
                      "StringEquals": {
                          "aws:SourceAccount": "111122223333",
                          "aws:SourceArn": "Your-Custom-Access-Grants-Location-ARN"
                      }
                  }
              },
      
              {
                  "Sid": "Stmt1234567891012",
                  "Effect": "Allow",
                  "Action": "sts:SetContext",
                  "Resource": "*",
                  "Condition": {
                      "StringEquals": {
                          "aws:SourceAccount": "111122223333",
                          "aws:SourceArn": "Your-Custom-Access-Grants-Location-ARN"
                      },
                      "ForAllValues:ArnEquals": {
                          "sts:RequestContextProviders": "arn:aws:iam::aws:contextProvider/IdentityCenter"
                      }
                  }
              }
          ]
      }
      ```

------

## Amazon S3 액세스 권한 부여 생성
<a name="tip-tutorial-s3-create-grant"></a>

등록된 위치가 있는 Amazon S3 Access Grants 인스턴스가 있고 IAM Identity Center 인스턴스를 이와 연결한 경우 [권한 부여를 생성](https://docs.aws.amazon.com//AmazonS3/latest/userguide/access-grants-grant-create.html)할 수 있습니다. S3 콘솔 **권한 생성** 페이지에서 다음을 완료합니다.

**권한 부여 생성**

1. 이전 단계에서 생성한 위치를 선택합니다. 하위 접두사를 추가하여 권한 부여 범위를 줄일 수 있습니다. 하위 접두사는 버킷의 `bucket`, `bucket/prefix` 또는 객체일 수 있습니다. 자세한 내용은 *Amazon Simple Storage Service 사용 설명서*의 [하위 접두사](https://docs.aws.amazon.com//AmazonS3/latest/userguide/access-grants-grant-create.html#subprefix)를 참조하세요.

1. **권한 및 액세스**에서 필요에 따라 **읽기** 및 **쓰기**를 선택합니다.

1. **권한 부여자 유형**에서 **디렉터리 자격 증명 양식 IAM Identity Center**를 선택합니다.

1. IAM Identity Center **사용자 또는 그룹 ID**를 입력합니다. IAM Identity Center 콘솔의 [**사용자** 및 **그룹** 섹션](howtoviewandchangepermissionset.md)에서 사용자 및 그룹 ID를 찾을 수 있습니다. **다음**을 선택합니다.

1. **검토 및 완료** 페이지에서 S3 Access Grant에 대한 설정을 검토한 다음 **권한 부여 생성**을 선택합니다.

   다음 이미지는 Amazon S3 Access Grants 콘솔의 권한 부여 생성 페이지를 보여줍니다.  
![\[Amazon S3 Access Grants 콘솔의 권한 부여 생성 페이지.\]](http://docs.aws.amazon.com/ko_kr/singlesignon/latest/userguide/images/s3-tutorial-step-1.4.png)