

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

# Amazon Simple Storage Service(Amazon S3)에 연결
<a name="connectors-s3"></a>

App Studio를 Amazon S3와 연결하여 빌더가 애플리케이션에서 Amazon S3 리소스에 액세스하고 사용할 수 있도록 하려면 다음 단계를 수행합니다.

1. [1단계: Amazon S3 리소스 생성 및 구성](#connectors-s3-create-resources)

1. [2단계: 적절한 Amazon S3 권한을 사용하여 IAM 정책 및 역할 생성](#connectors-s3-iam)

1. [3단계: Amazon S3 커넥터 생성](#connectors-s3-create-connector)

단계를 완료하고 적절한 권한이 있는 커넥터를 생성한 후 빌더는 커넥터를 사용하여 Amazon S3 리소스와 상호 작용하는 앱을 생성할 수 있습니다. App Studio 앱에서 Amazon S3와 상호 작용하는 방법에 대한 자세한 내용은 섹션을 참조하세요[Amazon Simple Storage Service와 구성 요소 및 자동화의 상호 작용](automations-s3.md).

## 1단계: Amazon S3 리소스 생성 및 구성
<a name="connectors-s3-create-resources"></a>

앱의 요구 사항과 기존 리소스에 따라 앱이 쓰고 읽을 수 있도록 Amazon S3 버킷을 생성해야 할 수 있습니다. 버킷을 포함한 Amazon S3 리소스 생성에 대한 자세한 내용은 Amazon *Simple Storage Service 사용 설명서의 Amazon* [ Amazon S3 시작하기](https://docs.aws.amazon.com/AmazonS3/latest/userguide/GetStartedWithS3.html)를 참조하세요.

앱에서 [S3 업로드](components-reference.md#s3-upload-component) 구성 요소를 사용하려면 업로드하려는 Amazon S3 버킷에 CORS(Cross-Origin Resource Sharing) 구성을 추가해야 합니다. CORS 구성은 객체를 버킷으로 푸시할 수 있는 권한을 App Studio에 부여합니다. 다음 절차에서는 콘솔을 사용하여 Amazon S3 버킷에 CORS 구성을 추가하는 방법을 자세히 설명합니다. CORS 및 구성에 대한 자세한 내용은 *Amazon Simple Storage Service 사용 설명서*의 [CORS(Cross-Origin 리소스 공유) 사용을](https://docs.aws.amazon.com/AmazonS3/latest/userguide/cors.html) 참조하세요.

**콘솔에서 Amazon S3 버킷에 CORS 구성을 추가하려면**

1. [https://console.aws.amazon.com/s3/](https://console.aws.amazon.com/s3/) 버킷으로 이동합니다.

1. **권한** 탭을 선택합니다.

1. **CORS(Cross-Origin Resource Sharing)**에서 **편집**을 선택합니다.

1. 다음 코드 조각을 추가합니다.

   ```
   [
       {
           "AllowedHeaders": [
               "*"
           ],
           "AllowedMethods": [
               "PUT",
               "POST"
           ],
           "AllowedOrigins": [
               "*"
           ],
           "ExposeHeaders": []
       }
   ]
   ```

1. **변경 사항 저장**을 선택합니다.

## 2단계: 적절한 Amazon S3 권한을 사용하여 IAM 정책 및 역할 생성
<a name="connectors-s3-iam"></a>

App Studio에서 Amazon S3 리소스를 사용하려면 관리자가 IAM 정책 및 역할을 생성하여 App Studio에 리소스에 액세스할 수 있는 권한을 부여해야 합니다. IAM 정책은 빌더가 사용할 수 있는 데이터의 범위와 생성, 읽기, 업데이트 또는 삭제와 같이 해당 데이터에 대해 호출할 수 있는 작업을 제어합니다. 그런 다음 IAM 정책은 App Studio에서 사용하는 IAM 역할에 연결됩니다.

서비스 및 정책당 하나 이상의 IAM 역할을 생성하는 것이 좋습니다. 예를 들어 빌더가 Amazon S3의 서로 다른 버킷이 지원하는 두 개의 애플리케이션을 생성하는 경우 관리자는 각 버킷에 대해 하나씩 두 개의 IAM 정책 및 역할을 생성해야 합니다.

### 2a단계: 적절한 Amazon S3 권한을 사용하여 IAM 정책 생성
<a name="connectors-s3-iam-policy"></a>

App Studio에서 생성하고 사용하는 IAM 정책에는 애플리케이션이 모범 보안 사례를 따르는 데 필요한 적절한 리소스에 대한 최소 권한만 포함되어야 합니다.

**적절한 Amazon S3 권한을 사용하여 IAM 정책을 생성하려면**

1. [IAM 정책을 생성할 권한이 있는 사용자로 IAM 콘솔](https://console.aws.amazon.com/iam)에 로그인합니다. 에서 생성된 관리 사용자를 사용하는 것이 좋습니다[AWS 리소스 관리를 위한 관리 사용자 생성](setting-up-first-time-admin.md#setting-up-create-admin-user).

1. 왼쪽 탐색 창에서 **정책을** 선택합니다.

1. **정책 생성**을 선택합니다.

1. **정책 편집기** 섹션에서 **JSON** 옵션을 선택합니다.

1. JSON 정책 문서를 입력하거나 붙여 넣습니다. 다음 탭에는 Amazon S3 리소스에 대한 읽기 전용 및 전체 액세스에 대한 정책 예제가 포함되어 있습니다.
**참고**  
다음 정책은 와일드카드()를 사용하는 모든 Amazon S3 리소스에 적용됩니다`*`. 모범 보안 사례를 위해 와일드카드를 App Studio와 함께 사용할 버킷 또는 폴더와 같은 리소스의 Amazon 리소스 이름(ARN)으로 바꿔야 합니다.

------
#### [ Read only ]

   다음 정책은 구성된 Amazon S3 버킷 또는 폴더에 대한 읽기 전용 액세스(가져오기 및 나열)를 부여합니다.

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

****  

   ```
   {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
         {
            "Sid": "S3ReadOnlyForAppStudio",
            "Effect": "Allow",
            "Action": [
               "s3:GetObject",
               "s3:ListBucket"
            ],
            "Resource": "*"
         }
      ]
   }
   ```

------

------
#### [ Full access ]

   다음 정책은 구성된 Amazon S3 버킷 또는 폴더에 대한 전체 액세스 권한(입력, 가져오기, 나열 및 삭제)을 부여합니다.

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

****  

   ```
   {
      "Version":"2012-10-17",		 	 	 
      "Statement": [
         {
            "Sid": "S3FullAccessForAppStudio",
            "Effect": "Allow",
            "Action": [
               "s3:PutObject",
               "s3:GetObject",
               "s3:ListBucket",
               "s3:DeleteObject"
            ],
            "Resource": "*"
         }
      ]
   }
   ```

------

------

1. **다음**을 선택합니다.

1. **검토 및 생성** 페이지에서 **AWSAppStudioS3FullAccess**, **설명**(선택 사항)과 같은 **정책 이름을** 제공합니다.

1. **정책 생성을** 선택하여 정책을 생성합니다.

### 2b단계: App Studio에 Amazon S3 리소스에 대한 액세스 권한을 부여하는 IAM 역할 생성
<a name="connectors-s3-iam-role"></a>

App Studio에서 Amazon S3 리소스를 사용하려면 관리자가 IAM 역할을 생성하여 App Studio에 리소스에 액세스할 수 있는 권한을 부여해야 합니다. IAM 역할은 빌더가 사용할 수 있는 데이터의 범위와 생성, 읽기, 업데이트 또는 삭제와 같이 해당 데이터에 대해 호출할 수 있는 작업을 제어합니다.

서비스 및 정책당 하나 이상의 IAM 역할을 생성하는 것이 좋습니다.

**App Studio에 Amazon S3 리소스에 대한 액세스 권한을 부여하는 IAM 역할을 생성하려면**

1. [IAM 역할을 생성할 권한이 있는 사용자로 IAM 콘솔](https://console.aws.amazon.com/iam)에 로그인합니다. 에서 생성된 관리 사용자를 사용하는 것이 좋습니다[AWS 리소스 관리를 위한 관리 사용자 생성](setting-up-first-time-admin.md#setting-up-create-admin-user).

1. 콘솔의 탐색 창에서 **역할**을 선택한 후 **역할 생성**을 선택합니다.

1. **신뢰할 수 있는 엔터티 유형**에서 **사용자 지정 신뢰 정책을** 선택합니다.

1. App Studio 애플리케이션이 계정에서이 역할을 수임하도록 허용하려면 기본 정책을 다음 정책으로 바꿉니다.

   정책에서 다음 자리 표시자를 바꿔야 합니다. 사용할 값은 App Studio의 **계정 설정** 페이지에서 찾을 수 있습니다.
   + *111122223333*을 App Studio 인스턴스를 설정하는 데 사용된 계정의 AWS 계정 번호로 바꿉니다. App Studio 인스턴스의 계정 설정에 **AWS 계정 ID**로 나열됩니다.
   + *1111111-2222-3333-4444-55555555555555를* App Studio 인스턴스의 계정 설정에 인스턴스 ID로 **나열된 App Studio 인스턴스 ID**로 바꿉니다.

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

****  

   ```
   { 
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           { 
               "Effect": "Allow",
               "Principal": { 
                   "AWS": "arn:aws:iam::111122223333:root"
               }, 
               "Action": "sts:AssumeRole",
               "Condition": {
                   "StringEquals": {
                           "aws:PrincipalTag/IsAppStudioAccessRole": "true",
                           "sts:ExternalId": "11111111-2222-3333-4444-555555555555"
                   }
               }
           } 
       ]
   }
   ```

------

   **다음**을 선택합니다.

1. **권한 추가**에서 이전 단계(**S3ReadOnlyForAppStudio** 또는 )에서 생성한 정책을 검색하고 선택합니다**S3FullAccessForAppStudio**. 정책 옆에 있는 **\$1**를 선택하면 정책이 확장되어 정책이 부여한 권한이 표시되고 확인란을 선택하면 정책이 선택됩니다.

   **다음**을 선택합니다.

1. **이름, 검토 및 생성** 페이지에서 **역할 이름** 및 **설명을** 제공합니다.

1. **3단계: 태그 추가**에서 **새 태그 추가**를 선택하여 다음 태그를 추가하여 App Studio 액세스를 제공합니다.
   + **키: **`IsAppStudioDataAccessRole`
   + **값: **`true`

1. **역할 생성을** 선택하고 생성된 Amazon 리소스 이름(ARN)을 기록해 둡니다. 다음 단계에서 App Studio에서 Amazon S3 커넥터를 생성하는 데 필요합니다.

## 3단계: Amazon S3 커넥터 생성
<a name="connectors-s3-create-connector"></a>

이제 Amazon S3 리소스와 IAM 정책 및 역할을 구성했으므로 해당 정보를 사용하여 빌더가 앱을 Amazon S3에 연결하는 데 사용할 수 있는 커넥터를 App Studio에 생성합니다.

**참고**  
커넥터를 생성하려면 App Studio에 관리자 역할이 있어야 합니다.

**Amazon S3용 커넥터를 생성하려면**

1. App Studio로 이동합니다.

1. 왼쪽 탐색 창의 **관리** 섹션에서 **커넥터를** 선택합니다. 기존 커넥터 목록과 각 커넥터에 대한 몇 가지 세부 정보가 표시된 페이지로 이동합니다.

1. **\$1 커넥터 생성을** 선택합니다.

1. **Amazon S3** 커넥터를 선택합니다.

1. 다음 필드를 작성하여 커넥터를 구성합니다.
   + **이름:** Amazon S3 커넥터의 이름을 입력합니다.
   + **설명:** Amazon S3 커넥터에 대한 설명을 입력합니다.
   + **IAM 역할:**에서 생성된 IAM 역할의 Amazon 리소스 이름(ARN)을 입력합니다[2b단계: App Studio에 Amazon S3 리소스에 대한 액세스 권한을 부여하는 IAM 역할 생성](#connectors-s3-iam-role). IAM에 대한 자세한 내용은 [IAM 사용 설명서](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html)를 참조하세요.
   + **리전:** Amazon S3 리소스가 위치한 AWS 리전을 선택합니다.

1. **생성(Create)**을 선택합니다.

1. 새로 생성된 커넥터가 **커넥터** 목록에 나타납니다.