

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

# 풀 요청에 대한 승인 규칙 생성
<a name="how-to-create-pull-request-approval-rule"></a>

풀 요청에 대한 승인 규칙을 생성하면 코드를 대상 브랜치로 병합하기 전에 사용자가 풀 요청을 승인하도록 하여 코드의 품질을 보장할 수 있습니다. 풀 요청을 승인해야 하는 사용자 수를 지정할 수 있습니다. 규칙에 대한 승인 사용자 풀을 지정할 수도 있습니다. 이렇게 하면 해당 사용자의 승인만 규칙에 필요한 승인 수에 합산됩니다.

**참고**  
또한 승인 규칙 템플릿을 생성하여, 리포지토리 간의 모든 풀 요청에 적용되는 승인 규칙 생성을 자동화할 수 있습니다. 자세한 내용은 [승인 규칙 템플릿 작업](approval-rule-templates.md) 단원을 참조하십시오.

 AWS CodeCommit 콘솔 또는를 사용하여 리포지토리 AWS CLI 에 대한 승인 규칙을 생성할 수 있습니다.

**Topics**
+ [풀 요청에 대한 승인 규칙 생성 (콘솔)](#how-to-create-pull-request-approval-rule-console)
+ [풀 요청에 대한 승인 규칙 생성 (AWS CLI)](#how-to-create-pull-request-approval-rule-cli)

## 풀 요청에 대한 승인 규칙 생성 (콘솔)
<a name="how-to-create-pull-request-approval-rule-console"></a>

CodeCommit 콘솔을 사용하여 CodeCommit 리포지토리에 풀 요청에 대한 승인 규칙을 생성할 수 있습니다.

1. [https://console.aws.amazon.com/codesuite/codecommit/home](https://console.aws.amazon.com/codesuite/codecommit/home)에서 CodeCommit 콘솔을 엽니다.

1. **리포지토리**에서 풀 요청에 대한 승인 규칙을 생성할 리포지토리의 이름을 선택합니다.

1. 탐색 창에서 **풀 요청**을 선택합니다.

1. 목록에서 승인 규칙을 생성할 풀 요청을 선택합니다. 미결 상태인 풀 요청에 대해서만 승인 규칙을 생성할 수 있습니다.  
![CodeCommit 콘솔에 표시된 리포지토리의 풀 요청 목록.](http://docs.aws.amazon.com/ko_kr/codecommit/latest/userguide/images/codecommit-pull-request-view.png)

1. 풀 요청에서 **승인**을 선택한 다음 **승인 규칙 생성**을 선택합니다.

1. **규칙 이름**에서 규칙에 해당 용도를 알 수 있도록 설명이 포함된 이름을 지정합니다. 예를 들어 풀 요청을 병합하기 전에 두 사람이 승인하도록 요구하려면 규칙 이름으로 **Require two approvals before merge**를 지정할 수 있습니다.
**참고**  
승인 규칙을 생성한 후에는 이름을 변경할 수 없습니다.

   **필요한 승인 수**에 원하는 숫자를 입력합니다. 기본값은 1입니다.  
![풀 요청에 대한 승인 규칙 생성](http://docs.aws.amazon.com/ko_kr/codecommit/latest/userguide/images/codecommit-create-approval-rule.png)

1. (선택 사항) 특정 사용자 그룹에서 풀 요청에 대한 승인을 받도록 하려면 **승인 규칙 멤버**에서 **추가**를 선택합니다. **승인자 유형**에서 다음 중 하나를 선택합니다.
   + **IAM 사용자 이름 또는 위임된 역할**: 이 옵션은 로그인할 때 사용한 계정으로 AWS 계정 ID를 미리 채우며 오로지 이름만 필요로 합니다. 이 옵션은 제공된 이름과 일치하는 IAM 사용자 및 페더레이션 액세스 사용자 모두에 사용할 수 있습니다. 이 옵션은 폭넓은 유연성을 제공하는 매우 강력한 옵션입니다. 예를 들어, Amazon Web Services 계정 123456789012로 로그인하여 이 옵션을 선택하고 **Mary\_Major**를 지정한 경우, 다음은 모두 해당 사용자의 승인으로 간주됩니다.
     + 해당 계정의 IAM 사용자 (`arn:aws:iam::123456789012:user/Mary_Major`)
     + IAM에서 Mary\_Major로 식별되는 페더레이션 사용자 (`arn:aws:sts::123456789012:federated-user/Mary_Major`)

     이 옵션은 와일드카드가 포함되지 않는 한(`*Mary_Major`) 역할 세션 이름 Mary\_Major(`arn:aws:sts::123456789012:assumed-role/CodeCommitReview/Mary_Major`)를 사용하여 **CodeCommitReview** 역할을 수임한 누군가의 활성 세션을 인식하지 못합니다. 역할 이름(`CodeCommitReview/Mary_Major`)을 명시적으로 지정할 수도 있습니다.
   + **정규화된 ARN**: 이 옵션을 사용하면 IAM 사용자 또는 역할의 정규화된 Amazon 리소스 이름(ARN)을 지정할 수 있습니다. 이 옵션은 AWS Lambda 및와 같은 다른 AWS 서비스에서 사용하는 수임된 역할도 지원합니다 AWS CodeBuild. 수임된 역할의 경우 ARN 형식은 역할 및 기능에 대해 각각 `arn:aws:sts::{{AccountID}}:assumed-role/{{RoleName}}` 및 `arn:aws:sts::{{AccountID}}:assumed-role/{{FunctionName}}` 형식이어야 합니다.

   승인자 유형으로 **IAM 사용자 이름 또는 수임된 역할**을 선택한 경우, **값**에는 IAM 사용자나 역할의 이름 또는 사용자나 역할의 정규화된 ARN을 입력합니다. 필요한 승인 수에 해당 승인이 합산되는 모든 사용자 또는 역할을 추가할 때까지 **추가**를 다시 선택하여 사용자 또는 역할을 추가합니다.

   두 승인자 유형 모두 값에 와일드카드(\*)를 사용할 수 있습니다. 예를 들어, **IAM 사용자 이름 또는 수임된 역할** 옵션을 선택하고 **CodeCommitReview/\***를 지정하면, **CodeCommitReview**의 역할을 맡은 모든 사용자가 승인 풀에 포함됩니다. 개별 역할 세션 이름은 필요한 승인자 수에 포함됩니다. 이러한 방식으로 Mary\_Major 및 Li\_Juan은 로그인하여 `CodeCommitReview` 역할을 수임하면 승인으로 합산됩니다. IAM ARN, 와일드카드, 형식 등에 대한 자세한 내용은 [IAM 식별자](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-arns)를 참조하세요.
**참고**  
승인 규칙은 교차 계정 승인을 지원하지 않습니다.

1. 승인 규칙 구성을 완료했으면 **제출**을 선택합니다.

 

## 풀 요청에 대한 승인 규칙 생성 (AWS CLI)
<a name="how-to-create-pull-request-approval-rule-cli"></a>

CodeCommit에서 AWS CLI 명령을 사용하려면를 설치합니다 AWS CLI. 자세한 내용은 [명령줄 참조](cmd-ref.md) 단원을 참조하십시오.

## CodeCommit 리포지토리에 풀 요청에 대한 승인 규칙을 생성하려면

+ 다음을 지정하여 **create-pull-request-approval-rule** 명령을 실행합니다.
  + 풀 요청의 ID(**--id** 옵션 사용).
  + 승인 규칙의 이름(**--approval-rule-name** 옵션 사용).
  + 승인 규칙의 내용(**--approval-rule-content** 옵션 사용).

  승인 규칙을 생성할 때 다음 두 가지 방법 중 하나로 승인 풀에 승인자를 지정할 수 있습니다.
  + **CodeCommitApprovers**: 이 옵션에는 Amazon Web Services 계정과 리소스만 필요합니다. 이 옵션은 이름이 제공된 리소스 이름과 일치하는 IAM 사용자 및 페더레이션 액세스 사용자 모두에 사용할 수 있습니다. 이 옵션은 폭넓은 유연성을 제공하는 매우 강력한 옵션입니다. 예를 들어, Amazon Web Services 계정 123456789012 및 **Mary\_Major**를 지정한 경우, 다음은 모두 해당 사용자의 승인으로 간주됩니다.
    + 해당 계정의 IAM 사용자 (`arn:aws:iam::123456789012:user/Mary_Major`)
    + IAM에서 Mary\_Major로 식별되는 페더레이션 사용자 (`arn:aws:sts::123456789012:federated-user/Mary_Major`)

    이 옵션은 와일드카드가 포함되지 않는 한(`*Mary_Major`) 역할 세션 이름 Mary\_Major(`arn:aws:sts::123456789012:assumed-role/CodeCommitReview/Mary_Major`)를 사용하여 **CodeCommitReview** 역할을 수임한 누군가의 활성 세션을 인식하지 못합니다.
  + **정규화된 ARN**: 이 옵션을 사용하면 IAM 사용자 또는 역할의 정규화된 Amazon 리소스 이름(ARN)을 지정할 수 있습니다.

  IAM ARN, 와일드카드, 형식 등에 대한 자세한 내용은 [IAM 식별자](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_identifiers.html#identifiers-arns)를 참조하세요.

  다음 예제에서는 ID가 `27`인 풀 요청에 대해 `Require two approved approvers`라는 승인 규칙을 생성합니다. 이 규칙은 하나의 승인 풀에서 두 개의 승인이 필요하도록 지정합니다. 이 풀에는 `123456789012` Amazon Web Services 계정에서 **CodeCommitReview**의 역할을 수임하고 CodeCommit에 액세스할 수 있는 모든 사용자가 포함됩니다. 또한 동일한 Amazon Web Services 계정의 `Nikhil_Jayashankar`라는 IAM 사용자 또는 페더레이션 사용자도 포함됩니다.

  ```
  aws codecommit create-pull-request-approval-rule --pull-request-id 27 --approval-rule-name "Require two approved approvers" --approval-rule-content "{\"Version\": \"2018-11-08\",\"Statements\": [{\"Type\": \"Approvers\",\"NumberOfApprovalsNeeded\": 2,\"ApprovalPoolMembers\": [\"CodeCommitApprovers:123456789012:Nikhil_Jayashankar\", \"arn:aws:sts::123456789012:assumed-role/CodeCommitReview/*\"]}]}"
  ```