昔作ったAWS CodePipelineでGitHub接続エラー

CodePipelineのSourceステージでGitHubと接続する場合には現在「GitHub(バージョン1)」と「GitHub(バージョン2)」が存在する。
バージョン1の方は既に推奨されていない為今から接続する際はバージョン2を選択すると良い。

過去に作成したCodePipelineでバージョン1で認証していたところをバージョン2に変更しようとしたら接続エラーになった。

Additional Information: Unable to use Connection: arn:aws:codestar-connections(略). The provided role does not have sufficient permissions.

ドキュメントによると2019年12月18日より前に作ったCodePipelineの場合サービスロールにパーミッションを追加が必要あることが記載されていた。

If your CodePipeline service role was created before December 18, 2019, you might need to update its permissions to use codestar-connections:UseConnection for AWS CodeStar connections.

GitHub connections - AWS CodePipeline

CodePipeline作成時に指定するサービスロール(デフォルトだとAWSCodePipelineServiceRole-{region}-{Name})の許可ポリシーに追加してあげれば良い。

{
    "Effect": "Allow",
    "Action": [
        "codestar-connections:UseConnection"
    ],
    "Resource": "resource_ARN"
},
Identity and access management for AWS CodePipeline - AWS CodePipeline