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

. サービス固有の資格情報の作成 (handson-iam-authentication-user: bedrock)

手順の目的

bedrockで利用する、IAMユーザー"handson-iam-authentication-user"のサービス固有の資格情報を作成します。

設定値の指定

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

1. IAMユーザー名

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

変数の設定:

IAM_USER_NAME='handson-iam-authentication-user'

2. サービス固有の資格情報用ディレクトリ名

サービス固有の資格情報用ディレクトリ名を指定します。

変数の設定:

DIR_IAM_SERVICE_SPECIFIC_CREDENTIAL="${HOME}/tmp-handson-iam-authentication"

ディレクトリが存在することを確認し、存在しない場合は作成します。

コマンド:

ls -d ${DIR_IAM_SERVICE_SPECIFIC_CREDENTIAL} > /dev/null 2>&1 \
  || mkdir -p ${DIR_IAM_SERVICE_SPECIFIC_CREDENTIAL}

結果(例):

(出力なし)

3. サービス固有の資格情報ファイル名

サービス固有の資格情報用ファイルのファイル名を指定します。

変数の設定:

FILENAME_IAM_SERVICE_SPECIFIC_CREDENTIAL='handson-iam-authentication-user-service_specific_credential-bedrock'

変数の設定:

FILE_IAM_SERVICE_SPECIFIC_CREDENTIAL="${DIR_IAM_SERVICE_SPECIFIC_CREDENTIAL}/${FILENAME_IAM_SERVICE_SPECIFIC_CREDENTIAL}.json" \
  && echo ${FILE_IAM_SERVICE_SPECIFIC_CREDENTIAL}

結果(例):

${HOME}/tmp-handson-iam-authentication/handson-iam-authentication-user-service_specific_credential-bedrock.json

設定値の確認

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

変数の確認:

cat << END

  # 1. IAM_USER_NAME:"handson-iam-authentication-user"
       IAM_USER_NAME="${IAM_USER_NAME}"
  # 2. DIR_IAM_SERVICE_SPECIFIC_CREDENTIAL:"${HOME}/tmp-handson-iam-authentication"
       DIR_IAM_SERVICE_SPECIFIC_CREDENTIAL="${DIR_IAM_SERVICE_SPECIFIC_CREDENTIAL}"

END

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

処理の実行

サービス固有の資格情報を作成します。

変数の確認:

cat << END

  # IAM_USER_NAME:"handson-iam-authentication-user"
    IAM_USER_NAME="${IAM_USER_NAME}"
  # FILE_IAM_SERVICE_SPECIFIC_CREDENTIAL:"${HOME}/tmp-handson-iam-authentication/handson-iam-authentication-user-service_specific_credential-bedrock.json"
    FILE_IAM_SERVICE_SPECIFIC_CREDENTIAL="${FILE_IAM_SERVICE_SPECIFIC_CREDENTIAL}"

END

コマンド:

aws iam create-service-specific-credential \
  --user-name ${IAM_USER_NAME} \
  --service-name bedrock.amazonaws.com \
  > ${FILE_IAM_SERVICE_SPECIFIC_CREDENTIAL} \
    && cat ${FILE_IAM_SERVICE_SPECIFIC_CREDENTIAL}

結果(例):

{
    "ServiceSpecificCredential": {
        "CreateDate": "2025-08-20T06:48:57+00:00",
        "ServiceName": "bedrock.amazonaws.com",
        "ServiceCredentialAlias": "handson-iam-authentication-userat-XXXXXXXXXXXX",
        "ServiceCredentialSecret": "ABSKaGFuZHNvbi1pYW0tYXV0aGVudGljYXRpb24tdXNlci1hdC0wNTkwNjc1NTkxNDI6Slh6emF3clNsVkpxL2Q5Q2xoajlZeDZxRlFIOEQ4eDZyZ3VlbjlYL2RWVWJHMXNRTEd6bFJHOHB4Vkkx",
        "ServiceSpecificCredentialId": "ACCAXXXXXXXXXXXXXXXXX",
        "UserName": "handson-iam-authentication-user",
        "Status": "Active"
    }
}

完了確認

「IAMユーザー"handson-iam-authentication-user"の"bedrock"に対するサービス固有の資格情報が存在する。」ことを確認します。

コマンド:

aws iam list-service-specific-credentials \
  --user-name ${IAM_USER_NAME} \
  --query 'ServiceSpecificCredentials[?ServiceName == `bedrock.amazonaws.com`].ServiceName' \
  --output text

結果(例):

bedrock.amazonaws.com

「サービス固有の資格情報ファイル"${HOME}/tmp-handson-iam-authentication/handson-iam-authentication-user-service_specific_credential-bedrock.json"が存在する。」ことを確認します。

コマンド:

ls ${FILE_IAM_SERVICE_SPECIFIC_CREDENTIAL}

結果(例):

/home/cloudshell-user/tmp-handson-iam-authentication/handson-iam-authentication-user-service_specific_credential-bedrock-service_specific_credential.json

APIキーを取得します。

コマンド:

cat ${FILE_IAM_SERVICE_SPECIFIC_CREDENTIAL} \
  | jp.py 'ServiceSpecificCredential.ServiceCredentialSecret' \
  | sed 's/"//g'

結果(例):

ABSKaGFuZHNvbi1pYW0tYXV0aGVudGljYXRpb24tdXNlci1hdC0wNTkwNjc1NTkxNDI6Slh6emF3clNsVkpxL2Q5Q2xoajlZeDZxRlFIOEQ4eDZyZ3VlbjlYL2RWVWJHMXNRTEd6bFJHOHB4Vkkx

注釈

  • bedrockの長期APIキーとして使用します。

手順の完了確認

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

作成されたbedrockサービス固有の資格情報のサービス資格情報エイリアスを確認します。

コマンド:

aws iam list-service-specific-credentials \
  --user-name ${IAM_USER_NAME} \
  --query 'ServiceSpecificCredentials[?ServiceName == `bedrock.amazonaws.com`].ServiceCredentialAlias' \
  --output text

結果(例):

handson-iam-authentication-user-at-XXXXXXXXXXXX
  • 左ペインの"ユーザー"をクリックします。

ユーザー一覧(画面)

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

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

ユーザー概要(画面)

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

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

  • "Amazon Bedrock の API キー"セクションにサービス固有の資格情報(サービス資格情報エイリアスが同じもの)が表示されていることを確認します。