

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

# GitLab Duo 개념
<a name="gitlab-concepts"></a>

다음은 [GitLab Duo with Amazon Q](https://docs.gitlab.com/ee/user/duo_amazon_q/)를 사용할 때 알아야 할 몇 가지 개념과 용어입니다.

**Topics**
+ [GitLab Duo with Amazon Q 설정](#gitlab-concepts-set-up)
+ [AWS 리소스 및 권한 정책을 사용한 온보딩](#gitlab-concepts-onboarding)
+ [GitLab 빠른 작업](#gitlab-concepts-quick-actions)

## GitLab Duo with Amazon Q 설정
<a name="gitlab-concepts-set-up"></a>

GitLab Duo에서 Amazon Q 인공 지능(AI) 기능을 사용하려면 먼저 사전 조건을 완료하고 AWS 리소스를 생성해야 합니다. 자세한 내용은 *GitLab 설명서*의 [GitLab Duo with Amazon Q 설정](https://docs.gitlab.com/ee/user/duo_amazon_q/setup.html)을 참조하세요.

## AWS 리소스 및 권한 정책을 사용한 온보딩
<a name="gitlab-concepts-onboarding"></a>

GitLab Duo 온보딩 프로세스의 일환으로 [Amazon Q Developer 콘솔](https://console.aws.amazon.com/amazonq/developer/home)을 통해 Amazon Q Developer 프로필을 생성해야 합니다. 프로필을 사용하면 자격 증명 공급자의 사용자 전체 또는 일부에 대한 사용자 지정 및 제어 설정을 생성할 수 있습니다. 프로필을 생성한 후 GitLab Duo와 AWS 계정 간에 신뢰를 설정하려면 OpenID Connect(OIDC) ID 제공업체(IdP)와 IAM 서비스 역할이 필요합니다. 필요한 리소스를 생성하고 GitLab Duo with Amazon Q를 설정하는 방법을 알아보려면 *GitLab 설명서*의 [GitLab Duo with Amazon Q 설정](https://docs.gitlab.com/ee/user/duo_amazon_q/setup.html)을 참조하세요.

새 IAM 역할이 생성되면 필요한 권한이 있는 필수 신뢰 정책도 생성됩니다. 역할 신뢰 정책은 IAM의 역할에 연결된 필수 [리소스 기반 정책](https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies.html#policies_resource-based)입니다.

Amazon Q와 연결하고 GitLab Duo with Amazon Q 통합의 기능을 활용할 수 있는 권한을 부여하는 권한 정책을 추가해야 합니다. IAM 역할을 생성할 때 정책을 추가해야 합니다. 권한 정책에서 제공하는 권한에 대한 자세한 내용은 [GitLabDuoWithAmazonQPermissionsPolicy](managed-policy.md#amazonq-policy-GitLabDuoWithAmazonQPermissionsPolicy) 섹션을 참조하세요.

또는 인라인 정책을 생성하고 필요한 권한을 추가할 수 있습니다. 사용자 지정 액세스 제어를 원하는 경우 인라인 정책을 생성하도록 선택할 수 있습니다. 자세한 내용은 *IAM 사용자 설명서*의 [관리형 정책 및 인라인 정책](https://docs.aws.amazon.com//IAM/latest/UserGuide/access_policies_managed-vs-inline.html) 및 [AWS Identity and Access Management의 정책 및 권한](https://docs.aws.amazon.com//IAM/latest/UserGuide/access_policies.html)을 참조하세요.

**신뢰 정책**

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

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
        {
            "Effect": "Allow",
            "Action": "sts:AssumeRoleWithWebIdentity",
            "Principal": {
                "Federated": "arn:aws:iam::111122223333:oidc-provider/auth.token.gitlab.com/cc/oidc/instance-id"
            },
            "Condition": {
                "StringEquals": {
                    "auth.token.gitlab.com/cc/oidc/instance-id:aud": "gitlab-cc-instance-id"
                }
            }
        }
    ]
}
```

------

**권한 정책**

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

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Sid": "GitLabDuoUsagePermissions",
      "Effect": "Allow",
      "Action": [
        "q:SendEvent",
        "q:CreateAuthGrant",
        "q:UpdateAuthGrant",
        "q:GenerateCodeRecommendations",
        "q:SendMessage",
        "q:ListPlugins",
        "q:VerifyOAuthAppConnection"
      ],
      "Resource": "*"
    },
    {
      "Sid": "GitLabDuoManagementPermissions",
      "Effect": "Allow",
      "Action": [
        "q:CreateOAuthAppConnection",
        "q:DeleteOAuthAppConnection"
      ],
      "Resource": "*"
    },
    {
      "Sid": "GitLabDuoPluginPermissions",
      "Effect": "Allow",
      "Action": [
        "q:CreatePlugin",
        "q:DeletePlugin",
        "q:GetPlugin"
      ],
      "Resource": "arn:aws:qdeveloper:*:*:plugin/GitLabDuoWithAmazonQ/*"
    }
  ]
}
```

------

선택적으로 키의 수명 주기 및 사용을 완전히 제어하려는 경우 고객 관리형 키(CMK)를 사용하여 리소스를 암호화할 수도 있습니다. 콘텐츠 암호화 및 복호화에 CMK를 사용할 수 있는 사용자를 제한하는 `kms:ViaService` 조건 키입니다. 자세한 내용은 [타사 통합을 위한 Amazon Q Developer 액세스 관리](security_iam_manage-access-with-kms-policies.md) 단원을 참조하십시오.

## GitLab 빠른 작업
<a name="gitlab-concepts-quick-actions"></a>

호출되면 빠른 작업이 GitLab 문제 및 병합 요청에서 사용자를 대신하여 작업을 수행합니다. GitLab에서 빠른 작업을 호출하는 방법을 알아보려면 [GitLab 설명서](https://docs.gitlab.com/ee/user/duo_amazon_q/index.html)를 참조하세요.

**병합 요청 생성 및 반복**
+ `/q dev` - GitLab 문제에 캡처된 상위 수준 아이디어에서 Amazon Q가 제안된 코드 구현으로 검토 준비가 완료된 병합 요청을 생성하도록 할 수 있습니다. 이렇게 하면 개념을 작업 코드로 전환하는 프로세스를 간소화할 수 있습니다. 병합 요청은 새 브랜치에 생성되고 Amazon Q는 문제 생성자를 병합 요청 검토자로 할당합니다. 병합 요청 요약도 제공됩니다. 자세한 내용은 [아이디어를 병합 요청으로 전환](https://docs.gitlab.com/ee/user/duo_amazon_q/#turn-an-idea-into-a-merge-request)을 참조하세요.

**코드 검토**
+ `/q review` - GitLab Duo with Amazon Q에서 병합 요청 검토를 시작할 수 있습니다. 새 병합 요청에 대해 자동 코드 검토가 시작됩니다. GitLab 관리자는 자동 검토를 끄도록 Amazon Q를 구성할 수도 있습니다. 자동 코드 검토는 Amazon Q가 병합 요청에 대한 코드 수정을 생성하고 제안할 때 잠재적 문제를 식별하고 수정합니다. 품질 검사, 문제 분석, 논리적 오류, 안티 패턴, 코드 중복 등을 제공합니다.

  Amazon Q는 주석과 함께 코드 분석을 제공하며 각 주석은 별도의 결과를 제공합니다. 이 빠른 작업은 모든 언어에서 사용할 수 있습니다. 새 병합 요청을 열거나 이전에 닫은 요청을 다시 열면 자동 코드 검토가 시작됩니다. 그러나 자동 코드 검토는 기존 병합 요청 내에서 이루어진 후속 커밋에 의해 트리거되지 않습니다. `/q review` 빠른 작업을 사용하여 코드 검토를 수동으로 트리거할 수 있습니다.

  GitLab 인스턴스 또는 그룹 내의 모든 새 병합 요청에서 자동으로 실행되도록 코드 검토를 구성할 수 있습니다. 자세한 내용은 [병합 요청 검토](https://docs.gitlab.com/ee/user/duo_amazon_q/#review-a-merge-request)를 참조하세요.

**웹 UI 및 IDE의 채팅 세션**
+ GitLab Duo Chat and Code Suggestions는 Amazon Q와 함께 작동하여 CI/CD 구성, 오류 설명 및 질문 해결을 지원합니다. 채팅 세션에서 슬래시 명령을 사용하여 GitLab Duo with Amazon Q 채팅 기능을 호출할 수 있습니다. 자세한 내용은 [GitLab Duo Chat에 물어보기](https://docs.gitlab.com/user/gitlab_duo_chat/examples/)를 참조하세요.