AWSをUiPathで動かしてみたい_第4話(IAMアカウントの情報を取得してみよう)

## はじめに

①本記事はUiPath Advent Calendar 10日目の記事です。
https://qiita.com/advent-calendar/2022/uipath

②この記事は一応シリーズものを想定して書いております。
よろしければご覧ください。
第3話：https://qiita.com/saosao885/items/4865b1f8eec9f2209204
第2話：https://qiita.com/saosao885/items/ac5478b771c77dc26642
第1話：https://qiita.com/saosao885/items/ad0cb508eed33d93fbaa

③今回紹介するUiPathの情報は以下の通りです。
■Enterprise Licence 2022.10

④この内容は、2022/12時点の情報です。
(バージョンやライセンス等の事情で内容が変更になる可能性があります)

⑤AWS環境はご自身で用意頂くなどの対応をお願いします。


## この記事では
今回は年末にバタバタ状態の筆者が、本当は9月末ごろに投稿予定だったものですが
内容がまとまらず書き直しました。
今回もAWSとUiPathを一緒に学んでいきましょう(？)

## IAMって？(超ざっくり)

<b>IAM</b>は Identity and Access Managementの略で、AWSの各サービスに必要なアカウントの作成や権限の管理等を担当するサービスのことです。
以下はAWS公式サイトで紹介されている図ですが、各AWSサービスへのアクセス可否や作成、閲覧、削除とできる動作・できない動作を設定することができます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/502614/2d3831e1-c052-41c6-b0a5-bfc5611c01c4.png)
参考：https://aws.amazon.com/jp/iam/?nc2=h_ql_prod_se_iam

IAMは細かく言うと「ユーザー」、「グループ」、「ポリシー」、「ロール」とあるのですが、まずは「IAMはAWSで使うアカウントに関係するモノなのね」という認識でOKです。

## AWSのアクティビティを使ってみよう

今回は<b>ユーザーを取得(Get User)アクティビティ</b>です！

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/502614/5fc0e512-6460-0851-a2cd-9b20c3b6392f.png)

「ユーザーを取得(Get User)」アクティビティは、対象のIAMアカウントの情報を取得するものです。
ここで取得できるのは以下の情報です。

<b>・ARN：Amazon Resource Nameの略です。AWSのリソースを一意に識別する名前のことです。
　　※詳細は公式サイトでご確認ください。
　　https://docs.aws.amazon.com/ja_jp/general/latest/gr/aws-arns-and-namespaces.html
・CreateDate：このIAMアカウントを作成した日付
・ID：アクセスキーID
・Name：IAMアカウント名
・PasswordLastUsed：パスワードを最後に使用した日付
・Path：パス
・PermissionsBoundaryArn：Permission boundaryはアクセス権限の境界を設定するものですが、今回は設定していません。
・Tag：タグ(今回は未設定の為なにも出ません)
</b>

実際にAWSの画面では、以下のように対応しています。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/502614/2e99adde-b198-9127-e802-a0a5b4cb7139.png)
※アクセスキーIDは「認証情報」タブの中に情報があります。

なお「ユーザーを取得」アクティビティのプロパティはこんな感じです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/502614/9f83723b-8418-1232-b268-0257d05b1e61.png)

【入力】
名前：String型
IAMアカウントの名前を入力します。
(今回はこの記事用にアカウントを用意する暇もなかったので、学習サイト「Udemy」の某講座で使ったアカウントを使用します)
【出力】
ユーザー：AWSIAMUser型
文字型(ToString)とつけるのでは情報を正しく取得できない為、ログではちょっと工夫してみましょう。
なお、ログの中身はどうなっているのかというと以下のような状態になります。

<b>「AWSIAMUser { Arn="arn:aws:iam::**IAMのアカウントの数字が入るよ**:user/**IAMユーザーアカウント名**", CreateDate=[10/25/2022 22:33:13], ID="**アクセスキーが入るよ**", Name="**IAMユーザーアカウント名**", PasswordLastUsed=[12/10/2022 00:16:44], Path="/", PermissionsBoundaryArn=null, Tags=[] }」</b>



## 実装→動かしてみよう
では、UiPath Studioで実装してみましょう。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/502614/2bd6f619-3aca-1877-1242-32db69cc3a53.png)
「アマゾン ウェブ サービス スコープ」の使い方は第3話を確認してください。


では小手調べにARNの情報を取得できるか確認の為実行してみると...
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/502614/c8288903-2ee1-d52d-fed6-4b5333aca9fd.png)

今回の例ではARNの値を取得してみた結果、ログにはARNの情報が表示されました！

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/502614/be037d98-afe8-458f-e380-d81e1729c232.png)

つまり、ログに出したいときは<b>AWSIAMUser型変数.知りたい項目*</b>を記載すれば表示できるようになります。
※知りたい項目はARN、CreateDate、ID、Name、PasswordLastUsed、Path、PermissionsBoundaryArn、Tagのいずれかです。

他にも応用してIAMアカウント名を知りたい場合はAWSIAMUser型変数.Nameと入れれば、名前「Udemy-saori」が出ました！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/502614/26590c30-9a58-a123-ec36-41c82588aea5.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/502614/f238d61f-0aee-a108-c086-92eebc881c46.png)
これは、成功ですね！
## まとめ
今回は12/22開催のイベントや各種資格試験の学習でバタバタでしたが、少しずつAWSアクティビティの使い方を理解できればと思います。修正の末にようやく投稿できて、ちょっとホッとしました。
今後も、AWSとともにAWSアクティビティを理解できるようになればと思います。

最後までお読みいただきありがとうございました！