問題タブ [assume-role]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
amazon-web-services - AWS ラムダは、cloudformation によってトリガーされたロールを引き受けることができません
CloudFormation スクリプトを介してトリガーされた場合、Lambda はクロスアカウント ロールを引き受けることができません。
アカウント A で Lambda 関数を作成してトリガーする CloudFormation スクリプトがあります。この関数は、アカウント B からオブジェクトをコピーする必要があります。ロールベースのクロスアカウント アクセスを使用しています。
アカウント B には、次のロールがあります。テスト目的で、S3 フルアクセスを使用しています。
アカウント A には、ラムダ実行、S3 フル アクセス、およびロール引き継ぎポリシーを備えた次のロールがあります。
ラムダ関数内でこの python スクリプトを実行します。
CloudFormation スクリプトは次のエラーを返します。
しかし、同じ Lambda (CloudFormation スクリプトを使用して作成) をテスト モード (AWS コンソールの [テスト] ボタンを使用) で実行すると、エラーなしでファイルがダウンロードされます。
ありがとう
amazon-web-services - 役割の引き受けをラムダ内で行う必要があるのはなぜですか?
これが、AWS Lambda サービスがこのように設計された理由です。
How can I configure a Lambda function to take a role from another AWS account?に関するドキュメントによると、、別のアカウントからリソースにアクセスするには、Lambda 関数がassume_role
メソッドを呼び出して一時的な認証情報を取得する必要があります。私の質問は、なぜこれがラムダの外でできないのかということです。たとえば、RoleB を AccountB から RoleA (ラムダ関数の実行ロール) にバインドできます。
ロジックを外部に移動する利点は明らかです。ラムダの方が移植性が高くなります。
ロジックを削除すると、上記のコードは次のように簡略化できます。
amazon-web-services - 別のアカウントのリポジトリを使用した AWS Amplify - ロールを引き受けます
私はドキュメントを調べましたが、これに対する解決策を見つけることができませんでした..私は dev と prod の 2 つのアカウントを持っています。私の増幅アプリは開発に存在しますが、コードコミットは製品に存在します。それらを接続する方法はありますか?
私は引き受ける役割を構成し、別のプロファイルで一時的な資格情報を使用して接続しようとしました:
問題は同じままです。リポジトリと増幅アプリが同じアカウントに存在するまで、コードコミットで増幅を接続することは不可能のようです。
とにかくこれを達成する方法はありますか、それとも本当に構成可能ではありませんか?
参照: https://docs.aws.amazon.com/IAM/latest/UserGuide/tutorial_cross-account-with-roles.html
https://docs.aws.amazon.com/cli/latest/reference/sts/assume-role.html
amazon-web-services - Terraform: assume_role に関する問題
私は数日間この謎を解こうとしていますが、喜びはありません. 基本的に、Terraform はロールを引き受けることができず、次のエラーで失敗します。
AWS では:
私は役割を持っています: terraform-admin-np
2 つのAWS 管理ポリシー: AmazonS3FullAccess
&AdministratorAccess
とこれとの信頼関係:
次に、ポリシー文書が添付されたユーザーがいます。
およびS3 バケット:txxxxxxxxxxxxxxte
このポリシー ドキュメントが添付されています。
Terraform では:
からのスニペットprovider.tf
:
tgw_cnp.tfvars
バックエンド構成からのスニペット:
そして、このように実行します:
これにより、AWS CLI を使用して問題なくロールを引き受けることができます。
しかし、テラフォームは上記のエラーで失敗します。私が間違っていることは何ですか?