

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

# 백엔드 리소스를 배포할 권한을 가진 서비스 역할 추가
<a name="amplify-service-role"></a>

Amplify에는 프론트엔드와 함께 백엔드 리소스를 배포할 수 있는 권한이 필요합니다. 서비스 역할을 사용하여 이를 수행합니다. 서비스 역할은 Amplify Hosting에 사용자를 대신하여 백엔드를 배포, 생성 및 관리할 수 있는 권한을 제공하는 AWS Identity and Access Management (IAM) 역할입니다.

새 애플리케이션을 생성할 때 앱에 IAM 서비스 역할이 필요한 경우, Amplify Hosting이 자동으로 서비스 역할을 생성하도록 허용하거나 사용자가 이미 생성한 IAM 역할을 선택할 수 있습니다. 이 섹션에서는 Amplify 애플리케이션이 백엔드를 배포하고 백엔드를 배포, 생성, 관리하는 데 필요한 리소스에 대한 직접 액세스를 명시적으로 허용하는 계정 관리 권한이 있는 Amplify 서비스 역할을 생성합니다.

## IAM 콘솔에서 Amplify 서비스 역할 만들기
<a name="create-service-role"></a>

**서비스 역할을 생성하는 방법**

1.  [IAM 콘솔을 열고](https://console.aws.amazon.com/iam/home?#/roles) 왼쪽 탐색 모음에서 **역할**을 선택한 다음, **역할 생성**을 선택합니다.

1. **신뢰할 수 있는 엔터티 선택** 페이지에서 **AWS 서비스**를 선택합니다. **사용 사례**에서 **Amplify - 백엔드 배포**와 **다음**을 차례로 선택합니다.

1. **권한 추가** 페이지에서 **다음**을 선택합니다.

1. **이름, 보기 및 생성** 페이지에서 **역할 이름**에 **AmplifyConsoleServiceRole-AmplifyRole**과 같은 의미 있는 이름을 입력합니다.

1. 모든 기본값을 수락하고 **역할 생성**을 선택합니다.

1. Amplify 콘솔로 돌아가 역할을 앱에 연결합니다.
   + 새 앱을 배포하는 경우 다음을 수행합니다.

     1. 서비스 역할 목록을 새로 고칩니다.

     1. 방금 생성한 역할을 선택합니다. 예를 들어 **AmplifyConsoleServiceRole-AmplifyRole**처럼 표시되어야 합니다.

     1. **다음**을 선택하고 단계에 따라 앱 배포를 완료합니다.
   + 기존 앱이 있는 경우 다음을 수행합니다.

     1. 탐색 창에서 **앱 설정**을 선택한 다음 **IAM 역할**을 선택합니다.

     1. **IAM 역할** 페이지의 **서비스 역할** 섹션에서 **편집**을 선택합니다.

     1. **서비스 역할** 페이지의 **서비스 역할** 목록에서 방금 생성한 역할을 선택합니다.

     1. **저장**을 선택합니다.

1. 이제 Amplify에는 앱을 위한 백엔드 리소스를 배포할 수 있는 권한이 있습니다.

## 혼동된 대리자를 방지하기 위해 서비스 역할의 신뢰 정책 편집
<a name="confused-deputy-prevention"></a>

혼동된 대리자 문제는 작업을 수행할 권한이 없는 엔터티가 권한이 더 많은 엔터티에게 작업을 수행하도록 강요할 수 있는 보안 문제입니다. 자세한 내용은 [교차 서비스 혼동된 대리자 방지](cross-service-confused-deputy-prevention.md) 단원을 참조하십시오.

현재 `Amplify-Backend Deployment` 서비스 역할에 대한 기본 신뢰 정책은 `aws:SourceArn` 및 `aws:SourceAccount` 글로벌 조건 컨텍스트 키를 적용하여 혼동된 대리자를 방지합니다. 하지만 이전에 `Amplify-Backend Deployment` 역할을 계정에 생성한 경우에는 역할의 신뢰 정책을 업데이트하여 이러한 조건을 추가함으로써 혼동된 대리자를 방지할 수 있습니다.

다음 예제를 사용하여 계정의 앱에 대한 액세스를 제한할 수 있습니다. 예제에서 리전 및 애플리케이션 ID를 실제 정보로 바꿉니다.

```
"Condition": {
      "ArnLike": {
        "aws:SourceArn": "arn:aws:amplify:us-east-1:123456789012:apps/*"
      },
      "StringEquals": {
        "aws:SourceAccount": "123456789012"
      }
    }
```

를 사용하여 역할의 신뢰 정책을 편집하는 방법에 대한 지침은 *IAM 사용 설명서*의 [역할 수정(콘솔)](https://docs.aws.amazon.com/IAM/latest/UserGuide/roles-managingrole-editing-console.html)을 AWS Management Console참조하세요.