【Cyberduck】 スイッチロール&MFA認証を行い、S3へ接続する方法

記事タイトルとURLをコピーする

こんにちは。AWS CLIが好きな福島です。

はじめに

今回は、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
[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

①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

終わりに

本ブログがどなたかのお役に立てれば幸いです。

福島 和弥 (記事一覧)

SRE3課

2019/10 入社

AWS CLIが好きです。