認証およびオンデマンドMFA APIのHTTPステータス・コード

IAMのアイデンティティ・ドメインの認証およびオンデマンド・マルチファクタ認証(MFA) APIはRESTに準拠し、標準のHTTPレスポンス・ステータス・コードを使用して失敗を示します。

この表では、様々なステータス・コードと、これらのステータス・コードが送信されるユースケースについて説明します。

『Hypertext Transfer Protocol -- HTTP/1.1』の「Status Codeの定義」の項を参照してください。

HTTPステータス・コード

使用例

サンプルJSONレスポンス本文

400 Bad Request

このコードは、不正なリクエストを示します。このコードは、属性にペイロードで無効な値が指定された場合に送信され、構文の問題を示します。

{
    "status": "failed",
    "ecid": "Suwmo0F0000000000",
    "cause":
            [
                {
                    "message": "Invalid value [EMAILS] for attribute authFactor. One of [USERNAME_PASSWORD,PUSH,TOTP,EMAIL,SMS,BYPASSCODE, SECURITY_QUESTIONS] was expected.",
                    "code": "AUTH-1111"
                }
            ],
    "requestState": "bnJ7Qkz2Vff0RNuxwcJQwnaQFA"
}
401 Unauthorized

このコードは、不正なアクセスであることを示します。これは、requestStateが無効または期限切れの場合、あるいは認証時に指定されたotpCodeのIDが無効です。

{
    "status": "failed",
    "ecid": "3YkZh1H0000000000",
    "cause":
            [
                {
                    "message": "You entered an incorrect username or password.",
                    "code": "AUTH-3001"
                }
            ],
    "requestState": "b0EYFnXpo"
}
422

このコードは、リクエストが構文的には正しいが意味的には間違っている場合に使用されます。422は、リクエストが処理不能なエンティティであることを意味します。たとえば、特定のアクションに必須のop属性がリクエストに欠落している場合です。

{
    "status": "failed",
    "ecid": "KIN^r0J0000000000",
    "nextOp": ["credSubmit"],
    "cause":
            [
                {
                    "message": "Your input request is missing the op attribute, which is mandatory.",
                    "code": "AUTH-1111"
                }
            ],
    "requestState": "b0EYFnLpFWEihmJ6btqTXpo",
    "USERNAME_PASSWORD":
            {
                "credentials": ["username", "password"]
            },
    "nextAuthFactors": ["USERNAME_PASSWORD"]
}
500 Internal Server Error

このコードは、内部サーバー・エラーを示します。このエラーが発生した場合、レスポンスにはecIdおよび原因が含まれるため、クライアントは詳細を管理者に連絡できます。