web-dev-qa-db-ja.com

AWS IAM-値に複数のワイルドカード(*)を使用できますか

すべてのIAMポリシーの例で、ワイルドカード(*) "stuff"のプレースホルダーとして。ただし、例では常に最後にそれらを使用するか、ワイルドカードを1つだけ使用してデモンストレーションを行います(例:フォルダー[xyz]内のすべてを.../xyz/*)。

複数のワイルドカードの使用に関して明確なものを見つけることができません。たとえば、複数のバケットにまたがるサブフォルダー内の任意のものに一致させます。

arn:aws:s3:::mynamespace-property*/logs/*

「プロダクション」全体で何かがlogファイルを見ることができるようにする(mynamespace-property-prod)および「サンドボックス」(mynamespace-property-sand) バケツ。

23
drzaus

確かではありませんが、「突然」(私が何を話しているのかわかっています)、それは ポリシーシミュレータ で機能しています:

  • ポリシー1:「任意のバケットで特定のS3権限を許可する」(例:編集者の役割)
  • ポリシー2: "バケット全体のユーザーのフォルダーにある場合を除き、すべてのS3アクションを拒否する"(つまり、ファイルのみを表示できます)

「ポリシー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..."
18
drzaus

はい、動作します

ドキュメント から:

リソースARNの一部としてワイルドカードを使用できます。ワイルドカード文字(*および?)は、任意のARNセグメント(コロンで区切られた部分)内で使用できます。アスタリスク(*)は文字の任意の組み合わせを表し、疑問符(?)は任意の1文字を表します。複数の*または?各セグメントの文字ですが、ワイルドカードは複数のセグメントにまたがることはできません。

「複数使用できます」はドキュメントのタイプミスであり、「使用できる」という意味です。

7