スキップしてコンテンツを表示

CodeBuild と GitHub Actions の統合中に発生する認証エラーを解決する方法を教えてください。

所要時間2分
0

ソースプロバイダーとして GitHub アクションを使用して AWS CodeBuild プロジェクトを設定しました。しかし、ビルドが Download_Source フェーズを開始すると失敗します。

簡単な説明

正しいプロジェクト設定でジョブを呼び出すには、CodeBuild プロジェクト名を含める必要があります。認証がなく、CodeBuild プロジェクトが Download_Source フェーズで失敗すると、次のエラーが発生します。

"CLIENT_ERROR: authentication required for primary source"

"CLIENT_ERROR: authorization failed for primary source and source version:"

これらのエラーを解決するには、使用されている認証方法を特定し、必要な設定と権限を設定します。

解決策

CodeBuild を GitHub に接続するためにどの方法を使用するかを判断するには、以下の手順を実行してください。

  1. CodeBuild コンソールを開きます。
  2. ナビゲーションペインで [ビルド] を選択し、次に [ビルドプロジェクト] を選択します。
  3. 対象のビルドプロジェクトを選択し、[編集] を選択します。
  4. [ソース] セクションで、[認証情報] メッセージを確認して、使用されている認証方法を特定します。

個人アクセストークンの場合

個人アクセストークンが存在し、有効であることを確認するには、次の操作を行います。

  • GitHub 開発者設定を確認します。詳細については、GitHub Docs ウェブサイトの「個人用アクセストークンを管理する」を参照してください。
  • アクセストークンの前提条件を満たした個人アクセストークンを正しく設定していることを確認します。
  • 個人アクセストークンの有効期限が切れている場合は、認証トークンを再生成し、AWS Secrets Manager でトークンを更新してください。

Secrets Manager シークレットの場合

Secrets Manager シークレットが存在し、有効期限が切れていないことを確認するには、次の操作を行います。

  • Secrets Manager シークレットを介して接続している場合は、シークレットが存在し、値が最新であることを確認します。
  • CodeBuild プロジェクトのサービスロールに、シークレットを取得するための** secretsmanager:GetSecretValue** が設定されていることを確認します。

secretsmanager:GetSecretValue アクセス許可を持っているかどうかを確認するには、CodeBuild プロジェクトのサービスロールを取得します。次の手順を実行します。

  1. CodeBuild コンソールを開きます。
  2. プロジェクトを選択し、[プロジェクトの詳細] タブを選択します。
  3. [環境] 設定で、[サービスロール] 設定を選択します。
  4. サービスロールを選択します。
  5. ロールに次のアクセス許可があることを確認します。
    "Action": [
      "secretsmanager:GetSecretValue"
    ],
    "Resource": [
       "arn:aws:secretsmanager:region:account-id:secret:secretName"
                ]
    注: region を お使いの AWS リージョンに、account-id を ご自分の AWS アカウント ID に、secretName をご自分のシークレット名に置き換えてください。

OAuth アプリケーションの場合

OAuth トークンは GitHub ユーザに関連付けられています。GitHub ユーザーが組織から削除されると、トークンは無効になります。承認された OAuth アプリケーションを確認するには、GitHub のアプリケーションリストに aws-codesuite が所有する AWS CodeBuild (リージョン) アプリケーションが含まれていることを確認してください。

CodeConnections の場合

CodeConnections が存在し、有効であることを確認するには、次の操作を行います。

関連情報

GitHub OAuth app (GitHub OAuth アプリ)

GitHub and GitHub Enterprise Server access in CodeBuild (CodeBuild での GitHub と GitHub Enterprise Server へのアクセス)

Change build project settings in AWS CodeBuild (AWS CodeBuild のビルドプロジェクト設定を変更する)

AWS公式更新しました 2ヶ月前
コメントはありません

関連するコンテンツ