1. はじめに
データベース(Db2 Warehouse on Cloud)からS3にアクセスするためにアクセスキーとシークレット・アクセスキーが必要です。これをどのように取得するのか、AWSのマニュアルを見ようにも、私は短時間で把握することができませんでした。幸いなことにわかりやすいQiita記事(AWS アクセスキーを作成する)があります。
この記事にしたがってアクセスキーとシークレット・アクセスキーを取得できました!ただし画面遷移の一部が本記事作成時点(2023年5月)と異なっているため、本記事で改めて画面遷移をまとめます。また関連するAWSマニュアルのリンクを示します。記事の最後に本手順の位置付けと注意事項を述べます。
目次は次の通りです。
- はじめに
- 参考資料
- 手順実施の前提
- 手順の概要
- 手順
- 本手順の位置付けと注意事項
2. 参考資料
- Qiita: AWS アクセスキーを作成する
- AWSマニュアル:Getting set up with IAM
3. 手順実行の前提
AWSのアカウントが必要です。
4. 手順の概要
- AWS管理コンソールにルート・ユーザーとしてログイン
- IAMグループを作成してS3パーミッションを付与
- IAMユーザーを作成
- IAMユーザーのアクセスキーを作成
5. 手順1) AWS管理コンソールにルート・ユーザーとしてログイン
次のURLからログイン画面に遷移します。
https://aws.amazon.com/console/
Root userを選択してAWSアカウントのメールアドレスを入力します。Nextボタンを押してパスワードを入力します。
コンソール画面が表示されます。
5. 手順2) IAMグループを作成してS3パーミッションを付与
画面左上のメニュー・アイコン(正方形が3個×3個並んだアイコン)を押して表示されるメニューからSecurity, Identity, & Complianceを押して、右側に表示されるメニューからIAMを押します。
画面左のメニューのUser groupsを押します。
画面右のCreate groupボタンを押します。
User group nameに任意の名前(ここではS3Admin20230504a
)を入力し、Attach permissions policiesにS3を入力してリターンキーを押します。
AmazonS3FullAccessを選択してCreate groupボタンを押します。
5. 手順3) IAMユーザーを作成
画面左のメニューからUsersを選択して、画面右上のAdd usersボタンを押します。
User nameに任意の名前(ここではS3User20230504a
)を入力して、Provide user access to the AWS Management Consoleを選択、次にI want to create an IAM userを選択、パスワード設定は好みに応じて選択し、Nextボタンを押します。
Add user to groupを選択し、作成したグループS3Admin20230504aを選択して、Nextボタンを押します。
次の画面(Review and create)で設定を確認してCreate Userボタンを押します。
ユーザーのパスワードを確認できるのは下の画面だけで、これを閉じると再確認はできません。パスワードをしっかりメモしてReturn to users listボタンを押します。
5. 手順4) IAMユーザーのアクセスキーを作成
上で作成したユーザーS3User20230504aを押します。
Security Credentialタブを選択します。
画面を下にスクロールして、Access Keysと表示された場所でCreate Access Keyボタンを押します。
Local codeを選択して、画面下部の I understand ... にチェックを入れてNextボタンを押します。
次の画面(Set description tag - optional)でCreate access keyボタンを押します。
次の画面でアクセスキーとシークレット・アクセスキーを表示してしっかりメモします。シークレット・アクセスキーを確認できるのはこの画面だけで、これを閉じると再確認はできません。
6. 本手順の位置付けと注意事項
アクセスキーの取得するためにIAMユーザーを作成せずとも、ルート・ユーザーにてアクセスキーを作成することができます。しかしセキュリティ上問題があるためコンソール画面に警告が表示されます。
一方、AWSマニュアルに記載された方法(Prepare for least-privilege permissions)は次のように本記事より手順が多くなります。
- AWS IAM Identity Centerを使って許可セット(permission set)を使用。
- AWS IAM Identity Centerを使わずIAMロールを使用。
本記事の手順は上のAWSマニュアル手順よりも簡便でコンソール画面のセキュリティ警告表示(Deactivate or delete acces keys for root user)は解消しますが、アクセスキーのローテーション、あるいは動作確認が目的であれば確認後のIAMユーザー削除が望ましいです。