AWSで特定のroleからmanaged policyをawscliで外す方法

awscliの以下の公式ドキュメントを見れば済む話なんですが、今日調べて使ってみたので覚え書きとして残しておくための記事です。

detach-role-policy — AWS CLI 1.15.77 Command Reference

あるEC2に付いているroleにmanaged policyがattachされていて、それを一時的に外したいという状況が出てきたので使ってみました。

各種値は変えていますが、こんな感じで使いました。

aws --profile dev iam detach-role-policy --role-name dev-frontend --policy-arn arn:aws:iam::<num>:policy/frontend

普段仕事ではterraformでAWSのリソースを管理しているのですが、今回扱おうと思ったリソースの実際の値とterraform.tfstateで管理している値にズレがあるのか、terraform planで差分を確認すると結構差分が出てきてしまい、どちらが正しいのかすぐに判断できなかったのと、managed policyを外して確認したいことがあったので、一時的な処置として aws detach-role-policy を使用することにしたというのがいきさつです。

正直IAM roleとかpolicyのことをしっかり理解できてはいないので、おっかなびっくりやっています。というか運用のことを考えるとAWS IAMってすごく難しくないですかね?と思う毎日です。