0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

AmplifyのNext.js SSR環境でIAM ロールを設定する方法

Posted at

概要

  • Amplify の SSR 環境で Amazon SDK をセキュアに設定する方法
  • Amplify のコンピューティングに対して IAM ロールを設定する方法

今回の障害

  • Amazon Bedrock SDK を Amplify の SSR 環境から接続したいが、アクセスキーやシークレットキーは設定したくない
  • ローカル環境では SSO により認証情報が取得され、問題なく実行できる
  • ステージング環境などのデプロイ環境では CredentialsProviderError: Could not load credentials from any providers というエラーが発生する

解決方法

1. IAM ロールを作成する

  1. IAM > ロール > 新しいロールを作成

  2. 信頼されたエンティティの種類 → AWS サービス

  3. カスタム信頼ポリシーを追加

    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Effect": "Allow",
                "Principal": {
                    "Service": [
                        "amplify.amazonaws.com"
                    ]
                },
                "Action": "sts:AssumeRole"
            }
        ]
    }
    
  4. 必要な権限を追加(使用するリソースは適宜調整)

    {
        "Version": "2012-10-17",
        "Statement": [
            {
                "Effect": "Allow",
                "Action": [
                    "bedrock:InvokeModel"
                ],
                "Resource": "*"
            }
        ]
    }
    

2. Amplify のコンピューティングに作成した IAM ロールを追加

  1. Amplify の管理画面を開く
  2. [すべてのアプリ] > 該当のアプリ > [アプリケーションの設定] > [IAM ロール] に移動
  3. コンピューティングロールを編集
  4. デフォルトのロールに先ほど作成した IAM ロールを選択し、保存
    • ブランチごとに IAM ロールを選択可能
    • デフォルトではすべてのブランチがこのロールを使用するため、他の SDK を使いたい場合は IAM ロールを分けると便利

Issue

GitHub Issue - AWS Amplify Hosting

リリース情報


これで、Amplify の SSR 環境から Amazon Bedrock SDK をセキュアに利用できるようになります! 🎉

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?