AWSのアクセスキーを取得する方法 

# 1. はじめに

データベース(Db2 Warehouse on Cloud)からS3にアクセスするためにアクセスキーとシークレット・アクセスキーが必要です。これをどのように取得するのか、AWSのマニュアルを見ようにも、私は短時間で把握することができませんでした。幸いなことに[わかりやすいQiita記事（AWS アクセスキーを作成する）](https://qiita.com/miriwo/items/a513c91eac7186db59fe)があります。

この記事にしたがってアクセスキーとシークレット・アクセスキーを取得できました！ただし画面遷移の一部が本記事作成時点（2023年5月）と異なっているため、本記事で改めて画面遷移をまとめます。また関連するAWSマニュアルのリンクを示します。記事の最後に本手順の位置付けと注意事項を述べます。

目次は次の通りです。
1. はじめに
2. 参考資料
3. 手順実施の前提
4. 手順の概要
5. 手順
6. 本手順の位置付けと注意事項

# 2. 参考資料
- Qiita: AWS アクセスキーを作成する
    -  https://qiita.com/miriwo/items/a513c91eac7186db59fe
- AWSマニュアル：Getting set up with IAM
    - https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-set-up.html

# 3. 手順実行の前提
AWSのアカウントが必要です。

# 4. 手順の概要
1. AWS管理コンソールにルート・ユーザーとしてログイン
2. IAMグループを作成してS3パーミッションを付与
    - https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups_create.html
    - https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups_manage_attach-policy.html
3. IAMユーザーを作成
    - https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html
4. IAMユーザーのアクセスキーを作成
    - https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users_create.html

# 5. 手順1) AWS管理コンソールにルート・ユーザーとしてログイン
次のURLからログイン画面に遷移します。
https://aws.amazon.com/console/
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/700959/6cc2a2ec-b9f2-d616-c6c8-1f80acef95da.png)
Root userを選択してAWSアカウントのメールアドレスを入力します。Nextボタンを押してパスワードを入力します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/700959/130e4eab-b5f5-468d-8193-37a6594e928b.png)
コンソール画面が表示されます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/700959/ebbc1157-0b32-c9a0-a031-fc82e5d9d310.png)

# 5. 手順2) IAMグループを作成してS3パーミッションを付与
画面左上のメニュー・アイコン（正方形が3個×3個並んだアイコン）を押して表示されるメニューからSecurity, Identity, & Complianceを押して、右側に表示されるメニューからIAMを押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/700959/f758ad8e-f508-35f2-1217-58cd98506ed5.png)
画面左のメニューのUser groupsを押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/700959/e1dbf7c8-a438-8ece-2197-0d23600152ff.png)
画面右のCreate groupボタンを押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/700959/404ac5ff-30db-2dbe-83e7-ceac36b64c09.png)
User group nameに任意の名前（ここでは`S3Admin20230504a`）を入力し、Attach permissions policiesにS3を入力してリターンキーを押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/700959/d883e9c1-f3c4-627d-6605-942c3217e4b0.png)
AmazonS3FullAccessを選択してCreate groupボタンを押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/700959/d88d4781-1e00-0b7e-2711-b5b74d6c122a.png)

# 5. 手順3) IAMユーザーを作成
画面左のメニューからUsersを選択して、画面右上のAdd usersボタンを押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/700959/ff055e65-0ce4-4f20-14bf-f28148d11622.png)
User nameに任意の名前（ここでは`S3User20230504a`）を入力して、Provide user access to the AWS Management Consoleを選択、次にI want to create an IAM userを選択、パスワード設定は好みに応じて選択し、Nextボタンを押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/700959/f9cd467e-5e94-6cea-dc86-3b62dc600eca.png)
Add user to groupを選択し、作成したグループS3Admin20230504aを選択して、Nextボタンを押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/700959/b9880ebd-1da0-82cf-cdfb-c2410f66a164.png)
次の画面(Review and create)で設定を確認してCreate Userボタンを押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/700959/7b16312a-4b8e-dfb5-dd3a-ba6db7e35de5.png)
ユーザーのパスワードを確認できるのは下の画面だけで、これを閉じると再確認はできません。パスワードをしっかりメモしてReturn to users listボタンを押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/700959/0aac9d21-7aee-ff03-bd4d-aa3d0c1e1dab.png)

# 5. 手順4) IAMユーザーのアクセスキーを作成
上で作成したユーザーS3User20230504aを押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/700959/fbbbf6a1-6586-6187-9cdf-bf8c0d8de3cd.png)
Security Credentialタブを選択します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/700959/c15ca202-8d91-6659-71fb-9a028c5cceb6.png)
画面を下にスクロールして、Access Keysと表示された場所でCreate Access Keyボタンを押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/700959/ea0f7966-6907-baf2-5a5b-624effe824f2.png)
Local codeを選択して、画面下部の I understand ... にチェックを入れてNextボタンを押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/700959/4a534c31-92cc-4b36-0431-bad5a8022555.png)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/700959/511051cf-1922-9e9b-c871-41ac760380fa.png)
次の画面(Set description tag - optional)でCreate access keyボタンを押します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/700959/19f4afdf-8ca7-7d40-7808-8a4bbb1d4c5b.png)
次の画面でアクセスキーとシークレット・アクセスキーを表示してしっかりメモします。シークレット・アクセスキーを確認できるのはこの画面だけで、これを閉じると再確認はできません。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/700959/eef4c8f2-6294-64ab-f4f7-97d0924b7f86.png)

# 6. 本手順の位置付けと注意事項
アクセスキーの取得するためにIAMユーザーを作成せずとも、ルート・ユーザーにてアクセスキーを作成することができます。しかしセキュリティ上問題があるためコンソール画面に警告が表示されます。

一方、AWSマニュアルに記載された方法([Prepare for least-privilege permissions](https://docs.aws.amazon.com/IAM/latest/UserGuide/getting-set-up.html))は次のように本記事より手順が多くなります。
- AWS IAM Identity Centerを使って許可セット(permission set)を使用。
- AWS IAM Identity Centerを使わずIAMロールを使用。

本記事の手順は上のAWSマニュアル手順よりも簡便でコンソール画面のセキュリティ警告表示(Deactivate or delete acces keys for root user)は解消しますが、[アクセスキーのローテーション](https://docs.aws.amazon.com/IAM/latest/UserGuide/id.html)、あるいは動作確認が目的であれば確認後のIAMユーザー削除が望ましいです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/700959/9d02025f-58f3-9a65-62e8-7a0088cf62c9.png)