問題タブ [aws-sts]
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 - フェデレーション ユーザー用の Amazon S3 バケット ポリシー
フェデレーション ユーザー (ADFS + SAML + STS) に Amazon S3 バケットへのアクセス権を付与しようとしています。プリンシパルを次のように指定しようとしています
と
しかし、私は正しいアクセスを得ることができないようです。これに関する任意のポインタ
amazon-web-services - AWSSecurityTokenServiceException: アクセスが拒否されました。ユーザーは sts:AssumeRole を実行する権限がありません
私はawsが初めてです。aws 呼び出しの一時的な認証情報を生成したいと考えています。そのために、 IAM ユーザー一時認証情報を使用したリクエストの作成 - AWS SDK for Java の例を使用します。
私が通るところ
そして、役割を引き受けようとするとき
エラーを取得する
com.amazonaws.services.securitytoken.model.AWSSecurityTokenServiceException: ユーザー: arn:aws:iam:::user/ は実行する権限がありません:
アクセスが拒否されました; リクエストID:)
私には認識の役割があります。役割の信頼関係の設定に問題があると思います。次のようになります。
およびユーザー ポリシー(このユーザー ポリシーは、この役割にも関連付けられています):
ユーザー ポリシーには 2 つの警告があります。
UPD 私は役割の信頼関係を変更しました。条件を削除するだけです:
そして今、コードの別の行でアクセス拒否エラーが発生しました:
受信したエラー応答: com.amazonaws.services.s3.model.AmazonS3Exception: Access Denied (Service: Amazon S3; Status Code: 403; Error Code: AccessDenied; Request ID: ), S3 Extended Request ID:
amazon-web-services - STSクライアントが機能していないと仮定して、Javaに関するAWSドキュメント?
前提条件として、このページを参照してください。
そのため、提供されるコードを文字通りコピーして貼り付けるだけの小さなアプリを作成できます。特定のユーザーに対して実行されます。グローバル変数を適切な値に変更しました。AWS CLI を介して必要な STS ロールを引き受けることができます。ただし、このコードはまだ適切な役割を引き受けません。
コードを実行可能な jar としてエクスポートし、EC2 インスタンス (基本的な AWS Linux インスタンス) に配置して実行します。適切で正しい STS Credentials からキーを出力しますが、S3 クライアントに到達するとすぐにアクセスが拒否されます (403)。
私の役割は次のとおりです。
- EC2 には役割がありませんが、資格情報ファイルにはユーザー アクセス情報があります (彼を MyUser と呼びましょう)。
- MyUser には、STS ロールと IAM 機能を引き受ける機能があります (IAM 機能は必要ありません。テスト目的のためだけです)。
- STS ロールは MyUser のみが引き受けることができ、アカウント内の S3 へのフル アクセスを許可します。
AWS のドキュメントはときどき当たり外れがありますが、このコードで問題を経験している人を他に見つけることができません。前述したように、CLI を介して STS の役割を引き受ける同じプロセスを実行すると、それを行うことができ、適切に機能するため、これはさらに混乱を招きます。
助けていただける方、よろしくお願いします!