Authenticating using IAM user credentials for the AWS CLI
警告
セキュリティリスクを避けるため、専用ソフトウェアを開発するときや実際のデータを扱うときは、IAM ユーザーを認証に使用しないでください。代わりに、AWS IAM アイデンティティセンター などの ID プロバイダーとのフェデレーションを使用してください。
このセクションでは、IAM ユーザーで基本的な設定を構成する方法について説明します。これらには、config ファイルと credentials ファイルを使用したセキュリティ認証情報が含まれます。代わりに AWS IAM アイデンティティセンター の設定手順を参照するには、「AWS CLI を使用した IAM アイデンティティセンター認証の設定」を参照してください。
トピック
ステップ 1: IAM ユーザーを作成する
「IAM ユーザーガイド」の「IAM ユーザーの作成 (コンソール)」の手順に従って IAM ユーザーを作成します。
-
[アクセス許可オプション] で、このユーザーにアクセス許可を割り当てる方法として [ポリシーを直接アタッチする] を選択します。
-
ほとんどの「開始方法」 SDK チュートリアルでは、Amazon S3 サービスを例として使用しています。アプリケーションに Amazon S3 へのフルアクセスを提供するには、このユーザーにアタッチする
AmazonS3FullAccessポリシーを選択します。
ステップ 2: アクセスキーを取得する
AWS マネジメントコンソール にサインインして、IAM コンソール https://console.aws.amazon.com/iam/
を開きます。 -
IAM コンソールのナビゲーションペインで [ユーザー] を選択し、以前に作成したユーザーの
User nameを選択します。 -
ユーザーのページで、[セキュリティ認証情報] ページを選択します。次に、[アクセスキー] で [アクセスキーの作成] を選択します。
-
[アクセスキーの作成ステップ 1] で、[コマンドラインインターフェイス (CLI)] を選択します。
-
[アクセスキーの作成ステップ 2] で、オプションのタグを入力して [次へ] を選択します。
-
[アクセスキーの作成ステップ 3] で、[.csv ファイルをダウンロード] を選択し、IAM ユーザーのアクセスキーとシークレットアクセスキーを含む
.csvファイルを保存します。この情報は後で必要になります。 -
[完了] を選択します。
ステップ 3: AWS CLI を設定する
一般的に、AWS CLI には以下の情報が必要です。
-
アクセスキー ID
-
シークレットアクセスキー
-
AWS リージョン
-
出力形式
この情報は、AWS CLI により、default ファイルの、credentials という名前のプロファイル (設定のコレクション) に保存されます。デフォルトでは、このプロファイル内の情報は、使用するプロファイルを明示的に指定しない AWS CLI コマンドを実行する場合に使用されます。credentials ファイルの詳細については、「Configuration and credential file settings in the AWS CLI」を参照してください。
AWS CLI を設定するには、次のいずれかの手順を使用します。
aws
configureの使用
一般的な使用の場合、aws configure コマンドが、AWS CLI のインストールをセットアップするための最も簡単な方法です。この設定ウィザードでは、開始するために必要な各情報を入力するよう求められます。--profile オプションを使用した場合、特に指定しない限り、AWS CLI はこの情報を default プロファイルに保存します。
次の例では、サンプル値を使用して default プロファイルを設定します。次のセクションで説明するように、これらの値を独自の値に置き換えます。
$aws configureAWS Access Key ID [None]:AWS Secret Access Key [None]:AKIAIOSFODNN7EXAMPLEDefault region name [None]:wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEYDefault output format [None]:us-west-2json
次の例では、サンプル値を使用して userprod という名前のプロファイルを設定します。次のセクションで説明するように、これらの値を独自の値に置き換えます。
$aws configure --profileuserprodAWS Access Key ID [None]:AWS Secret Access Key [None]:AKIAIOSFODNN7EXAMPLEDefault region name [None]:wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEYDefault output format [None]:us-west-2json
.CSV ファイルによるアクセスキーのインポート
aws configure を使用してアクセスキーを入力する代わりに、アクセスキーの作成後にダウンロードしたプレーンテキスト .csv ファイルをインポートできます。
.csv ファイルには、次のヘッダーが含まれている必要があります。
-
ユーザー名 - この列は
.csvに追加する必要があります。これは、インポート時にconfigとcredentialsファイルでプロファイル名を作成するために使用されます。 -
アクセスキー ID
-
シークレットアクセスキー
注記
最初のアクセスキーの作成時に、[csv ファイルをダウンロード] ダイアログボックスを閉じると、その後はシークレットアクセスキーにアクセスできなくなります。.csv ファイルが必要な場合は、必要なヘッダーと保存したキーペア情報を使用して自分でファイルを作成する必要があります。アクセスキー情報にアクセスできない場合は、新しいアクセスキーを作成する必要があります。
.csv ファイルをインポートするには、次のような --csv オプションで aws configure
import コマンドを使用します。
$aws configure import --csvfile://credentials.csv
詳細については、「aws_configure_import」を参照してください。
config ファイルと credentials ファイルの直接編集
config ファイルと credentials ファイルを直接編集するには、次の操作を行います。
-
共有 AWS
credentialsファイルを作成するか、開きます。このファイルは、~/.aws/credentialsLinux および macOS システム、および%USERPROFILE%\.aws\credentialsWindows 上にあります。詳細については、「Configuration and credential file settings in the AWS CLI」を参照してください。 -
共有
credentialsファイルに次のテキストを追加します。以前にダウンロードした.csvファイル内のサンプル値を置き換え、ファイルを保存します。[default] aws_access_key_id = AKIAIOSFODNN7EXAMPLE aws_secret_access_key = wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY
(オプション) IAM ユーザー認証情報での多要素認証の使用
セキュリティを高めるには、呼び出しを試みるときに、多要素認証 (MFA) デバイス、U2F デバイス、またはモバイルアプリケーションから生成された一回限りのキーを使用することができます。
MFA が有効な IAM ユーザーで、aws
configure mfa-login コマンドを実行して、指定されたプロファイルの多要素認証 (MFA) で使用する新しいプロファイルを設定します。プロファイルが指定されていない場合、MFA は default プロファイルに基づいています。デフォルトプロファイルが設定されていない場合、mfa-login コマンドは MFA 情報を尋ねる前に AWS 認証情報の入力を求めます。次のコマンド例では、デフォルト設定を使用して MFA プロファイルを作成します。
$ aws configure mfa-login
MFA serial number or ARN: arn:aws:iam::123456789012:mfa/MFADeviceName
MFA token code: 123456
Profile to update [session-MFADeviceName]:
Temporary credentials written to profile 'session-MFADeviceName'
Credentials will expire at 2023-05-19 18:06:10 UTC
To use these credentials, specify --profile session-MFADeviceName when running AWS CLI commands
既存のプロファイルを更新するには、--update-profile パラメータを使用します。
$ aws configure mfa-login --profile myprofile --update-profile mfaprofile
MFA token code: 123456
Temporary credentials written to profile 'mfaprofile'
Credentials will expire at 2023-05-19 18:06:10 UTC
To use these credentials, specify --profile mfaprofile when running AWS CLI commands
このコマンドは現在、ハードウェアまたはソフトウェアベースのワンタイムパスワード (OTP) 認証のみをサポートしています。パスキーと U2F デバイスは現在、このコマンドではサポートされていません。
MFA プロファイルを使用するには、コマンドで --profile オプションを使用します。
$ aws s3 ls --profile mfaprofile
MFA を IAM ユーザーに割り当てる方法など、IAM で MFA を使用する方法の詳細については、「AWS Identity and Access Management ユーザーガイド」の「IAM での AWS 多要素認証」を参照してください。