Earlier quoted context omitted.
It doesn’t make any sense. Forgive me for saying this, but if you don’t really know how all this works then it’s a convenient throwaway thing to suggest. So I think it’s up to you to explain how this would work when there is no difference between a role being deleted and a role being inaccessible . What exactly would you do if I block instance with the ID “xyz” from assuming the role I have assigned it? How would you…
That's an inline policy which is attached to the role . And notably AWS roles require all policies to be removed before they're deleted (which I know because I spent a bunch of time recently fixing ordering issues with CloudFormation deletes). Again you keep just asserting this isn't possible: why ? AWS are aware you need the role to exist to delete the instance (as noted up in the OP), why apparently is it completel…
In short: it would be a confusing mess for nebulous gains that doesn’t pass any kind of smell test. Instead they should just… fix the AWS batch service.
The better solution is to provide an API and console tab to show you what services last used the role, when they used it and how they used it. Which is what they do.