問題タブ [aws-sdk-net]
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.
.net - ASP.NET Core 2 Web API AWS .NET SDK S3 アクセスが拒否されました
Windows ラップトップで .NET Core 2 を使用して Web API を開発しています。S3 バケットにアクセスしようとすると、アクセス拒否エラーが発生します。
興味深いのは、AWS CLI で動作することです。
私の appSettings.Development.json ファイル:
Startup.cs ファイル:
BucketController.cs ファイル:
表示されるエラーは AmazonS3Exception: Access Denied です。
AWS CLI から実行すると動作します。
認証情報と構成ファイルは、.aws のデフォルトの場所にあります。
c# - AWS SDK は rbac トークンのセッション トークンを取得します
AWS を介して構成および保護された API およびその他のサービスがあります。Cognito のグループとフェデレーション ID を使用してリソースへのアクセスを許可/拒否するために、RBAC スタイルのアクセス許可システムを適用しました。
ユーザーがシステムにログインすると、アクセスできる cognio:roles をリストする JWT トークンを取得し、そのリソースの一時的なセッション トークンを要求することで、これらを使用してさまざまなアクションを実行できます。
私は現在、Angular Web サイトを持っています。これは期待どおりに機能しており、ユーザーがログインすると、次のようにセッション トークンを要求できます。
AWS リソース/API にアクセスする必要がある多数のデスクトップおよびモバイル (Xamarin) アプリがあるため、.net で同じことをしようとしています。
ここで AWS ブログをフォローしました: https://aws.amazon.com/blogs/developer/cognitoauthentication-extension-library-developer-preview/ で、cognito ユーザープールに対してユーザーを認証できます。
ユーザーがアクセス許可を持つ特定のロールのセッショントークンを取得する方法として、私は今行き詰まっています-私は以下を使用してみました:
ただし、毎回次Amazon.CognitoIdentity.Model.NotAuthorizedException
のメッセージが表示されます。
The ambiguous role mapping rules for: cognito-idp.us-east-1.amazonaws.com/us-east-1_xxxxxxxxx denied this request.
コードのトレースとテストから、cognito ユーザーから cognito を取得するときに使用する CustomRoleArn を指定する必要があるようです。そうしないと、cognito フェデレーション ID のトークン ベースのルールが拒否応答を返します。- しかし、AWS .net SDK でこれを行う方法がわかりません......