問題タブ [aws-policies]
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 - IAM ポリシーは、$connected ユーザーのカスタム WebSocket ルートへのアクセスを拒否できません
AWS Gateway WebSocket API では、公式ドキュメントで説明されているように、特に IAM を使用して、すべてのユーザーではなく一部のユーザーにアクセス権を与えることで、WebSocket エンドポイントへのアクセスを制御しようとしています。
テストとして、特定のポリシー (正確には上記のリンクに示されているポリシー) を使用して特定の ID を持つ一部のユーザーが AWS WebSocket エンドポイントに接続しようとすると、これは適切に機能します (アクセスの制御が機能しAllow
ます)。Deny
$connect
私の使用例は、これらのユーザーが接続 (呼び出し$connect
) できるようにすることですが、他のカスタム ルートを呼び出さないようにすることです (したがって、接続していくつかのメッセージを受信しますが、特定のルートを呼び出すことはできません)。ただし、他のルート (定義済みの類似$default
ルートまたはカスタム ルートの両方) へのアクセスを制御しようとすると、接続されているユーザーはDeny
、ポリシーで編集されているにもかかわらず、カスタム ルートを呼び出すことができます。
ドキュメントに何か不足している可能性はありますか? 接続しているユーザーがまだ他のカスタム シークレット ルートを呼び出せるのはなぜですか? 使用されているポリシーは、上記のリンクの公式ドキュメントで提供されているものとまったく同じです。
そして、言ったように、ルートはできますが、他のルートはできないので、ポリシーとアイデンティティが機能していることを知ってDeny
いAllow
ます$connect
。
したがって、ユーザーが WebSocket に接続した後 (そのユーザーはAllow
sの ID を持っています$connect
)、ユーザーは次のメッセージを送信することもできます (そして、メッセージは秘密ルートのハンドラーに到着します)。ポリシー。
注意してください、invokeCommand
私の秘密のルートです。
このルートがまだ呼び出せる理由がまったくわかりません。
これがPolicy
私が使用しているものです:
WebSocket API へのアクセスのログは次のとおりです。
なぜこれが機能しないのか、または機能させるために何ができるのかを理解するのに役立つ人はいますか?
amazon-web-services - AWS S3 と Cyberduck と MFA
アカウントで MFA を有効にせずに、ユーザーが AWS へのアクセスを制限するためのポリシーが用意されています。そのため、現在、誰もが自分のアカウントで MFA を有効にし、AWS にログインして何かにアクセスする必要があるときはいつでも MFA を使用することを余儀なくされています。これはすべて正常に機能し、問題はありません。
私たちが抱えている問題は、Cyberduck を使用して AWS S3 バケットにアクセスしていることです。現在、Cyberduck 内でアクセス キーとシークレット キーを使用して S3 バケットを探索しています。ユーザー アカウントで MFA が有効になっている場合、Cyberduck は S3 への接続を許可せず、失敗し続けます。同じアカウントで MFA を無効にするとすぐに、同じアクセス キーとシークレット キーを使用して Cyberduck 経由で S3 に接続できます。
この問題を回避し、すべてのユーザーが自分のアカウントで MFA を有効にしながら、MFA が有効な間は自分のアクセス キーとシークレット キーを使用して S3 バケットにアクセスできるようにする方法を考えていますか?
あなたの誰かが助けて、同じシナリオを持っていれば素晴らしいでしょう.
代替ソリューションは大歓迎です。
また、S3 に接続してバケットを参照するユーザーは技術者ではなく、多くの技術的なことを行うことはできません。したがって、これに対する簡単な解決策を求めています。
君たちありがとう。