CLIからStepFunctionsのステートマシン起動時に、別アカウントのリソース許可が無い旨のエラーが表示されます

2021.11.30

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

困っていた内容

WindowsのPowerShell上で、 CLIのコマンドを実行して StepFunctions のステートマシンを起動しようとしています。 CLIのコマンドは次の通りですが、下記のエラーが起きます。 エラーを回避するにはどうすればよいでしょうか。

■エラーメッセージ

An error occurred (AccessDeniedException) when calling the StartExecution operation: User: arn:aws:iam::5555xxxx6666:user/u12345 is not authorized to access this resource

■CLIコマンド

aws stepfunctions start-execution --state-machine-arn arn:aws:states:ap-northeast-1:xxxx11112222:stateMachine:check_AMI

■起動対象ステートマシン

arn:aws:states:ap-northeast-1:xxxx11112222:stateMachine:check_AMI

Windowsのユーザーは、u12345(「u12345」は社員番号)です。 同じ名前のIAMユーザー(「u12345」)を利用しています。

なお、Bアカウント上では、上記の方法を用いてステートマシンの起動に成功しています。

A: xxxx11112222
B: 5555xxxx6666

どう対応すればいいの?

aws sts get-caller-identity

の実行結果をお知らせください。 こちらのコマンドで、 AWS CLIで現在作業中のアカウント情報を確認することができます。

AWS CLIの設定は、Windows環境の場合、下記の2つのファイルに保存されています。

AWS CLIの設定
C:\Users\USERNAME\.aws\config

AWSクレデンシャル情報の設定
C:\Users\USERNAME\.aws\credentials

使用するアカウントやIAMユーザーを変更する際には、下記のドキュメント [1] をご参照の上、 設定変更をお願いします。

また、下記の名前付きプロファイルを指定することで、 別のアカウント、IAMユーザーを指定して、CLIを実行することが可能です。 [2]

参考資料

[1] aws configure を使用したクイック設定

[2] 名前付きプロファイル - AWS Command Line Interface