CodeBuild でソースプロバイダにアクセスする - AWS CodeBuild

CodeBuild でソースプロバイダにアクセスする

GitHub または GitHub Enterprise Server の場合、ソースプロバイダへのアクセスに個人用アクセストークンを使用します。Bitbucket では、アプリパスワードを使用してソースプロバイダーにアクセスします。

GitHub および GitHub Enterprise Server アクセストークン

アクセストークンの前提条件

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

GitHub では、個人用アクセストークンに次のスコープが必要です。

  • repo: プライベートリポジトリのフルコントロールを許可します。

  • repo:status: パブリックおよびプライベートリポジトリのコミットステータスへの読み取り/書き込みアクセスを許可します。

  • admin:repo_hook: リポジトリフックのフルコントロールを許可します。このスコープは、トークンに repo スコープがある場合は必要ありません。

詳細については、GitHub ウェブサイトの Understanding Scopes for OAuth Apps を参照してください。

GitHub をアクセストークンで接続する(コンソール)

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

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

  2. [リポジトリ] で、[Connect with a GitHub personal access token (GitHub の個人用アクセストークンで接続する)] を選択します。

  3. [GitHub personal access token (GitHub の個人用アクセストークン)] に、GitHub の個人用アクセストークンを入力します。

  4. [トークンの保存] を選択します。

GitHub をアクセストークンで接続する(CLI)

AWS CLI を使用し、アクセストークンを使用してプロジェクトを GitHub に接続するには、以下のステップに従います。AWS CLI を AWS CodeBuild と組み合わせて使用する方法については、「コマンドラインリファレンス」を参照してください。

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

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

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

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

    以下に置き換えます。

    • server-type: 必須値。この認証情報に使用されるソースプロバイダー。有効な値は GITHUB あるいは GITHUB_ENTERPRISE です。

    • auth-type: 必須値。GitHub、GitHub Enterprise Server リポジトリに接続するために使用される認証のタイプ。有効な値は、PERSONAL_ACCESS_TOKEN と BASIC_AUTH です。CodeBuild API を使用して OAUTH 接続を作成することはできません。代わりに CodeBuild コンソールを使用する必要があります。

    • should-overwrite: オプションの値。リポジトリソースの認証情報が上書きされないようにするには、false に設定します。リポジトリソースの認証情報を上書きするには、true に設定します。デフォルト値は true です。

    • token: 必須値。GitHub または GitHub Enterprise Server の場合、これは個人用アクセストークンです。

    • username: オプションの値。このパラメーターは、GitHub および GitHub エンタープライズサーバーソースプロバイダーでは無視されます。

  2. アカウントをアクセストークンに接続するには、ステップ 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)」を参照してください。

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

    aws codebuild list-source-credentials

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

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

    sourceCredentialsObject には、接続されたソース認証情報のリストが含まれています。

    • authType は、認証情報により使用される認証のタイプです。これは、OAUTHBASIC_AUTH、または PERSONAL_ACCESS_TOKEN です。

    • serverType は、ソースプロバイダーのタイプです。これは、GITHUBGITHUB_ENTERPRISE、または BITBUCKET です。

    • arn は、トークンの ARN です。

  4. ソースプロバイダーから切断してそのアクセストークンを削除するには、その 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 アプリのパスワード

アプリのパスワードの前提条件

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

Bitbucket では、アプリパスワードに次のスコープが必要です。

  • repository:read: 承認側ユーザーがアクセスできるすべてのリポジトリへの読み取りアクセスを許可します。

  • pullrequest:read: プルリクエストの読み取りアクセスを許可します。プロジェクトに Bitbucket Webhook がある場合、アプリパスワードにはこのスコープが必要です。

  • webhook: Webhook へのアクセスを許可します。プロジェクトに Webhook オペレーションがある場合、アプリパスワードにはこのスコープが必要です。

詳細については、Bitbucket ウェブサイトの「Scopes for Bitbucket Cloud REST API」と「OAuth on Bitbucket Cloud」を参照してください。

アプリケーションパスワードで Bitbucket へ接続する(コンソール)

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

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

    注記

    CodeBuild は Bitbucket サーバーをサポートしていません。

  2. [リポジトリ] で、[Connect with a Bitbucket app password (Bitbucket アプリパスワードで接続する)] を選択します。

  3. [Bitbucket username (Bitbucket ユーザー名)] に、Bitbucket ユーザー名を入力します。

  4. [Bitbucket app password (Bitbucket のアプリパスワード)] に、Bitbucket アプリパスワードを入力します。

  5. [Save Bitbucket credentials (Bitbucket 認証情報の保存)] を選択します。

アプリケーションパスワードで Bitbucket へ接続する(CLI)

AWS CLI を使用し、アプリパスワードを使用してプロジェクトを Bitbucket に接続するには、以下のステップに従います。AWS CLI を AWS CodeBuild と組み合わせて使用する方法については、「コマンドラインリファレンス」を参照してください。

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

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

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

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

    以下に置き換えます。

    • auth-type: 必須値。Bitbucket リポジトリに接続するために使用される認証のタイプ。有効な値は、PERSONAL_ACCESS_TOKEN と BASIC_AUTH です。CodeBuild API を使用して OAUTH 接続を作成することはできません。代わりに CodeBuild コンソールを使用する必要があります。

    • should-overwrite: オプションの値。リポジトリソースの認証情報が上書きされないようにするには、false に設定します。リポジトリソースの認証情報を上書きするには、true に設定します。デフォルト値は true です。

    • token: 必須値。Bitbucket では、これはアプリのパスワードです。

    • username: オプションの値。authType が BASIC_AUTH の場合の Bitbucket ユーザー名。その他のタイプのソースプロバイダーまたは接続では、このパラメータは無視されます。

  2. アカウントをアプリパスワードに接続するには、ステップ 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)」を参照してください。

  3. 接続されているアプリのパスワードを表示するには、「list-source-credentials」コマンドを実行します。

    aws codebuild list-source-credentials

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

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

    sourceCredentialsObject には、接続されたソース認証情報のリストが含まれています。

    • authType は、認証情報により使用される認証のタイプです。これは、OAUTHBASIC_AUTH、または PERSONAL_ACCESS_TOKEN です。

    • arn は、トークンの ARN です。

  4. ソースプロバイダーから切断してアプリパスワードを削除するには、その 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" }