すべてのIAMポリシーの例で、ワイルドカード(*
) "stuff"のプレースホルダーとして。ただし、例では常に最後にそれらを使用するか、ワイルドカードを1つだけ使用してデモンストレーションを行います(例:フォルダー[xyz]内のすべてを.../xyz/*
)。
複数のワイルドカードの使用に関して明確なものを見つけることができません。たとえば、複数のバケットにまたがるサブフォルダー内の任意のものに一致させます。
arn:aws:s3:::mynamespace-property*/logs/*
「プロダクション」全体で何かがlog
ファイルを見ることができるようにする(mynamespace-property-prod
)および「サンドボックス」(mynamespace-property-sand
) バケツ。
確かではありませんが、「突然」(私が何を話しているのかわかっています)、それは ポリシーシミュレータ で機能しています:
「ポリシー2」は次のとおりです。
{
"Version": "2012-10-17",
"Statement": [
{
"Sid": "ExplicitlyDenyAnythingExceptOwnNamedFolder",
"Action": [
"s3:*"
],
"Effect": "Deny",
"NotResource": [
"arn:aws:s3:::mynamespace-property*/subfolder/${aws:username}/*"
]
}
]
}
補足として、arn:aws:s3:::mynamespace-property*/${aws:username}/*
(明示的なサブフォルダーなし)は、「介在する」サブフォルダーがある場合とない場合の両方に一致します。
arn:aws:s3:::mynamespace-property-suffix/subfolder/theuser/files..."
arn:aws:s3:::mynamespace-property-suffix/theuser/files..."
はい、動作します
ドキュメント から:
リソースARNの一部としてワイルドカードを使用できます。ワイルドカード文字(*および?)は、任意のARNセグメント(コロンで区切られた部分)内で使用できます。アスタリスク(*)は文字の任意の組み合わせを表し、疑問符(?)は任意の1文字を表します。複数の*または?各セグメントの文字ですが、ワイルドカードは複数のセグメントにまたがることはできません。
「複数使用できます」はドキュメントのタイプミスであり、「使用できる」という意味です。