ハンズオン(簡易版): IAM基礎 (認証編)

1.3.2. IAMユーザーSSH公開鍵の登録 (handson-iam-authentication-user)

手順の目的

IAMユーザー"handson-iam-authentication-user"にSSH公開鍵を登録します。

設定値の指定

手順に必要な設定値を変数に格納をします。

1. OpenSSH秘密鍵ファイル

OpenSSH鍵用ディレクトリを指定します。

変数の設定:

DIR_OPENSSH="${HOME}/.ssh"

OpenSSH鍵名を指定します。

変数の設定:

OPENSSH_KEY_NAME='handson-iam-authentication-sshkey'

OpenSSH秘密鍵ファイルを指定します。

変数の設定:

FILE_OPENSSH_KEY_SECRET="${DIR_OPENSSH}/${OPENSSH_KEY_NAME}" \
  && echo ${FILE_OPENSSH_KEY_SECRET}

結果(例):

/home/cloudshell-user/.ssh/handson-iam-authentication-sshkey

2. OpenSSH公開鍵ファイル

OpenSSH公開鍵ファイルを指定します。

変数の設定:

FILE_OPENSSH_KEY_PUBLIC="${DIR_OPENSSH}/${OPENSSH_KEY_NAME}.pub" \
  && echo ${FILE_OPENSSH_KEY_PUBLIC}

結果(例):

/home/cloudshell-user/.ssh/handson-iam-authentication-sshkey.pub

3. IAMユーザー名

IAMユーザー名を指定します。

変数の設定:

IAM_USER_NAME='handson-iam-authentication-user'

設定値の確認

各変数に正しい設定値が格納されていることを確認します。

変数の確認:

cat << END

  # 1. FILE_OPENSSH_KEY_SECRET:"${HOME}/.ssh/handson-iam-authentication-sshkey"
       FILE_OPENSSH_KEY_SECRET="${FILE_OPENSSH_KEY_SECRET}"
  # 2. FILE_OPENSSH_KEY_PUBLIC:"${HOME}/.ssh/handson-iam-authentication-sshkey.pub"
       FILE_OPENSSH_KEY_PUBLIC="${FILE_OPENSSH_KEY_PUBLIC}"
  # 3. IAM_USER_NAME:"handson-iam-authentication-user"
       IAM_USER_NAME="${IAM_USER_NAME}"

END

各変数について、上の行と下の行の値の内容もしくは形式が同じであることを確認します。 もし異なる場合は、それぞれの手順番号に戻って変数の設定を行います。

処理の実行

IAMユーザーのSSH公開鍵をアップロードします。

変数の確認:

cat << END

  # IAM_USER_NAME:"handson-iam-authentication-user"
    IAM_USER_NAME="${IAM_USER_NAME}"
  # FILE_OPENSSH_KEY_PUBLIC:"${HOME}/.ssh/handson-iam-authentication-sshkey.pub"
    FILE_OPENSSH_KEY_PUBLIC="${FILE_OPENSSH_KEY_PUBLIC}"

END

コマンド:

aws iam upload-ssh-public-key \
  --user-name ${IAM_USER_NAME} \
  --ssh-public-key-body file://${FILE_OPENSSH_KEY_PUBLIC}

結果(例):

{
  "SSHPublicKey": {
    "UserName": "handson-iam-authentication-user",
    "SSHPublicKeyId": "APKAxxxxxxxxxxxxxxxx",
    "Fingerprint": "xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx:xx",
    "SSHPublicKeyBody": "ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIHxp9yhNhnjpgQ0rv2e+VNCKuCou89qG+i89+PSVyL/z SSH Key for handson-iam-authentication.",
    "Status": "Active",
    "UploadDate": "2026-05-28T01:23:45.678Z"
  }
}

完了確認

「IAMユーザー"handson-iam-authentication-user"にSSH公開鍵が登録されている。」ことを確認します。

コマンド:

aws iam list-ssh-public-keys \
  --user-name ${IAM_USER_NAME} \
  --query "SSHPublicKeys[?UserName == \`${IAM_USER_NAME}\`].SSHPublicKeyId" \
  --output text

結果(例):

APKAxxxxxxxxxxxxxxxx

手順の完了確認

(参考) マネジメントコンソールの確認

直近に作成されたSSH公開鍵のSSH公開鍵IDを確認します。

コマンド:

aws iam list-ssh-public-keys \
  --user-name ${IAM_USER_NAME} \
  --query "SSHPublicKeys[?UserName == \`${IAM_USER_NAME}\`].SSHPublicKeyId" \
  --output text

結果(例):

APKAxxxxxxxxxxxxxxxx
  • 左ペインの"ユーザー"をクリックします。

ユーザー一覧(画面)

  • 検索欄にユーザー名"handson-iam-authentication-user"を入力します。

  • ユーザー名"handson-iam-authentication-user"をクリックします。

ユーザー概要(画面)

  • "セキュリティ認証情報"(タブ)をクリックします。

ユーザー概要/セキュリティ認証情報(タブ)

  • "AWS CodeCommit の SSH 公開キー"セクションにSSH公開鍵(SSH公開鍵IDが同じもの)が表示されていることを確認します。