From what you’ve shared it seems like the OpsWorks API has started responding to the request to read an OpsWorks layer with an “access denied” error, which the Terraform AWS provider then returns and that blocks you from planning.
If these objects can no longer even be read from the API then unfortunately the only option I can think of is to tell Terraform to forget that these objects exist, using the terraform state rm command, and then delete them manually in the AWS console if they still exist there.