itamae で構築対象のEC2サーバーについてる EC2 Role に特定のポリシーを付与したいです

どうするのがスマートかわからないので
とりあえずリモートの hostname を取得して
ローカルで aws-sdk-ruby で同じ hostname になる ec2 インスタンスを探して

ec2 = Aws::EC2::Resource.new(region: 'ap-northeast-1')
ec2.instances.each do |i|
  if i.private_dns_name == hostname

その中の role_id を取得して
その role_id から role オブジェクトを作って
atttach policy を呼ぶ
というかなり回りくどい方法しか思いつかないのですが
スマートな方法はないでしょうか

またその場合リモートの hostname の結果をローカルの ruby 上で取得したいのですが
itamae でリモートのシェル実行結果を取得することはどうすれば実現できますか

追記

ec2_instance に IamInstanceProfile というプロパティはあるのですが
Role に関しては出てきません
AWS Console には Role が表示されるんですが
この EC2 Role はどうやって取得すればいいですか