AWS Organizations 利用環境で Account Management API を使う際の注意点

GetContactInformation / GetAlternateContact API について

AWS Account Management には GetContactInformation という API があります。
こちらを利用して AWS アカウントに登録された連絡先情報(電話番号・住所など)が取得可能です。
以下のように、Orgazniation 管理アカウントからメンバーアカウントの情報が取得できます。

マネジメントコンソールでは以下のように表示される項目です。

また GetAlternateContact という API では「代替の連絡先」を取得することが可能です。
こちらも Orgazniation 管理アカウントからメンバーアカウントの情報が取得できます。

マネジメントコンソールでは以下のように表示される項目です。

エラー

これらの API を実行した時、以下のようなエラーが発生しました。

解決方法

AccountId パラメータを省略すると情報取得できました。

先ほどのエラーは、Organization の管理アカウントから
管理アカウント(つまり自分自身)の連絡先情報を取得しようとしてエラーになっていました。
Organization 管理アカウントの情報を取得する場合は AccountId パラメータを省略しましょう。

補足

Organization に所属する全AWSアカウントの連絡先情報を取得する、といったプログラムを組む場合などに
遭遇しやすいエラーかなと思います。

GetContactInformation API のリファレンスをよく見ると以下のように記載されており、AccountId を外せばいいことが分かります。
(GetAlternateContact のリファレンスにも同様の記載があります)

The management account can't specify its own AccountId. It must call the operation in standalone context by not including the AccountId parameter.

同じエラーに遭遇した方の力になれれば幸いです。

投稿者プロフィール

sato
2015年8月入社。弊社はインフラ屋ですが、アプリも作ってみたいです。