এস 3 বালতি অ্যাকশন কোনও সংস্থানগুলিতে প্রযোজ্য নয়


124

ফলো এস 3 বালতি নীতি উত্পন্ন করার জন্য আমি এই উত্তর থেকে নির্দেশাবলী অনুসরণ করছি :

{
  "Id": "Policy1495981680273",
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "Stmt1495981517155",
      "Action": [
        "s3:GetObject"
      ],
      "Effect": "Allow",
      "Resource": "arn:aws:s3:::surplace-audio",
      "Principal": "*"
    }
  ]
}

আমি নিম্নলিখিত ত্রুটি ফিরে পেয়েছি:

বিবৃতিতে কোনও সংস্থান (গুলি) এ ক্রিয়া প্রযোজ্য নয়

আমি আমার নীতি থেকে কি অনুপস্থিত?


1
আমি লিঙ্কে সমাধানটি চেষ্টা করেছি: stackoverflow.com/a/36551238/2786039 এবং এটি এখন কাজ করছে। শুভেচ্ছা
ভুং নগুইন

উত্তর:


218

আইএএম ডক্স থেকে, http://docs.aws.amazon.com/IAM/latest/UserGuide/references_pol नीति_eferences.html# ক্রিয়া

কিছু পরিষেবা আপনাকে পৃথক সংস্থানগুলির জন্য ক্রিয়া নির্দিষ্ট করতে দেয় না; পরিবর্তে, আপনি অ্যাকশন বা নোটএ্যাকশন উপাদানটিতে তালিকাভুক্ত যে কোনও ক্রিয়াকলাপ সেবারের সমস্ত সংস্থার জন্য প্রযোজ্য। এই ক্ষেত্রে, আপনি রিসোর্স উপাদানটিতে ওয়াইল্ডকার্ড * ব্যবহার করেন।

এই তথ্য দিয়ে, সংস্থানটির নীচের মতো একটি মান থাকতে হবে:

"Resource": "arn:aws:s3:::surplace-audio/*"

39
বিশ্বাস করতে পারি না এটি বালতির নীতি এবং / বা নীতি জেনারেটরে উল্লেখ করা হয়নি!
কার্লস আলকোলেয়া

4
আমি * ব্যবহার করছি এবং এটি এখনও ত্রুটি দেয়। কেউ আমাকে সাহায্য করতে পারে?
ইয়াহুদা ক্লিনটন

@ ইয়াহুদা ক্লিনটন, আমার পক্ষে কাজ করে। উভয় / * যোগ করার বিষয়টি নিশ্চিত করুন
আরমতি

74

কেবল s3:ListBucketঅনুমতিটি সরিয়ে দেওয়া আমার পক্ষে খুব ভাল সমাধান ছিল না এবং সম্ভবত অন্য অনেকের পক্ষেও তা নয়।

আপনি যদি s3:ListBucketঅনুমতি চান তবে আপনার বালতিটির প্লেইন আরন থাকা উচিত ( /*শেষ প্রান্তে ছাড়াই ) কারণ এই অনুমতিটি বালতিতে প্রযোজ্য এবং বালতির মধ্যে থাকা আইটেমগুলিতে নয়।

নীচে প্রদর্শিত হিসাবে, আপনি s3:ListBucketবালতি মধ্যে আইটেম সংক্রান্ত অনুমতি থেকে পৃথক বিবৃতি হিসাবে অনুমতি থাকতে হবে s3:GetObjectএবং s3:PutObject:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:ListBucket"        
      ],
      "Principal": {
        "AWS": "[IAM ARN HERE]"
      },
      "Resource": "arn:aws:s3:::my-bucket-name"
    },
    {
      "Effect": "Allow",
      "Action": [
        "s3:GetObject", 
        "s3:PutObject"
      ],
      "Principal": {
        "AWS": "[IAM ARN HERE]"
      },
      "Resource": "arn:aws:s3:::my-bucket-name/*"
    }
  ]
}

একমত। কিছু ক্রিয়াকলাপের জন্য, গিটোবজেক্ট সম্পাদন করার আগে তালিকার বুকিটের অনুমতি প্রয়োজন, সুতরাং এই উত্তরটি আরও বিশদ।
চিজহুইল

2
এটি আমার পক্ষে কাজ করে এবং কেবলমাত্র এডাব্লুএসকে ব্যবহারকারীদের মৌলিক কাজ করতে গাইড করার ক্ষেত্রে কতটা কাজ করতে হবে তা হাইলাইট করে।
ভলভক্স

41

ত্রুটি ক্রিয়া বিবৃতিতে কোনও সংস্থান (গুলি) এর জন্য প্রযোজ্য নয়

সহজভাবে এর অর্থ এই যে ক্রিয়াটি (আপনি নীতিতে লিখেছেন) সংস্থানটিতে প্রযোজ্য নয়। আমি আমার বালতিটি সর্বজনীন করার চেষ্টা করছিলাম যাতে আমার বালতি থেকে যে কেউ ডাউনলোড করতে পারে। আমি আমার বিবৃতি থেকে ("এস 3: লিস্টবকেট") সরিয়ে না দেওয়া পর্যন্ত ত্রুটি পাচ্ছিলাম।

{
  "Id": "Policyxxxx961",
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "Stmtxxxxx4365",
      "Action": [
        "s3:GetObject",
        "s3:ListBucket",
        "s3:PutObject"
      ],
      "Effect": "Allow",
      "Resource": "arn:aws:s3:::bucket-name/*",
      "Principal": "*"
    }
  ]
}

কারণ তালিকার বালতি বালতির ভিতরে প্রয়োগ হয় না, এইভাবে এই অ্যাকশন পলিসি মুছে ফেলা ভাল কাজ করে।


আপনাকে ধন্যবাদ, এটি "এস 3: লিস্টবকেট" সরিয়ে আমার জন্য কাজ করেছে।
পল ওয়াটসন

14

কেবলমাত্র এই ইস্যুটিতে দৌড়ে গিয়ে একই নীতিমালায় তালিকার বালিকা এবং গেটঅবজেক্ট রাখতে চান তাদের জন্য একটি সংক্ষিপ্ত সমাধান খুঁজে পেয়েছেন।

{
  "Id": "Policyxxxx961",
  "Version": "2012-10-17",
  "Statement": [
    {
      "Sid": "Stmtxxxxx4365",
      "Action": [
        "s3:GetObject",
        "s3:ListBucket",
        "s3:PutObject"
      ],
      "Effect": "Allow",
      "Resource": [
          "arn:aws:s3:::bucket-name",
          "arn:aws:s3:::bucket-name/*"
      ],
      "Principal": "*"
    }
  ]
}

ভুল - Principalএস 3 নীতি ব্যাকরণের জন্য এটি অনুমোদিত নয়।
আজেক-পিডিএক্স

উপরের সমাধানগুলির কোনওটিই আমার পক্ষে কাজ করেনি, অধ্যক্ষ হয় অবৈধ বা আমি অ্যাক্সেস বঞ্চিত হব।
ড্যানিয়েল

এটি সঠিক, এই ক্ষেত্রে রিসোর্সটি একটি অ্যারে হওয়া উচিত এবং সেই 2 টি লাইন অন্তর্ভুক্ত করা উচিত ... ভোট দিন।
অসিল

4

বালতিটি তৈরি করার সময় আমিও একই ধরণের সমস্যার মুখোমুখি হয়েছি

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "AddPerm",
            "Effect": "Allow",
            "Principal": "*",
            "Action": [
                "s3:GetObject"
            ],
            "Resource": [
                "arn:aws:s3:::mrt9949"
            ]
        }
    ]
}

আমি উপরের কোডটি পরিবর্তন করেছি

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "AddPerm",
            "Effect": "Allow",
            "Principal": "*",
            "Action": [
                "s3:GetObject"
            ],
            "Resource": [
                "arn:aws:s3:::mrt9949/*"
            ]
        }
    ]
}

আপনার বালতির নামে / * যুক্ত করুন এটি সমস্যার সমাধান করবে

এখানে আমার বালতির নাম এমআরটি 9949


ধন্যবাদ!
এটির

4

আমার ক্ষেত্রে এই ত্রুটির সমাধান আমি প্রয়োগ করছি এমন কয়েকটি পদক্ষেপ সরিয়ে দেওয়ার চেষ্টা করছিল। তাদের মধ্যে কিছু প্রাসঙ্গিক নয়, বা এই সংস্থান দিয়ে কাজ করতে পারে না। এই ক্ষেত্রে এটি আমাকে এগুলি অন্তর্ভুক্ত করতে দেয় না:

গেটবকেটএলসিএল তালিকার বাল্টের তালিকাবুকিট মাল্টিপার্টআপলোডস


লিস্টবকেট আমাকে পেয়েছে! এর জন্য ধন্যবাদ
কোয়াড 64 বিট

আমার জন্য, শুধুমাত্র getObjet রাখার সময় কাজ করেছেন
লিটল টাইগার

0

পলিসির জন্য রিসোর্স ট্যাগের আওতায় আপনাকে আর্যানের ধরণটি পরীক্ষা করতে হবে-

"রিসোর্স": "আরন: আওস: এস3 ::: এস 3 মাইবুকিটনেম / *"

"/ *" যোগ করার সাথে শেষে আপনার বালতিটির জন্য আপনার পাবলিক অ্যাক্সেস পলিসি অবরোধ মুক্ত থাকার পরেও যদি আপনি সমস্যার মুখোমুখি হন তবে সমস্যাটি সমাধান করতে সহায়তা করবে।


0
  • আপনার দৃষ্টান্তে অ্যামাজন এস 3 এ যান।
  • অনুমতিগুলিতে যান -> সর্বজনীন অ্যাক্সেস ট্যাব।
  • সম্পাদনা নির্বাচন করুন এবং সমস্ত জনসাধারণের অ্যাক্সেসকে অবরুদ্ধ করুন এবং আনচেক করুন।
  • আপনি অনুমতি ট্যাবে এবং অ্যাক্সেস নিয়ন্ত্রণ তালিকায় 'সর্বজনীন' ট্যাগ দেখতে পাবেন।

0

আপনি প্রতিটি ফোল্ডারের জন্য লিস্টবকেটগুলি কনফিগার করতে পারেন, তেমন

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "AllowSESPuts-1521238702575",
            "Effect": "Allow",
            "Principal": {
                "Service": "ses.amazonaws.com"
            },
            "Action": "s3:PutObject",
            "Resource": "arn:aws:s3:::buckets.email/*",
            "Condition": {
                "StringEquals": {
                    "aws:Referer": "[red]"
                }
            }
        },
        {
            "Sid": "Stmt1586754972129",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::596322993031:user/[red]"
            },
            "Action": "s3:ListBucket",
            "Resource": "arn:aws:s3:::buckets.email",
            "Condition": {
                "StringEquals": {
                    "s3:delimiter": "/",
                    "s3:prefix": [
                        "",
                        "domain.co",
                        "domain.co/user"
                    ]
                }
            }
        },
        {
            "Sid": "Stmt1586754972129",
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::596322993031:user/[red]"
            },
            "Action": "s3:ListBucket",
            "Resource": "arn:aws:s3:::buckets.email",
            "Condition": {
                "StringLike": {
                    "s3:prefix": "domain.co/user/*"
                }
            }
        },
        {
            "Effect": "Allow",
            "Principal": {
                "AWS": "arn:aws:iam::596322993031:user/[red]"
            },
            "Action": [
                "s3:GetObject",
                "s3:PutObject",
                "s3:DeleteObject"
            ],
            "Resource": "arn:aws:s3:::buckets.email/domain.co/user/*"
        }
    ]
}

এই নিয়মগুলি এসইএসের সাথে এক ইমেল পাওয়ার জন্য ব্যবহৃত হয়, তবে কোনও বহিরাগত ব্যবহারকারীকে এসইএস দ্বারা বালতিতে রাখা ফাইলগুলি দেখার অনুমতি দেয়। আমি এখান থেকে নির্দেশাবলী অনুসরণ করেছি: https://aws.amazon.com/blogs/security/writing-iam-pol नीति-grant-access-to-user-specific-folders-in-an-amazon-s3- bucket/

এছাড়াও, domain.co/user/এসডিকে ব্যবহার করার সময় আপনাকে অবশ্যই শেষ স্ল্যাশ হিসাবে উপসর্গটি নির্দিষ্ট করতে হবে , অন্যথায় আপনি অ্যাক্সেসকে অস্বীকার করবেন get আশা করি এটি যে কাউকে সাহায্য করবে

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.