

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

# CodeBuild でソースプロバイダにアクセスする
<a name="access-tokens"></a>

GitHub または GitHub Enterprise Server の場合、ソースプロバイダへのアクセスに個人用アクセストークン、Secrets Manager シークレット、接続、または OAuth アプリを使用します。Bitbucket では、アクセストークン、アプリパスワード、Secrets Manager シークレット、接続、または OAuth アプリケーションのいずれかを使用して、ソースプロバイダにアクセスします。

**Topics**
+ [Secrets Manager シークレットにトークンを作成して保存](asm-create-secret.md)
+ [CodeBuild の GitHub および GitHub Enterprise Server アクセス](access-tokens-github-overview.md)
+ [CodeBuild での Bitbucket アクセス](access-tokens-bitbucket-overview.md)
+ [CodeBuild での GitLab アクセス](access-tokens-gitlab-overview.md)

# Secrets Manager シークレットにトークンを作成して保存
<a name="asm-create-secret"></a>

Secrets Manager を使用してアクセストークンを保存する場合は、既存のシークレット接続を使用するか、新しいシークレットを作成できます。新しいシークレットを作成するには、次の手順に従います。

------
#### [ AWS マネジメントコンソール ]

**で Secrets Manager シークレットを作成するには AWS マネジメントコンソール**

1. **[ソースプロバイダ]** には、**[Bitbucket]**、**[GitHub]**、または **[GitHub Enterprise]** を選択します。

1. **[認証情報]** で、次のいずれかを実行します。
   + **[デフォルトソース認証情報]** を選択し、アカウントのデフォルトソース認証情報を使用して、すべてのプロジェクトに適用します。

     1. ソースプロバイダに接続していない場合は、**[デフォルトソース認証情報を管理]** を選択します。

     1. **[認証情報タイプ]** では、**[CodeConnections]** 以外の認証情報タイプを選択します。

     1. **[サービス]** では、**[Secrets Manager]** を選択し、**[シークレット]** で **[新しいシークレット]** を選択します。

     1. **[シークレット名]** で、シークレットの名前を入力します。

     1. **[シークレットの説明 - オプション]** に、シークレットの説明を入力します。

     1. 選択したソースプロバイダに応じて、トークンまたはユーザー名とアプリパスワードを入力し、**[保存]** を選択します。
   + **[カスタムソース認証情報]** を選択し、カスタムソース認証情報を使用してアカウントのデフォルト設定を上書きします。

     1. **[認証情報タイプ]** では、**[CodeConnections]** 以外の認証情報タイプを選択します。

     1. **[接続]** で、**[シークレットを作成]** を選択します。

     1. **[シークレット名]** で、シークレットの名前を入力します。

     1. **[シークレットの説明 - オプション]** に、シークレットの説明を入力します。

     1. 選択したソースプロバイダに応じて、トークンまたはユーザー名とアプリパスワードを入力し、**[作成]** を選択します。

------
#### [ AWS CLI ]

**で Secrets Manager シークレットを作成するには AWS CLI**
+ ターミナル (Linux/macOS/Unix) またはコマンドプロンプト (Windows) を開きます。を使用して Secrets Manager **create-secret** コマンド AWS CLI を実行します。

  ```
  aws secretsmanager create-secret --region <aws-region> \
              --name '<secret-name>' \
              --description '<secret-description>' \
              --secret-string '{
                  "ServerType":"<server-type>",
                  "AuthType":"<auth-type>",
                  "Token":"<token>"
                  }' \
              --tags Key=codebuild:source,Value='' \
                  Key=codebuild:source:type,Value=<type> \
                  Key=codebuild:source:provider,Value=<provider>
  ```

  CodeBuild が受け入れる Secrets Manager シークレットは、CodeBuild プロジェクトと同じアカウントと AWS リージョンにあり、次の JSON 形式である必要があります。

  ```
  {
              "ServerType": ServerType,
              "AuthType: AuthType,
              "Token": string,
              "Username": string // Optional and is only used for Bitbucket app password
          }
  ```    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/codebuild/latest/userguide/asm-create-secret.html)

  さらに、CodeBuild は、シークレットに次のリソースタグを使用して、プロジェクトを作成または編集するときにシークレットを簡単に選択できるようにします。    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ja_jp/codebuild/latest/userguide/asm-create-secret.html)

------

# CodeBuild の GitHub および GitHub Enterprise Server アクセス
<a name="access-tokens-github-overview"></a>

GitHub の場合、個人用アクセストークン、OAuth アプリ、Secrets Manager シークレット、または GitHub アプリ接続を使用して、ソースプロバイダにアクセスできます。GitHub Enterprise Server の場合、個人用アクセストークン、Secrets Manager シークレット、GitHub アプリ接続を使用して、ソースプロバイダにアクセスできます。

**Topics**
+ [GitHub および GitHub Enterprise Server の GitHub アプリ接続](connections-github-app.md)
+ [GitHub および GitHub Enterprise Server アクセストークン](access-tokens-github.md)
+ [GitHub OAuth アプリ](oauth-app-github.md)

# GitHub および GitHub Enterprise Server の GitHub アプリ接続
<a name="connections-github-app"></a>

GitHub アプリを使用して CodeBuild に接続できます。GitHub アプリ接続は [AWS CodeConnections](https://docs.aws.amazon.com/dtconsole/latest/userguide/welcome-connections.html) を通じてサポートされています。

ソースプロバイダアクセスを使用すると、[CreateWebhook](https://docs.aws.amazon.com/codebuild/latest/APIReference/API_CreateWebhook.html) を使用して [GitHub ウェブフックイベント](github-webhook.md) をサブスクライブすることでビルドをトリガーしたり、CodeBuild で [チュートリアル: CodeBuild がホストする GitHub Actions ランナーを設定](action-runner.md) を使用したりできます。

**注記**  
CodeConnections は、使用できるリージョンが CodeBuild よりも限られています。CodeBuild では、クロスリージョン接続を使用できます。オプトインリージョンで作成された接続は、他のリージョンでは使用できません。詳細については、「[AWS CodeConnections エンドポイントとクォータ](https://docs.aws.amazon.com/general/latest/gr/codestar_connections.html)」を参照してください。

**Topics**
+ [ステップ 1: GitHub アプリへの接続を作成 (コンソール)](#connections-github-console)
+ [ステップ 2: 接続を使用するために CodeBuild プロジェクト IAM ロールにアクセスを許可](#connections-github-role-access)
+ [ステップ 3: 新しい接続を使用するように CodeBuild を設定](#connections-github-account-credential)
+ [GitHub アプリのトラブルシューティング](#connections-github-troubleshooting)

## ステップ 1: GitHub アプリへの接続を作成 (コンソール)
<a name="connections-github-console"></a>

以下のステップを使用して、CodeBuild コンソールで GitHub 内のプロジェクト用に接続を追加します。

**GitHub への接続を作成するには**
+ 「*デベロッパーツールユーザーガイド*」にある「[Create a connection to GitHub](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-create-github.html)」の手順に従ってください。

**注記**  
アカウントで既存の接続を作成または使用する代わりに、別の AWS アカウントから共有された接続を使用できます。詳細については、[AWS 「アカウントとの接続の共有](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-share.html)」を参照してください。

## ステップ 2: 接続を使用するために CodeBuild プロジェクト IAM ロールにアクセスを許可
<a name="connections-github-role-access"></a>

CodeBuild プロジェクト IAM ロールに、接続によって提供された GitHub トークンを使用するためのアクセスを許可できます。

**CodeBuild プロジェクトの IAM ロールにアクセスを許可するには**

1. CodeBuild プロジェクトの [CodeBuild が他の AWS サービスとやり取りすることを許可する](setting-up-service-role.md) の手順に従って、CodeBuild プロジェクトの IAM ロールを作成します。

1. 手順に従って、次の IAM ポリシーを CodeBuild プロジェクトロールに追加して、接続へのアクセスを許可します。

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "codeconnections:GetConnectionToken",
                   "codeconnections:GetConnection"
               ],
               "Resource": [
                   "arn:aws:iam::*:role/Service*"
               ]
           }
       ]
   }
   ```

------

## ステップ 3: 新しい接続を使用するように CodeBuild を設定
<a name="connections-github-account-credential"></a>

接続をアカウントレベルの認証情報として設定し、プロジェクトで使用できます。

------
#### [ AWS マネジメントコンソール ]

**でアカウントレベルの認証情報として接続を設定するには AWS マネジメントコンソール**

1. [**ソースプロバイダー**] で [**GitHub**] を選択します。

1. **[認証情報]** で、次のいずれかを実行します。
   + **[デフォルトソース認証情報]** を選択し、アカウントのデフォルトソース認証情報を使用して、すべてのプロジェクトに適用します。

     1. GitHub に接続していない場合は、**[デフォルトソース認証情報を管理]** を選択します。

     1. **[認証情報タイプ]** では、**[GitHub アプリ]** を選択します。

     1. **[接続]** で、既存の接続を使用するか、新規の接続を作成することを選択します。
   + **[カスタムソース認証情報]** を選択し、カスタムソース認証情報を使用してアカウントのデフォルト設定を上書きします。

     1. **[認証情報タイプ]** では、**[GitHub アプリ]** を選択します。

     1. **[接続]** で、既存の接続を使用するか、新規の接続を作成することを選択します。

------
#### [ AWS CLI ]

**でアカウントレベルの認証情報として接続を設定するには AWS CLI**
+ ターミナル (Linux/macOS/Unix) またはコマンドプロンプト (Windows) を開きます。 AWS CLI を使用して **import-source-credentials** コマンドを実行し、`--token`接続に `--auth-type`、`--server-type`、 を指定します。

  以下のコマンドを使用します。

  ```
  aws codebuild import-source-credentials --auth-type CODECONNECTIONS --server-type GITHUB --token <connection-arn>
  ```

------

CodeBuild プロジェクトに複数のトークンを設定することもできます。詳細については、「[複数のトークンをソースレベルの認証情報として設定](multiple-access-tokens.md#asm-source-credential)」を参照してください。

## GitHub アプリに関する問題のトラブルシューティング
<a name="connections-github-troubleshooting"></a>

以下の情報は、GitHub アプリの一般的な問題のトラブルシューティングに役立ちます。

**Topics**
+ [AWS Connector for GitHub アプリを望ましくないリージョンにインストールする](#connections-github-troubleshooting.undesired-region)
+ [GitHub アプリ接続にリポジトリへのアクセス権限がありません。](#connections-github-troubleshooting.repo-access)
+ [AWS サービスの IAM ロールに必要な IAM アクセス許可がありません。](#connections-github-troubleshooting.iam-permissions)

### AWS Connector for GitHub アプリを望ましくないリージョンにインストールする
<a name="connections-github-troubleshooting.undesired-region"></a>

**問題:** GitHub Marketplace から AWS Connector for GitHub をインストールしましたが、接続が望ましくないリージョンで作成されました。GitHub ウェブサイトでアプリを再設定しようとしても、アプリが既に GitHub アカウントにインストールされているため、動作しません。

**考えられる原因:** アプリは GitHub アカウントに既にインストールされているため、アプリのアクセス許可のみを再設定できます。

**推奨される解決策:** インストール ID を使用して目的のリージョンに新しい接続を作成できます。

1. [https://console.aws.amazon.com/codesuite/settings/connections](https://console.aws.amazon.com/codesuite/settings/connections) で CodeConnections コンソールを開き、 AWS コンソールナビゲーションバーのリージョンセレクターを使用して目的のリージョンに移動します。

1. 「*デベロッパーツールユーザーガイド*」にある「[Create a connection to GitHub](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-create-github.html)」の手順に従ってください。
**注記**  
 AWS Connector for GitHub アプリはインストール済みであるため、新しいアプリをインストールする代わりに選択できます。

### GitHub アプリ接続にリポジトリへのアクセス権限がありません。
<a name="connections-github-troubleshooting.repo-access"></a>

**問題:** CodeBuild や CodePipeline などの接続を使用する AWS サービスは、リポジトリにアクセスできないか、リポジトリが存在しないことを報告します。考えられるエラーメッセージには、次のようなものがあります。
+ `Authentication required for primary source.`
+ `Unable to create webhook at this time. Please try again later.`
+ `Failed to create webhook. GitHub API limit reached. Please try again later.`

***考えられる原因:** GitHub アプリを使用していて、ウェブフックのアクセス許可スコープを付与していない可能性があります。*  
**推奨される解決策:** 必要なアクセス許可スコープを付与するには、「[Navigating to the GitHub App you want to review or modify](https://docs.github.com/en/apps/using-github-apps/reviewing-and-modifying-installed-github-apps#navigating-to-the-github-app-you-want-to-review-or-modify)」の指示に従って、インストールされたアプリを設定します。アクセス許可セクションには、アプリにウェブフックアクセス許可がないことが表示され、新しくリクエストされたアクセス許可を確認するオプションがあります。新しいアクセス許可を確認して承諾します。詳細については、「[Approving updated permissions for a GitHub App](https://docs.github.com/en/apps/using-github-apps/approving-updated-permissions-for-a-github-app)」を参照してください。

***考えられる原因:** 接続は想定どおりに機能していましたが、突然リポジトリにアクセスできなくなりました。*  
**考えられる解決策:** まず、「[authorizations](https://docs.github.com/en/apps/using-github-apps/reviewing-and-revoking-authorization-of-github-apps)」と「[installations](https://docs.github.com/en/apps/using-github-apps/reviewing-and-modifying-installed-github-apps)」を確認してから、GitHub アプリが承認されてインストールされていることを確認します。GitHub アプリのインストールが一時停止されている場合は、一時停止を解除する必要があります。GitHub アプリが [UAT (ユーザーアクセストークン)](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/authenticating-with-a-github-app-on-behalf-of-a-user) 接続に対して承認されていない場合、または [IAT (インストールアクセストークン)](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/authenticating-as-a-github-app-installation) 接続に対してインストールされていない場合、既存の接続は使用できなくなるため、新しい接続を作成する必要があります。GitHub アプリを再インストールしても、古いインストールに関連付けられた以前の接続は復元されないことに注意してください。  
**考えられる解決策:** 接続が UAT 接続の場合は、複数の CodeBuild ビルドの同時実行で使用されているなど、接続が同時に使用されていないことを確認してください。これは、有効期限が切れるトークンが接続によって更新された場合、GitHub が以前に発行された UAT を直ちに無効にするためです。CodeBuild の複数の同時ビルドに UAT 接続を使用する必要がある場合は、複数の接続を作成し、各接続を個別に使用できます。  
**考えられる解決策:** UAT 接続が過去 6 か月間使用されていない場合、接続は GitHub によって無効になります。これを修正するには、新しい接続を作成します。

***考えられる原因:** アプリをインストールせずに UAT 接続を使用していた可能性があります。*  
**推奨される解決策:** UAT 接続を作成する際に、接続を GitHub アプリのインストールに関連付ける必要はありませんが、リポジトリにアクセスできるようにするためにはインストールが必要です。手順に従って[インストールを確認](https://docs.github.com/en/apps/using-github-apps/reviewing-and-modifying-installed-github-apps)し、GitHub アプリがインストールされていることを確認します。インストールされていない場合は、[GitHub アプリのページ](https://github.com/marketplace/aws-connector-for-github)に移動してアプリをインストールします。UAT のアクセスの詳細については、「[About user access tokens](https://docs.github.com/en/apps/creating-github-apps/authenticating-with-a-github-app/generating-a-user-access-token-for-a-github-app#about-user-access-tokens)」を参照してください。

### AWS サービスの IAM ロールに必要な IAM アクセス許可がありません。
<a name="connections-github-troubleshooting.iam-permissions"></a>

**問題:** 次のいずれかのエラーメッセージが表示されます。
+ `Access denied to connection <connection-arn>`
+ `Failed to get access token from <connection-arn>`

**推奨される解決策:** 通常、CodePipeline や CodeBuild などの AWS サービスとの接続を使用します。 AWS サービスに IAM ロールを付与すると、 AWS サービスはロールのアクセス許可を使用してユーザーに代わって動作できます。IAM ロールに必要なアクセス許可が付与されていることを確認してください。必要な IAM アクセス許可の詳細については、「 *デベロッパーツールコンソールユーザーガイド*」の[「Connection and Identity and Access Management for Notifications and CodeConnections を使用するためのアクセス権を CodeBuild プロジェクト IAM ロールに付与](#connections-github-role-access)する」を参照してください。 [AWS CodeStar CodeConnections](https://docs.aws.amazon.com/dtconsole/latest/userguide/security-iam.html) 

# GitHub および GitHub Enterprise Server アクセストークン
<a name="access-tokens-github"></a>

## アクセストークンの前提条件
<a name="access-tokens-github-prereqs"></a>

開始する前に、GitHub アクセストークンへの適切なアクセス許可スコープを追加する必要があります。

GitHub では、個人用アクセストークンに次のスコープが必要です。
+ **repo**: プライベートリポジトリのフルコントロールを許可します。
+ **repo:status**: パブリックおよびプライベートリポジトリのコミットステータスへの読み取り/書き込みアクセスを許可します。
+ **admin:repo\$1hook**: リポジトリフックのフルコントロールを許可します。このスコープは、トークンに `repo` スコープがある場合は必要ありません。
+ **admin:org\$1hook**: 組織フックの完全な制御を付与します。このスコープは、組織のウェブフック機能を使用している場合にのみ必要です。

詳細については、GitHub ウェブサイトの [Understanding Scopes for OAuth Apps](https://developer.github.com/apps/building-oauth-apps/understanding-scopes-for-oauth-apps/) を参照してください。

きめ細かい個人用アクセストークンを使用している場合、ユースケースによっては、個人用アクセストークンに次のアクセス許可が必要になる場合があります。
+ **Contents: Read-only**: プライベートリポジトリへのアクセスを付与します。このアクセス許可は、プライベートリポジトリをソースとして使用している場合に必要です。
+ **Commit statuses: Read and write**: コミットステータスを作成するアクセス許可を付与します。このアクセス許可は、プロジェクトにウェブフックが設定されている場合、または [ビルドのステータスを報告] 機能が有効になっている場合に必要です。
+ **Webhooks: Read and write**: ウェブフックを管理するアクセス許可を付与します。このアクセス許可は、プロジェクトにウェブフックが設定されている場合に必要です。
+ **Pull requests: Read-only**: プルリクエストにアクセスするアクセス許可を付与します。このアクセス許可は、ウェブフックにプルリクエストイベントに対する `FILE_PATH` フィルタがある場合に必要です。
+ **Administration: Read and write**: このアクセス許可は、CodeBuild でセルフホスト型の GitHub Actions ランナー機能を使用している場合に必要です。詳細については、「[Create a registration token for a repository](https://docs.github.com/en/rest/actions/self-hosted-runners?apiVersion=2022-11-28#create-a-registration-token-for-a-repository)」と「[チュートリアル: CodeBuild がホストする GitHub Actions ランナーを設定](action-runner.md)」を参照してください。

**注記**  
組織リポジトリにアクセスする場合は、アクセストークンのリソース所有者として組織を指定する必要があります。

詳細については、GitHub ウェブサイトの「[Permissions required for fine-grained personal access tokens](https://docs.github.com/en/rest/authentication/permissions-required-for-fine-grained-personal-access-tokens?apiVersion=2022-11-28)」を参照してください。

## GitHub をアクセストークンで接続する（コンソール）
<a name="access-tokens-github-console"></a>

コンソールを使用し、アクセストークンを使用してプロジェクトを GitHub に接続するには、プロジェクトを作成するときに以下の操作を実行します。詳細については、[ビルドプロジェクトの作成 (コンソール)](create-project.md#create-project-console) を参照してください。

1. [**ソースプロバイダー**] で [**GitHub**] を選択します。

1. **[認証情報]** で、次のいずれかを実行します。
   + アカウント認証情報の使用を選択し、アカウントのデフォルトソース認証情報をすべてのプロジェクトに適用します。

     1. GitHub に接続していない場合は、**[Manage account credential]** を選択します。

     1. **[認証情報タイプ]** では、**[個人用アクセストークン]** を選択します。
   + **[Service]** でアカウントレベルの認証情報を使用することを選択した場合は、トークンの保存に使用するサービスを選択し、以下を実行します。

     1. **[Secrets Manager]** を使用する場合は、既存のシークレット接続を使用するか、新しいシークレットを作成して **[Save]** を選択できます。新しいシークレットの作成方法の詳細については、「[Secrets Manager シークレットにトークンを作成して保存](asm-create-secret.md)」を参照してください。

     1. **[CodeBuild]** を使用する場合は、GitHub の個人用アクセストークンを入力し、**[Save]** を選択します。
   + カスタムソース認証情報を使用してアカウントの認証情報設定を上書きする場合のみ、**[Use override credentials for this project only]** を選択します。

     1. 入力された認証情報リストから、**[Personal access token]** の下にあるオプションのいずれかを選択します。

     1. 説明で**新しい個人用アクセストークン接続の作成**を選択することで、新しい個人用アクセストークンを作成することもできます。

## GitHub をアクセストークンで接続する（CLI）
<a name="access-tokens-github-cli"></a>

アクセストークンを使用してプロジェクトを GitHub AWS CLI に接続するには、次の手順に従います。 AWS CLI で を使用する方法については AWS CodeBuild、「」を参照してください[コマンドラインリファレンス](cmd-ref.md)。

1. **import-source-credentials** コマンドを実行します。

   ```
   aws codebuild import-source-credentials --generate-cli-skeleton
   ```

   JSON 形式のデータが出力に表示されます。 AWS CLI がインストールされているローカルコンピュータまたはインスタンスの場所にある ファイル ( など`import-source-credentials.json`) にデータをコピーします。コピーされたデータを次のように変更して、結果を保存します。

   ```
   {
       "serverType": "server-type",
       "authType": "auth-type",
       "shouldOverwrite": "should-overwrite",
       "token": "token",
       "username": "username"
       }
   ```

   以下に置き換えます。
   + *server-type*: 必須値。この認証情報に使用されるソースプロバイダー。有効な値は GITHUB、BITBUCKET、GITHUB\$1ENTERPRISE、GITLAB、GITLAB\$1SELF\$1MANAGED です。
   + *auth-type*: 必須値。リポジトリへの接続に使用される認証のタイプ。有効な値は、OAUTH、BASIC\$1AUTH、PERSONAL\$1ACCESS\$1TOKEN、CODECONNECTIONS、SECRETS\$1MANAGER です。GitHub では、PERSONAL\$1ACCESS\$1TOKEN のみが許可されます。BASIC\$1AUTH は、Bitbucket アプリパスワードでのみ許可されます。
   + *should-overwrite*: オプションの値。リポジトリソースの認証情報が上書きされないようにするには、`false` に設定します。リポジトリソースの認証情報を上書きするには、`true` に設定します。デフォルト値は `true` です。
   + *token*: 必須値。GitHub または GitHub Enterprise Server の場合、これは個人用アクセストークンです。Bitbucket の場合、これは個人用アクセストークンまたはアプリパスワードです。認証タイプが CODECONNECTIONS の場合、これは接続 ARN です。認証タイプが SECRETS\$1MANAGER の場合、これはシークレット ARN です。
   + *username*: オプションの値。このパラメーターは、GitHub および GitHub エンタープライズサーバーソースプロバイダーでは無視されます。

1. アカウントをアクセストークンに接続するには、ステップ 1 で保存した `import-source-credentials.json` ファイルが含まれるディレクトリに切り替え、もう一度 **import-source-credentials** コマンドを実行します。

   ```
   aws codebuild import-source-credentials --cli-input-json file://import-source-credentials.json
   ```

   JSON 形式のデータが、Amazon リソースネーム (ARN) を持つ出力に表示されます。

   ```
   {
       "arn": "arn:aws:codebuild:region:account-id:token/server-type"
       }
   ```
**注記**  
同じサーバータイプと認証タイプを持つ **import-source-credentials** コマンドを 2 回目に実行した場合、保存されたアクセストークンが更新されます。

   アカウントがアクセストークンに接続されたら、CodeBuild を使用して `create-project` プロジェクトを作成できます。詳細については、「[ビルドプロジェクトの作成 (AWS CLI)](create-project.md#create-project-cli)」を参照してください。

1. 接続されたアクセストークンを表示するには、**list-source-credentials** コマンドを実行します。

   ```
   aws codebuild list-source-credentials
   ```

   JSON 形式 `sourceCredentialsInfos` オブジェクトが出力に表示されます。

   ```
   {
           "sourceCredentialsInfos": [
               {
                   "authType": "auth-type",
                   "serverType": "server-type", 
                   "arn": "arn"
               }
           ]
       }
   ```

   `sourceCredentialsObject` には、接続されたソース認証情報のリストが含まれています。
   + `authType` は、認証情報により使用される認証のタイプです。これは、`OAUTH`、`BASIC_AUTH`、`PERSONAL_ACCESS_TOKEN`、`CODECONNECTIONS`、または `SECRETS_MANAGER` です。
   + `serverType` は、ソースプロバイダーのタイプです。これは、`GITHUB`、`GITHUB_ENTERPRISE`、`BITBUCKET`、`GITLAB`、または `GITLAB_SELF_MANAGED` です。
   + `arn` は、トークンの ARN です。

1. ソースプロバイダーから切断してそのアクセストークンを削除するには、その ARN を使用して **delete-source-credentials** コマンドを実行します。

   ```
   aws codebuild delete-source-credentials --arn arn-of-your-credentials
   ```

   削除された認証情報の ARN とともに JSON 形式のデータが返されます。

   ```
   {
       "arn": "arn:aws:codebuild:region:account-id:token/server-type"
       }
   ```

# GitHub OAuth アプリ
<a name="oauth-app-github"></a>

## OAuth を使用して GitHub に接続 (コンソール)
<a name="oauth-app-github-console"></a>

コンソールを使用して、OAuth アプリでプロジェクトを GitHub に接続するには、プロジェクトを作成するときに以下の操作を実行します。詳細については、「[ビルドプロジェクトの作成 (コンソール)](create-project.md#create-project-console)」を参照してください。

1. [**ソースプロバイダー**] で [**GitHub**] を選択します。

1. **[認証情報]** で、次のいずれかを実行します。
   + アカウント認証情報の使用を選択し、アカウントのデフォルトソース認証情報をすべてのプロジェクトに適用します。

     1. GitHub に接続していない場合は、**[Manage account credential]** を選択します。

     1. **[Credential type]** では、**[OAuth]** を選択します。
   + **[Service]** でアカウントレベルの認証情報を使用することを選択した場合は、トークンの保存に使用するサービスを選択し、以下を実行します。

     1. **[Secrets Manager]** を使用する場合は、既存のシークレット接続を使用するか、新しいシークレットを作成して **[Save]** を選択できます。新しいシークレットの作成方法の詳細については、「[Secrets Manager シークレットにトークンを作成して保存](asm-create-secret.md)」を参照してください。

     1. **CodeBuild** を使用する場合は、**[Save]** を選択します。
   + カスタムソース認証情報を使用してアカウントの認証情報設定を上書きする場合のみ、**[Use override credentials for this project only]** を選択します。

     1. 入力された認証情報リストから、**[OAuth app]** の下にあるオプションのいずれかを選択します。

     1. 説明で**新しい Oauth アプリトークン接続の作成**を選択することで、新しい OAuth アプリトークンを作成することもできます。

承認された OAuth アプリを確認するには、GitHub の「[Applications](https://github.com/settings/applications)」に移動し、[aws-codesuite](https://github.com/aws-codesuite) が所有する `AWS CodeBuild (region)` という名前のアプリケーションがリストされていることを確認します。

# CodeBuild での Bitbucket アクセス
<a name="access-tokens-bitbucket-overview"></a>

Bitbucket では、アクセストークン、アプリパスワード、OAuth アプリ、または Bitbucket 接続のいずれかを使用して、ソースプロバイダにアクセスします。

**Topics**
+ [Bitbucket アプリ接続](connections-bitbucket-app.md)
+ [Bitbucket アプリのパスワードまたはアクセストークン](access-tokens-bitbucket.md)
+ [Bitbucket OAuth アプリ](oauth-app-bitbucket.md)

# Bitbucket アプリ接続
<a name="connections-bitbucket-app"></a>

Bitbucket を使用して CodeBuild に接続できます。Bitbucket アプリ接続は [AWS CodeConnections](https://docs.aws.amazon.com/dtconsole/latest/userguide/welcome-connections.html) を通じてサポートされています。

**注記**  
CodeConnections は、使用できるリージョンが CodeBuild よりも限られています。CodeBuild では、クロスリージョン接続を使用できます。オプトインリージョンで作成された接続は、他のリージョンでは使用できません。詳細については、「[AWS CodeConnections エンドポイントとクォータ](https://docs.aws.amazon.com/general/latest/gr/codestar_connections.html)」を参照してください。

**Topics**
+ [ステップ 1: Bitbucket への接続を作成 (コンソール)](#connections-bitbucket-console)
+ [ステップ 2: 接続を使用するために CodeBuild プロジェクト IAM ロールにアクセスを許可](#connections-bitbucket-role-access)
+ [ステップ 3: 新しい接続を使用するように CodeBuild を設定](#connections-bitbucket-account-credential)

## ステップ 1: Bitbucket への接続を作成 (コンソール)
<a name="connections-bitbucket-console"></a>

以下のステップを使用して、CodeBuild コンソールで Bitbucket 内のプロジェクト用に接続を追加します。

**Bitbucket への接続を作成するには**
+ 「*デベロッパーツールユーザーガイド*」にある「[Create a connection to Bitbucket](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-create-bitbucket.html)」の手順に従ってください。

**注記**  
アカウントで既存の接続を作成または使用する代わりに、別の AWS アカウントから共有された接続を使用できます。詳細については、[AWS 「アカウントとの接続の共有](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-share.html)」を参照してください。

## ステップ 2: 接続を使用するために CodeBuild プロジェクト IAM ロールにアクセスを許可
<a name="connections-bitbucket-role-access"></a>

CodeBuild プロジェクト IAM ロールに、接続によって提供された Bitbucket トークンを使用するためのアクセス許可を付与できます。

**CodeBuild プロジェクトの IAM ロールにアクセスを付与するには**

1. CodeBuild プロジェクトの [CodeBuild が他の AWS サービスとやり取りすることを許可する](setting-up-service-role.md) の手順に従って、CodeBuild プロジェクトの IAM ロールを作成します。

1. 手順に従って、次の IAM ポリシーを CodeBuild プロジェクトロールに追加して、接続へのアクセスを許可します。

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

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Action": [
                   "codeconnections:GetConnectionToken",
                   "codeconnections:GetConnection"
               ],
               "Resource": [
                   "arn:aws:iam::*:role/Service*"
               ]
           }
       ]
   }
   ```

------

## ステップ 3: 新しい接続を使用するように CodeBuild を設定
<a name="connections-bitbucket-account-credential"></a>

接続をアカウントレベルの認証情報として設定し、プロジェクトで使用できます。

------
#### [ AWS マネジメントコンソール ]

**でアカウントレベルの認証情報として接続を設定するには AWS マネジメントコンソール**

1. [**ソースプロバイダー**] で、[**Bitbucket**] を選択します。

1. **[認証情報]** で、次のいずれかを実行します。
   + **[デフォルトソース認証情報]** を選択し、アカウントのデフォルトソース認証情報を使用して、すべてのプロジェクトに適用します。

     1. Bitbucket に接続していない場合は、**[デフォルトソース認証情報を管理]** を選択します。

     1. **[認証情報タイプ]** では、**[CodeConnections]** を選択します。

     1. **[接続]** で、既存の接続を使用するか、新規の接続を作成するかを選択します。
   + **[カスタムソース認証情報]** を選択し、カスタムソース認証情報を使用してアカウントのデフォルト設定を上書きします。

     1. **[認証情報タイプ]** では、**[CodeConnections]** を選択します。

     1. **[接続]** で、既存の接続を使用するか、新規の接続を作成するかを選択します。

------
#### [ AWS CLI ]

**でアカウントレベルの認証情報として接続を設定するには AWS CLI**
+ ターミナル (Linux/macOS/Unix) またはコマンドプロンプト (Windows) を開きます。 AWS CLI を使用して **import-source-credentials** コマンドを実行し、`--token`接続に `--auth-type`、`--server-type`、 を指定します。

  以下のコマンドを使用します。

  ```
  aws codebuild import-source-credentials --auth-type CODECONNECTIONS --server-type BITBUCKET --token <connection-arn>
  ```

------

CodeBuild プロジェクトで複数のトークンを設定する方法の詳細については、「[複数のトークンをソースレベルの認証情報として設定](multiple-access-tokens.md#asm-source-credential)」を参照してください。

# Bitbucket アプリのパスワードまたはアクセストークン
<a name="access-tokens-bitbucket"></a>

## 前提条件
<a name="access-tokens-bitbucket-prerequisites"></a>

開始する前に、Bitbucket アプリのパスワードまたはアクセストークンへの適切なアクセス許可スコープを追加する必要があります。

Bitbucket では、アプリパスワードまたはアクセストークンに次のスコープが必要です。
+ **repository:read**: 承認側ユーザーがアクセスできるすべてのリポジトリへの読み取りアクセスを許可します。
+ **pullrequest:read**: プルリクエストの読み取りアクセスを許可します。プロジェクトに Bitbucket ウェブフックがある場合、アプリパスワードまたはアクセストークンにこのスコープが必要です。
+ **webhook**: Webhook へのアクセスを許可します。プロジェクトにウェブフックペレーションがある場合、アプリパスワードまたはアクセストークンにこのスコープが必要です。
+ **account**: ユーザーのアカウント情報への読み取りアクセスを許可します。

詳細については、Bitbucket ウェブサイトの「[Scopes for Bitbucket Cloud REST API](https://developer.atlassian.com/cloud/bitbucket/bitbucket-cloud-rest-api-scopes/)」と「[OAuth on Bitbucket Cloud](https://confluence.atlassian.com/bitbucket/oauth-on-bitbucket-cloud-238027431.html)」を参照してください。

## アプリケーションパスワードで Bitbucket へ接続する（コンソール）
<a name="access-tokens-bitbucket-password-console"></a>

コンソールを使用し、アクセストークンを使用してプロジェクトを Bitbucket に接続するには、プロジェクトを作成するときに以下の操作を実行します。詳細については、[ビルドプロジェクトの作成 (コンソール)](create-project.md#create-project-console) を参照してください。

1. [**ソースプロバイダー**] で、[**Bitbucket**] を選択します。

1. **[認証情報]** で、次のいずれかを実行します。
   + アカウント認証情報の使用を選択し、アカウントのデフォルトソース認証情報をすべてのプロジェクトに適用します。

     1. Bitbucket に接続していない場合は、**[Manage account credential]** を選択します。

     1. **[認証情報タイプ]** では、**[アプリパスワード]** を選択します。
   + **[Service]** でアカウントレベルの認証情報を使用することを選択した場合は、トークンの保存に使用するサービスを選択し、以下を実行します。

     1. **[Secrets Manager]** を使用する場合は、既存のシークレット接続を使用するか、新しいシークレットを作成して **[Save]** を選択できます。新しいシークレットの作成方法の詳細については、「[Secrets Manager シークレットにトークンを作成して保存](asm-create-secret.md)」を参照してください。

     1. **[CodeBuild]** を使用する場合は、Bitbucket ユーザー名と Bitbucket アプリパスワードを入力し、**[Save]** を選択します。
   + カスタムソース認証情報を使用してアカウントの認証情報設定を上書きする場合のみ、**[Use override credentials for this project only]** を選択します。

     1. 入力された認証情報リストから、**[App password]** の下にあるオプションのいずれかを選択します。

     1. 説明で**新しいアプリパスワード接続の作成**を選択することで、新しいアプリパスワードトークンを作成することもできます。

## アクセストークンを使用して Bitbucket に接続 (コンソール)
<a name="access-tokens-bitbucket-console"></a>

コンソールを使用して、アクセストークンでプロジェクトを Bitbucket に接続するには、プロジェクトを作成するときに以下の操作を実行します。詳細については、「[ビルドプロジェクトの作成 (コンソール)](create-project.md#create-project-console)」を参照してください。

1. [**ソースプロバイダー**] で、[**Bitbucket**] を選択します。

1. **[認証情報]** で、次のいずれかを実行します。
   + アカウント認証情報の使用を選択し、アカウントのデフォルトソース認証情報をすべてのプロジェクトに適用します。

     1. Bitbucket に接続していない場合は、**[Manage account credential]** を選択します。

     1. **[認証情報タイプ]** では、**[個人用アクセストークン]** を選択します。
   + **[Service]** でアカウントレベルの認証情報を使用することを選択した場合は、トークンの保存に使用するサービスを選択し、以下を実行します。

     1. **[Secrets Manager]** を使用する場合は、既存のシークレット接続を使用するか、新しいシークレットを作成して **[Save]** を選択できます。新しいシークレットの作成方法の詳細については、「[Secrets Manager シークレットにトークンを作成して保存](asm-create-secret.md)」を参照してください。

     1. **[CodeBuild]** を使用する場合は、Bitbucket の個人用アクセストークンを入力し、**[Save]** を選択します。
   + カスタムソース認証情報を使用してアカウントの認証情報設定を上書きする場合のみ、**[Use override credentials for this project only]** を選択します。

     1. 入力された認証情報リストから、**[Personal access token]** の下にあるオプションのいずれかを選択します。

     1. 説明で**新しい個人用アクセストークン接続の作成**を選択することで、新しい個人用アクセストークンを作成することもできます。

## アプリパスワードまたはアクセストークンを使用して Bitbucket に接続 (CLI)
<a name="access-tokens-bitbucket-cli"></a>

を使用して、アプリケーションパスワードまたはアクセストークンを使用してプロジェクトを Bitbucket AWS CLI に接続するには、次の手順に従います。 AWS CLI で を使用する方法については AWS CodeBuild、「」を参照してください[コマンドラインリファレンス](cmd-ref.md)。

1. **import-source-credentials** コマンドを実行します。

   ```
   aws codebuild import-source-credentials --generate-cli-skeleton
   ```

   JSON 形式のデータが出力に表示されます。 AWS CLI がインストールされているローカルコンピュータまたはインスタンスの場所にある ファイル ( など`import-source-credentials.json`) にデータをコピーします。コピーされたデータを次のように変更して、結果を保存します。

   ```
   {
       "serverType": "BITBUCKET",
       "authType": "auth-type",
       "shouldOverwrite": "should-overwrite",
       "token": "token",
       "username": "username"
       }
   ```

   以下に置き換えます。
   + *server-type*: 必須値。この認証情報に使用されるソースプロバイダー。有効な値は GITHUB、BITBUCKET、GITHUB\$1ENTERPRISE、GITLAB、GITLAB\$1SELF\$1MANAGED です。
   + *auth-type*: 必須値。リポジトリへの接続に使用される認証のタイプ。有効な値は、OAUTH、BASIC\$1AUTH、PERSONAL\$1ACCESS\$1TOKEN、CODECONNECTIONS、SECRETS\$1MANAGER です。GitHub では、PERSONAL\$1ACCESS\$1TOKEN のみが許可されます。BASIC\$1AUTH は、Bitbucket アプリパスワードでのみ許可されます。
   + *should-overwrite*: オプションの値。リポジトリソースの認証情報が上書きされないようにするには、`false` に設定します。リポジトリソースの認証情報を上書きするには、`true` に設定します。デフォルト値は `true` です。
   + *token*: 必須値。GitHub または GitHub Enterprise Server の場合、これは個人用アクセストークンです。Bitbucket の場合、これは個人用アクセストークンまたはアプリパスワードです。認証タイプが CODECONNECTIONS の場合、これは接続 ARN です。認証タイプが SECRETS\$1MANAGER の場合、これはシークレット ARN です。
   + *username*: オプションの値。このパラメーターは、GitHub および GitHub エンタープライズサーバーソースプロバイダーでは無視されます。

1. アプリパスワードまたはアクセストークンを使用してアカウントに接続するには、ステップ 1 で保存した `import-source-credentials.json` ファイルが含まれるディレクトリに切り替え、もう一度 **import-source-credentials** コマンドを実行します。

   ```
   aws codebuild import-source-credentials --cli-input-json file://import-source-credentials.json
   ```

   JSON 形式のデータが、Amazon リソースネーム (ARN) を持つ出力に表示されます。

   ```
   {
       "arn": "arn:aws:codebuild:region:account-id:token/server-type"
       }
   ```
**注記**  
同じサーバータイプと認証タイプを持つ **import-source-credentials** コマンドを 2 回目に実行した場合、保存されたアクセストークンが更新されます。

   アカウントがアプリパスワードに接続されたら、CodeBuild を使用して `create-project` プロジェクトを作成できます。詳細については、「[ビルドプロジェクトの作成 (AWS CLI)](create-project.md#create-project-cli)」を参照してください。

1. 接続されたアプリパスワードまたはアクセストークンを表示するには、**list-source-credentials** コマンドを実行します。

   ```
   aws codebuild list-source-credentials
   ```

   JSON 形式 `sourceCredentialsInfos` オブジェクトが出力に表示されます。

   ```
   {
           "sourceCredentialsInfos": [
               {
                   "authType": "auth-type",
                   "serverType": "BITBUCKET", 
                   "arn": "arn"
               }
           ]
       }
   ```

   `sourceCredentialsObject` には、接続されたソース認証情報のリストが含まれています。
   + `authType` は、認証情報により使用される認証のタイプです。これは、`OAUTH`、`BASIC_AUTH`、`PERSONAL_ACCESS_TOKEN`、`CODECONNECTIONS`、または `SECRETS_MANAGER` です。
   + `serverType` は、ソースプロバイダーのタイプです。これは、`GITHUB`、`GITHUB_ENTERPRISE`、`BITBUCKET`、`GITLAB`、または `GITLAB_SELF_MANAGED` です。
   + `arn` は、トークンの ARN です。

1. ソースプロバイダから切断して、そのアプリパスワードまたはアクセストークンを削除するには、その ARN を使用して **delete-source-credentials** コマンドを実行します。

   ```
   aws codebuild delete-source-credentials --arn arn-of-your-credentials
   ```

   削除された認証情報の ARN とともに JSON 形式のデータが返されます。

   ```
   {
       "arn": "arn:aws:codebuild:region:account-id:token/server-type"
       }
   ```

# Bitbucket OAuth アプリ
<a name="oauth-app-bitbucket"></a>

## OAuth を使用して Bitbucket に接続 (コンソール)
<a name="oauth-app-bitbucket-console"></a>

コンソールを使用して、OAuth アプリでプロジェクトを Bitbucket に接続するには、プロジェクトを作成するときに以下の操作を実行します。詳細については、「[ビルドプロジェクトの作成 (コンソール)](create-project.md#create-project-console)」を参照してください。

1. [**ソースプロバイダー**] で、[**Bitbucket**] を選択します。

1. **[認証情報]** で、次のいずれかを実行します。
   + アカウント認証情報の使用を選択し、アカウントのデフォルトソース認証情報をすべてのプロジェクトに適用します。

     1. Bitbucket に接続していない場合は、**[Manage account credential]** を選択します。

     1. **[Credential type]** では、**[OAuth]** を選択します。
   + **[Service]** でアカウントレベルの認証情報を使用することを選択した場合は、トークンの保存に使用するサービスを選択し、以下を実行します。

     1. **[Secrets Manager]** を使用する場合は、既存のシークレット接続を使用するか、新しいシークレットを作成して **[Save]** を選択できます。新しいシークレットの作成方法の詳細については、「[Secrets Manager シークレットにトークンを作成して保存](asm-create-secret.md)」を参照してください。

     1. **CodeBuild** を使用する場合は、**[Save]** を選択します。
   + カスタムソース認証情報を使用してアカウントの認証情報設定を上書きする場合のみ、**[Use override credentials for this project only]** を選択します。

     1. 入力された認証情報リストから、**[OAuth app]** の下にあるオプションのいずれかを選択します。

     1. 説明で**新しい Oauth アプリトークン接続の作成**を選択することで、新しい OAuth アプリトークンを作成することもできます。

承認された OAuth アプリを確認するには、Bitbucket の「[Application authorizations](https://bitbucket.org/account/settings/app-authorizations/)」に移動し、`AWS CodeBuild (region)` という名前のアプリケーションがリストされていることを確認します。

# CodeBuild での GitLab アクセス
<a name="access-tokens-gitlab-overview"></a>

GitLab では、GitLab 接続を使用してソースプロバイダにアクセスします。

**Topics**
+ [CodeBuild を GitLab に接続](#connections-gitlab)

## CodeBuild を GitLab に接続
<a name="connections-gitlab"></a>

接続を使用すると、 を使用してサードパーティープロバイダーを AWS リソースに関連付ける設定を承認および確立できます AWS CodeConnections。サードパーティのリポジトリをビルドプロジェクトのソースとして関連付けるには、接続を使用します。

CodeBuild で GitLab または GitLab セルフマネージドソースプロバイダを追加するには、次のいずれかを選択できます。
+ CodeBuild コンソールの **[ビルドプロジェクトを作成]** ウィザードまたは **[ソースを編集]** ページを使用して、**[GitLab]** または **[GitLab セルフマネージド]** プロバイダオプションを選択します。ソースプロバイダを追加するには、「[GitLab (コンソール) への接続を作成する](#connections-gitlab-console)」を参照してください。このコンソールは、接続リソースの作成に役立ちます。
+ 接続リソースを作成するには、CLI を使用します。CLI を使用して接続リソースを作成するには、「[GitLab (CLI) への接続を作成する](#connections-gitlab-cli)」を参照してください。

**注記**  
[**設定**] からデベロッパーツール コンソールを使用して、接続を作成することもできます。[[接続を作成する](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-create.html)] を参照してください。

**注記**  
この接続のインストールを GitLab で承認すると、アカウントにアクセスしてデータを処理するアクセス許可を当社のサービスに付与したものとみなされます。また、アプリケーションをアンインストールすれば、アクセス許可をいつでも取り消すことができます。

### GitLab への接続を作成する
<a name="connections-gitlab-create"></a>

このセクションでは、GitLab を CodeBuild に接続する方法について説明します。GitLab 接続の詳細については、「[CodeBuild を GitLab に接続](#connections-gitlab)」を参照してください。

開始する前に:
+ GitLab でアカウントを作成しておく必要があります。
**注記**  
接続は、接続の作成と承認に使用されたアカウントで所有するリポジトリへのアクセスだけを提供します。
**注記**  
GitLab で、自分が**所有者**ロールを持っているリポジトリへの接続を作成すると、その接続を CodeBuild などのリソースを含むリポジトリで使用できます。グループ内のリポジトリでは、グループの所有者である必要はありません。
+ ビルドプロジェクトのソースを指定するには、GitLab にリポジトリを作成しておく必要があります。

**Topics**
+ [GitLab (コンソール) への接続を作成する](#connections-gitlab-console)
+ [GitLab (CLI) への接続を作成する](#connections-gitlab-cli)

#### GitLab (コンソール) への接続を作成する
<a name="connections-gitlab-console"></a>

以下のステップを使用して、CodeBuild コンソールを使用して GitLab 内のプロジェクト (リポジトリ) 用に接続を追加します。

**注記**  
アカウントで既存の接続を作成または使用する代わりに、別の AWS アカウントから共有された接続を使用できます。詳細については、[AWS 「アカウントとの接続の共有](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-share.html)」を参照してください。

**ビルドプロジェクトを作成または編集するには**

1. CodeBuild コンソールにサインインします。

1.  次のいずれかを選択します 。
   + [ビルドプロジェクトを作成] を選択します。[ビルドプロジェクトの作成 (コンソール)](create-project.md#create-project-console) の手順に従って最初の画面を完了し、**[ソース]** セクションの **[プロバイダ]** で **[GitLab]** を選択します。
   + 既存のビルドプロジェクトを編集するこを選択します。**[編集]**、**[ソース]** の順に選択します。**[ソースを編集]** ページの **[ソースプロバイダ]** で、**[GitLab]** を選択します。

1. 次のいずれかを選択します。
   + **[接続]** で、**[デフォルト接続]** を選択します。デフォルト接続は、すべてのプロジェクトにデフォルトの GitLab 接続を適用します。
   + **[接続]** で、**[カスタム接続]** を選択します。カスタム接続は、アカウントのデフォルト設定を上書きするカスタム GitLab 接続を適用します。

1. 次のいずれかを行います。
   + **[デフォルト接続]** または **[カスタム接続]** でプロバイダへの接続をまだ作成していない場合は、**[新しい GitLab 接続を作成]** を選択します。ステップ 5 に進んで、接続を作成します。
   + [**接続**] でプロバイダへの接続を既に作成している場合は、その接続を選択します。ステップ 10 に進みます。
**注記**  
GitLab 接続が作成される前にポップアップウィンドウを閉じた場合は、ページを更新する必要があります。

1. GitLab リポジトリへの接続を作成するには、**[プロバイダーを選択する]** で、**[GitLab]** を選択します。[**接続名**] に、作成する接続の名前を入力します。　　　 **[GitLab に接続]** を選択します。  
![\[GitLab 用に選択された接続オプションを示すコンソールのスクリーンショット。\]](http://docs.aws.amazon.com/ja_jp/codebuild/latest/userguide/images/connections-create-gitlab.png)

1. GitLab のサインインページが表示されたら、認証情報を使用してログインし、**[サインイン]** を選択します。

1. 初めて接続を承認する場合は、承認ページが表示され、GitLab アカウントにアクセスするための接続の承認を求めるメッセージが表示されます。

   [**承認**] を選択します。  
![\[GitLab アカウントの接続を承認するメッセージを示すスクリーンショット。\]](http://docs.aws.amazon.com/ja_jp/codebuild/latest/userguide/images/gitlab-authorization.png)

1. ブラウザは接続コンソールページに戻ります。**[GitLab 接続設定]** の **[接続名]** に新しい接続が表示されます。

1. **接続** を選択します。

   GitLab 接続が正常に作成されると、上部に成功のバナーが表示されます。

1. **[ビルドプロジェクトを作成]** ページの **[デフォルト接続]** または **[カスタム接続]** のドロップダウンリストで、接続 ARN がリストされていることを確認します。リストされていない場合は、更新ボタンを選択して表示します。

1. **[リポジトリ]** で、プロジェクトのパスと名前空間を指定して、GitLab 内のプロジェクトの名前を選択します。例えば、グループレベルのリポジトリの場合は、リポジトリ名を `group-name/repository-name` の形式で入力します。パスと名前空間の詳細については、[https://docs.gitlab.com/ee/api/projects.html\$1get-single-project](https://docs.gitlab.com/ee/api/projects.html#get-single-project) で `path_with_namespace` フィールドを参照してください。GitLab の名前空間の詳細については、[https://docs.gitlab.com/ee/user/namespace/](https://docs.gitlab.com/ee/user/namespace/) を参照してください。
**注記**  
GitLab 内のグループでは、プロジェクトのパスと名前空間を手動で指定する必要があります。例えば、グループ `mygroup` 内のリポジトリの名前が `myrepo` の場合は、「`mygroup/myrepo`」と入力します。プロジェクトのパスと名前空間は GitLab の URL で見つけることができます。

   

1. **[ソースバージョン - オプション]** で、プルリクエスト ID、ブランチ、コミット ID、コミット ID、タグ、または参照およびコミット ID を入力します。詳細については、「[を使用したソースバージョンサンプル AWS CodeBuild](sample-source-version.md)」を参照してください。
**注記**  
`811dd1ba1aba14473856cee38308caed7190c0d` または `5392f7` のように、コミット ID と似ていない Git ブランチ名を選択することをお勧めします。これにより、Git checkout が実際のコミットと衝突するのを防ぐことができます。

   

1. **[Git のクローンの深さ - オプション]** で、指定されるコミット数で履歴が切り捨てられた浅いクローンを作成できます。完全クローンを希望する場合には、[**Full (完全)**] を選択します。

1. **[ビルドステータス - オプション]** で、ビルドの開始と終了のステータスをソースプロバイダに報告する場合は、**[ビルドの開始時と終了時にソースプロバイダにビルドステータスを報告]** を選択します。

   ソースプロバイダにビルド状態を報告できるようにするには、ソースプロバイダに関連付けられたユーザーがリポジトリへの書き込みアクセス権を持っている必要があります。ユーザーが書き込みアクセス権を持っていない場合、ビルドのステータスは更新できません。詳細については、「[ソースプロバイダーのアクセス](access-tokens.md)」を参照してください。

#### GitLab (CLI) への接続を作成する
<a name="connections-gitlab-cli"></a>

 AWS Command Line Interface (AWS CLI) を使用して接続を作成できます。

これを行うには、**create-connection** コマンドを使用します。

**重要**  
 AWS CLI または を介して作成された接続 AWS CloudFormation は、デフォルトで `PENDING`ステータスです。CLI または との接続を作成したら CloudFormation、コンソールを使用して接続を編集し、ステータスを にします`AVAILABLE`。

**接続を作成するには**
+ 「*デベロッパーツールユーザーガイド*」にある「[Create a connection to GitLab (CLI)](https://docs.aws.amazon.com/dtconsole/latest/userguide/connections-create-gitlab.html#connections-create-gitlab-cli)」の手順に従ってください。