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

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

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

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

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

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

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

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

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

  • admin:org_hook : 組織フックを完全に制御できます。このスコープは、組織のウェブフック機能を使用している場合にのみ必要です。

詳細については、 GitHub ウェブサイトのOAuth「アプリケーションのスコープを理解する」を参照してください。

きめ細かなパーソナルアクセストークンを使用している場合、ユースケースによっては、パーソナルアクセストークンに次のアクセス許可が必要になる場合があります。

  • コンテンツ: 読み取り専用 : プライベートリポジトリへのアクセスを許可します。このアクセス許可は、ソースとしてプライベートリポジトリを使用している場合に必要です。

  • コミットステータス: 読み取りと書き込み: コミットステータスを作成するアクセス許可を付与します。このアクセス許可は、プロジェクトでウェブフックが設定されているか、レポートビルドステータス機能が有効になっている場合に必要です。

  • ウェブフック: 読み取りと書き込み: ウェブフックを管理するアクセス許可を付与します。このアクセス許可は、プロジェクトでウェブフックが設定されている場合に必要です。

  • プルリクエスト: 読み取り専用 : プルリクエストにアクセスするアクセス許可を付与します。このアクセス許可は、ウェブフックにプルリクエストイベントに対するFILE_PATHフィルターがある場合に必要です。

  • 管理: 読み取りと書き込み: このアクセス許可は、セルフホスト GitHub アクションランナー機能を で使用している場合に必要です CodeBuild。詳細については、「リポジトリの登録トークンの作成」と「」を参照してくださいチュートリアル: CodeBuildホストされた GitHubアクションランナーを設定する

注記

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

詳細については、 GitHub ウェブサイトの「きめ細かな個人アクセストークンに必要なアクセス許可」を参照してください。

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

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

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

  2. 認証情報 の場合は、次のいずれかを実行します。

    • デフォルトのソース認証情報を選択して、アカウントのデフォルトのソース認証情報を使用してすべてのプロジェクトに適用します。

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

      2. 認証情報タイプ では、個人用アクセストークン を選択します。

      3. デフォルトのソース認証情報 を選択した場合は、 サービスでトークンの保存に使用するサービスを選択し、以下を実行します。

        • Secrets Manager の使用を選択した場合は、既存のシークレット接続を使用するか、新しいシークレットを作成して の保存 を選択できます。新しいシークレットを作成する方法の詳細については、「」を参照してくださいSecrets Manager シークレットにトークンを作成して保存する

        • を使用する場合はCodeBuildGitHub 個人用アクセストークンを入力し、保存 を選択します。

    • カスタムソース認証情報を選択して、カスタムソース認証情報を使用してアカウントのデフォルト設定を上書きします。

      1. 認証情報タイプ では、個人用アクセストークン を選択します。

      2. 接続 で、既存のシークレット接続を使用するか、新しいシークレットを作成するかを選択します。

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

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

  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_ENTERPRISE、GITLAB、および GITLAB_SELF_ ですMANAGED。

    • auth-type: 必須値。リポジトリへの接続に使用される認証のタイプ。有効な値はOAUTH、、BASIC_AUTH、PERSONAL_ACCESS_TOKEN、CODECONNECTIONS、および SECRETS_ ですMANAGER。では GitHub、PERSONAL_ACCESS_TOKEN のみが許可されます。BASIC_AUTH は Bitbucket アプリのパスワードでのみ許可されます。

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

    • token: 必須値。 GitHub または GitHub Enterprise Server の場合、これは個人用アクセストークンです。Bitbucket の場合、これは個人用アクセストークンまたはアプリパスワードです。認証タイプ の場合CODECONNECTIONS、これは接続 ですARN。認証タイプ SECRETS_ の場合MANAGER、これはシークレット ですARN。

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

  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 回目に実行した場合、保存されたアクセストークンが更新されます。

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

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

    aws codebuild list-source-credentials

    フォーマットJSONされたsourceCredentialsInfosオブジェクトが出力に表示されます。

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

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

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

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

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

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

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

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

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