こんにちは。AWS CLIが好きな福島です。
- はじめに
- 背景
- 概要図
- やり方
- ⓪事前準備
- ①クレデンシャルの設定を行います。
- ①Cyberduckを開き、「新規接続」を押下します。
- ②プルダウンを押下し、「詳細設定」を押下します。
- ③「Profiles」を選択し、検索バーに「S3 (Credentials from AWS Security Token Service)」を入力後、表示されたチェックボックスにチェックを付け閉じます。
- ④「S3 (Credentials from AWS Security Token Service)」が選択されていることを確認後、「Profile Name in ~/.aws/credentials」に①で設定した【任意の名前2】を設定します。
- ⑤MFA認証の画面が表示されるため、ワンタイムパスワードを入力後、「続ける」を押下します。
- ⑥⑤まで完了すると、以下のようにS3バケットが表示されるかと思います。
- 補足
- 参考
- 終わりに
はじめに
今回は、Cyberduckという無料のFTPクライアントソフトを使い、 スイッチロール&MFA認証を行い、S3へ接続してみたため、方法をブログに記載いたします。
背景
まず、IAM Userを利用する場合はMFAの設定が推奨されているため、IAMポリシーにてMFA認証を必須にする権限を付与するケースがあるかと存じます。 また、マルチアカウントの環境ではIAM Userを1つのアカウントに集約し、それぞれのアカウントにはスイッチロールをするケースが多いかと存じます。
ただ、そんな環境でもS3を手軽に使いたいケースはあるため、その際に本ブログの内容が役に立つかなと思います。
概要図
やり方
⓪事前準備
以下からインストーラーをダウンロードし、Cyberduckのインストールを行います。
※詳細な手順は割愛します。
https://cyberduck.softonic.jp/
①クレデンシャルの設定を行います。
設定ファイルを作成します。
C:\Users\[ユーザー名]\.aws\credentials C:\Users\[ユーザー名]\.aws\config
それぞれのファイルに以下の設定を行います。
- C:\Users\[ユーザー名]\.aws\credentials
[【任意の名前1】] aws_access_key_id = 【アクセスキーID】 aws_secret_access_key = 【シークレットアクセスキー】
- C:\Users\[ユーザー名]\.aws\config
[【任意の名前2】] region = ap-northeast-1 output = json mfa_serial =【MFA デバイスの割り当てのARN】 role_arn = 【スイッチしたいIAMロールのARN】 source_profile = 【任意の名前1】
設定例
- C:\Users\[ユーザー名]\.aws\credentials
[iam-user] aws_access_key_id = AKIAXXXXXXXXXXXXXXX aws_secret_access_key = XXXXXXXXXXXXXXXXX
- C:\Users\[ユーザー名]\.aws\config
[profile s3-access-role] region = ap-northeast-1 output = json mfa_serial= arn:aws:iam::111111111111:mfa/iam-user role_arn = arn:aws:iam::222222222222:role/s3-access-role source_profile = iam-user
※IAM Identity Cneterをご利用の場合
- C:\Users\[ユーザー名]\.aws\config
[profile s3-access-role] sso_start_url = [SSOのURL] sso_region = [SSOが存在するリージョン名] sso_account_id = [アカウントID] sso_role_name = [ロール名] region = ap-northeast-1 output = json
configを設定した後に以下のコマンドを実行します。
aws sso login --profile s3-access-role
SSOにログイン出来たら以下のコマンドを実行します。
aws sts get-caller-identity --profile s3-access-role
①Cyberduckを開き、「新規接続」を押下します。
②プルダウンを押下し、「詳細設定」を押下します。
③「Profiles」を選択し、検索バーに「S3 (Credentials from AWS Security Token Service)」を入力後、表示されたチェックボックスにチェックを付け閉じます。
④「S3 (Credentials from AWS Security Token Service)」が選択されていることを確認後、「Profile Name in ~/.aws/credentials」に①で設定した【任意の名前2】を設定します。
⑤MFA認証の画面が表示されるため、ワンタイムパスワードを入力後、「続ける」を押下します。
⑥⑤まで完了すると、以下のようにS3バケットが表示されるかと思います。
補足
デフォルトの設定では、ファイルをアップロードする度にMFA認証が必要になるため、それを回避するためには以下を行います。
参考
Amazon S3 — Cyberduck Help documentation
終わりに
本ブログがどなたかのお役に立てれば幸いです。