2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AWS-SKILLS-GUILD Advent Calendar 2024

Day 2

AWSにおけるMFA設定とCLI制御の実践

Last updated at Posted at 2024-12-02

AWSにおけるMFA設定とCLI制御の実践ガイド

はじめに

AWSセキュリティ成熟度モデルでは、MFA (Multi-Factor Authentication) の活用がQuick Winsの一つとして推奨されている。以下、CLIにおけるMFAの設定方法とその具体的な効果について解説する。

公式ドキュメント: AWS Security Maturity Model

image.png


MFAの設定方法

コンソールでのMFA設定

  1. AWSコンソールにログインし、IAMサービスに移動
  2. 対象ユーザーを選択し、MFAデバイスを設定

MFA設定画面

MFAコード入力の例

設定した後、以下のように、コンソール画面からログイン時にMFAコードの入力が必要になる。

MFAコード入力画面

CLIでの操作が制限されない

MFA設定しただけで、AWS CLIを利用した操作は制限されない。このため、ポリシーを追加してCLI操作を制限する必要がある。

image.png

ポリシーによるCLI操作の制限

制限ポリシーの例

以下のポリシーをIAMユーザーやロールに追加することで、MFA認証なしの操作を制限可能である。

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "BlockAccessWhenNoSignedInWithMFA",
            "Effect": "Deny",
            "Action": "*",
            "Resource": "*",
            "Condition": {
                "BoolIfExists": {
                    "aws:MultiFactorAuthPresent": "false"
                }
            }
        }
    ]
}

適用後、MFA未認証のCLI操作は拒否される。

制限の確認


MFA有効時のCLI操作方法

MFAを有効化した状態でAWS CLIを利用するには、以下の手順を実施する。

1. MFAデバイス識別子の取得

IAM画面でMFAデバイスの識別子 (ARN形式) を確認する。

MFAデバイス識別子

2. セッショントークンの取得

以下のコマンドを実行して一時的な認証情報を取得する。

aws sts get-session-token --serial-number <MFAデバイス識別子> --token-code <MFAコード>

レスポンス:

  • AccessKeyId
  • SecretAccessKey
  • SessionToken

get-session-tokenレスポンス

3. 環境変数の設定(Windows Command Prompt)

取得した情報を以下の環境変数に設定する。

set AWS_ACCESS_KEY_ID=<AccessKeyId>
set AWS_SECRET_ACCESS_KEY=<SecretAccessKey>
set AWS_SESSION_TOKEN=<SessionToken>

設定後、AWS CLIで操作可能となる。

s3 lsの実行例


例外コマンド(一部)

MFAが有効な状態でも、以下のコマンドがMFAコードなしで利用可能である。

  • sts get-caller-identity: 現在の認証情報の確認
  • sts get-session-token: セッショントークンの取得(上記説明した通り)
2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?