はじめに
Amplify add api
をすると、API認証の種類を選ぶことができる。
設定できるオプションの特徴をまとめる。
比較
API Key
一番手軽。テスト用。
必ず指定した日にちごとに再設定しなければならない。
-1を指定すると自動更新されるとの記事を見かけたが、自分の環境では更新されなかった。
Cognito User Pools
本番にも使える。基本はこれにしておけば間違いない。
ユーザごとのアクセス制御である。Amplifyのユーザー認証と組み合わせて、ログインしたユーザに対してアクセスできるリソースを指定して用いる。
IAM
未認証ユーザにも使える。公開APIにしたいときにおすすめ。
ロールベースのアクセス制御である。Amplifyの場合、デフォルトだと、authRole, unAuthRoleが生成されるので、それぞれ認証ユーザ、未認証ユーザにアクセスさせたいリソースを指定して用いる。
OIDC Auth
外部の認証を使いたいときに使う。
上記3認証方式と組み合わせて使うと良い。
おまけ
UserPoolとIAMのユースケースの違いは、Amazon公式にまとまっている。
https://aws.amazon.com/jp/premiumsupport/knowledge-center/cognito-user-pools-identity-pools/