

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

# 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 documentation*」の「[Set up 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 プロファイルを作成する必要があります。プロファイルを使用すると、ID プロバイダーのユーザー全体またはサブセットのカスタマイズおよびコントロール設定を作成できます。プロファイルを作成したら、OpenID Connect (OIDC) ID プロバイダー (IdP) と IAM サービスロールを使用して、 GitLab Duoと AWS アカウント間の信頼を確立する必要があります。必要なリソースを作成し、GitLab Duo with Amazon Q をセットアップする方法については、「*GitLab documentation*」の「[Set up 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) を使用してリソースを暗号化することもできます。`kms:ViaService` 条件キーは、コンテンツの暗号化と復号化において、どのユーザーが CMK を使用できるかを制限します。詳細については、「[サードパーティー統合のための Amazon Q Developer へのアクセスを管理する](security_iam_manage-access-with-kms-policies.md)」を参照してください。

## GitLab のクイックアクション
<a name="gitlab-concepts-quick-actions"></a>

クイックアクションが呼び出されると、GitLab の問題とマージリクエストでタスクを実行します。GitLab のクイックアクションを呼び出す方法については、「[GitLab documentation](https://docs.gitlab.com/ee/user/duo_amazon_q/index.html)」を参照してください。

**マージリクエストの生成とイテレーション**
+ `/q dev` – GitLab の問題でキャプチャされた大まかなアイデアから、Amazon Q にレビュー準備完了マージリクエストを生成させることができます。これにより、概念を作業コードに変換するプロセスを合理化できます。マージリクエストは新しいブランチに作成され、Amazon Q は問題作成者をマージリクエストレビューワーとして割り当てます。また、マージリクエストの概要も表示されます。詳細については、「[Turn an idea into a merge request](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 インスタンスまたはグループ内の新しいマージリクエストごとに自動的に実行されるようにコードレビューを設定できます。詳細については、「[Review a merge request](https://docs.gitlab.com/ee/user/duo_amazon_q/#review-a-merge-request)」を参照してください。

**ウェブ UI と IDE のチャットセッション**
+ GitLab Duo チャットおよびコード提案は Amazon Q と連携して、CI/CD 構成、エラーの説明、質問への対処をサポートします。チャットセッションでスラッシュコマンドを使用して、GitLab Duo with Amazon Q チャット機能を呼び出すことができます。詳細については、「[Ask GitLab Duo Chat](https://docs.gitlab.com/user/gitlab_duo_chat/examples/)」を参照してください。