CodePipeline で GitHub のソースアクションが「アクセス権限がありません」になったときの対処方法
困っていた内容
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" },