CodePipeline で GitHub のソースアクションが「アクセス権限がありません」になったときの対処方法

2023.11.16

困っていた内容

CodePipeline を使用して GitHub のコードをデプロイするパイプラインを構築しました。実行するとアクセス権限がありませんで失敗しました。

実行ユーザにはAdministratorAccessを付与しています。どうしたら良いでしょうか?

アクセス権限がありません
Unable to use Connection: arn:aws:codestar-connections:ap-northeast-1:123456789012:connection/abcd. The provided role does not have sufficient permissions.

どう対応すればいいの?

CodePipeline に設定した IAM ロール(サービスロール)のアクセス許可を確認してください。

CodePipeline 内で実行される操作のアクセス権限は、サービスロールに依存します。サービスロールに必要な権限がない場合、操作を開始した IAM ユーザの権限に関わらず権限エラーが発生します。

GitHub の利用など AWS CodeStar 接続の権限が必要な場合はcodestar-connections:UseConnectionの権限が必要になります。

ポリシー例

{
    "Action": [
        "codestar-connections:UseConnection"
    ],
    "Resource": "*",
    "Effect": "Allow"
},

そのため、CodePipeline に設定した IAM ロールで必要な権限が許可されているか確認してください。

サービスロールの確認方法

CodePipeline のサービスロールは、CodePipeline コンソールもしくは AWS CLI のget-pipeline コマンドから確認できます。

CodePipeline コンソールから確認する場合は、パイプラインをクリックします。

「設定」をクリックします。
※2箇所あるのでご注意ください。

「サービスロール ARN」を確認します。

参考資料

8. AWS CodeStar 接続の場合、Bitbucket Cloud などの接続を使用するソースでパイプラインを作成するには、次の権限が必要です。

{
    "Effect": "Allow",
    "Action": [
        "codestar-connections:UseConnection"
    ],
    "Resource": "resource_ARN"
},