অ্যামাজন এস 3 থেকে ডাউনলোড করার জন্য অ্যাউস ক্লিপটি ব্যবহার করার সময় অ্যাক্সেস অস্বীকার করার কারণ কী?


57

আমি এখানে কী অনুপস্থিত তা ভেবে দেখার চেষ্টা করে আমি সত্যিই এডাব্লুএস এর আশেপাশে ঘুরছি। আমি এটি তৈরি করতে চাই যাতে কোনও আইএএম ব্যবহারকারী কোনও ফাইলগুলিকে কেবল সর্বজনীন না করে - এস 3 বালতি থেকে ফাইলগুলি ডাউনলোড করতে পারে - তবে আমি অ্যাক্সেস বঞ্চিত হচ্ছি। যদি কেউ স্পট করতে পারে তবে কী হবে তা বন্ধ করব be

আমি এ পর্যন্ত কী করেছি:

  • আমার ব্যবহারকারী হিসাবে একটি ব্যবহারকারী তৈরি করেছেন (উদাহরণস্বরূপ)
  • ব্যবহারকারীর জন্য অ্যাক্সেস কী তৈরি করেছে এবং এটিকে ইসি 2 ইভেন্টে ~ / .aws এ রাখে
  • একটি বালতি নীতি তৈরি করেছে যা আমি আশা করি আমার ব্যবহারকারীর জন্য অ্যাক্সেসের মঞ্জুরি দেব
  • কমান্ড চালান aws s3 cp --profile my-user s3://my-bucket/thing.zip .

বালতি নীতি:

{
  "Id": "Policy1384791162970",
  "Statement": [
    {
      "Sid": "Stmt1384791151633",
      "Action": [
        "s3:GetObject"
      ],
      "Effect": "Allow",
      "Resource": "arn:aws:s3:::my-bucket/*",
      "Principal": {
        "AWS": "arn:aws:iam::111122223333:user/my-user"
      }
    }
  ]
}

ফলাফলটি A client error (AccessDenied) occurred: Access Deniedযদিও আমি একই কমান্ড এবং ডিফল্ট (রুট অ্যাকাউন্ট?) অ্যাক্সেস কী ব্যবহার করে ডাউনলোড করতে পারি।

আমি পাশাপাশি ব্যবহারকারীর নীতি যুক্ত করার চেষ্টা করেছি। কেন এটি প্রয়োজনীয় হবে তা আমি জানি না, আমি ভেবেছিলাম এটি ক্ষতিগ্রস্থ হবে না, তাই আমি এটি আমার ব্যবহারকারীর সাথে সংযুক্ত করেছি।

{
  "Statement": [
    {
      "Sid": "Stmt1384889624746",
      "Action": "s3:*",
      "Effect": "Allow",
      "Resource": "arn:aws:s3:::my-bucket/*"
    }
  ]
}

একই ফলাফল।

উত্তর:


39

আমি এটির সাথেও লড়াই করে যাচ্ছিলাম তবে আমি এখানে একটি উত্তর পেয়েছি https://stackoverflow.com/a/17162973/1750869 যা আমার জন্য এই সমস্যাটি সমাধান করতে সহায়তা করেছিল। নীচে উত্তর পোস্ট করা।


আপনার সবার জন্য অনুমতি খোলার দরকার নেই। আইএএম ব্যবহারকারী ব্যবহার করে একটি বালতি থেকে অন্য অ্যাকাউন্টে অনুলিপি করার জন্য উত্স এবং গন্তব্যস্থলে নীচের বালতি নীতিগুলি ব্যবহার করুন

কপি থেকে বালতি - উত্সবাকেট

অনুলিপি করতে বালতি - গন্তব্যবুক

উত্স এডাব্লুএস অ্যাকাউন্ট আইডি - XXXX – XXXX-XXXX

উত্স আইএএম ব্যবহারকারী - src – iam- ব্যবহারকারী

নীচের নীতিটির অর্থ হল - আইএএম ব্যবহারকারী - এক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্সএক্স: এসআরসি – আইএএম-ব্যবহারকারীর এস 3: লিস্টবাকেট এবং এস 3: গেটঅবজেক্ট সুবিধাগুলি সোর্সবকেট / * এবং এস 3: লিস্টবুকিট এবং এস 3: ডেটিনেশনবকেট / * তে পুটবজেক্ট সুবিধা

উত্সবাকেটে নীতিটি এমন হওয়া উচিত:

{
"Id": "Policy1357935677554",
"Statement": [
    {
        "Sid": "Stmt1357935647218",
        "Action": [
            "s3:ListBucket"
        ],
        "Effect": "Allow",
        "Resource": "arn:aws:s3:::SourceBucket",
        "Principal": {"AWS": "arn:aws:iam::XXXXXXXXXXXX:user/src–iam-user"}
    },
    {
        "Sid": "Stmt1357935676138",
        "Action": ["s3:GetObject"],
        "Effect": "Allow",
        "Resource": "arn:aws:s3::: SourceBucket/*",
        "Principal": {"AWS": "arn:aws:iam::XXXXXXXXXXXX:user/src–iam-user"}
   }
]
}

গন্তব্যবাকেটে নীতিটি হওয়া উচিত:

{
"Id": "Policy1357935677554",
"Statement": [
    {
        "Sid": "Stmt1357935647218",
        "Action": [
            "s3:ListBucket"
        ],
        "Effect": "Allow",
        "Resource": "arn:aws:s3::: DestinationBucket",
        "Principal": {"AWS": "arn:aws:iam::XXXXXXXXXXXX:user/src–iam-user"}
    },
    {
        "Sid": "Stmt1357935676138",
        "Action": ["s3:PutObject"],
        "Effect": "Allow",
        "Resource": "arn:aws:s3::: DestinationBucket/*",
        "Principal": {"AWS": "arn:aws:iam::XXXXXXXXXXXX:user/src–iam-user"}
   }
]
}

কমান্ড চালানো হয় s3cmd cp s3://SourceBucket/File1 s3://DestinationBucket/File1


1
ওহে আল্লাহ, আপনি আমার নায়ক আমি কেবল বালতি স্তরে তালিকার তালিকার অনুমতি অনুপস্থিত ছিলাম। আমি এখনও জানি না যে কেন বালতি থেকে কোনও বস্তুর সিপি করার জন্য আমাকে এলএস দরকার, তবে তা ঠিক। সম্ভবত এটি আউস কমান্ডটি ব্যবহার করার এক গৌরব?
জোশ গাগনন

হ্যাঁ, এটি বেশ আশ্চর্যজনক। আপনি ভাবেন যে s3 এর একক নীতিমালা থাকা: * (তবে এটি যে অনিশ্চিত হতে পারে) স্যানিটি পরীক্ষার জন্য যথেষ্ট।
সার্জিও

এফএমএল, সেই তালিকাবকেটের অনুমতিের জন্য 2 দিন অপচয় করা। ভাল ক্যাচ
চক্কে

অনেক সময় ব্যয় .. এটি ছিল প্রয়োজনীয় উত্তর answer লিস্টবকেট - বালতি নাম, গেটোবজেক্ট - বালতি নাম / *
আরএসএমআরটি

12

যখন আমি একই সমস্যার মুখোমুখি হয়েছিলাম তখন এটি পরিণত হয়েছিল যে AWS সক্ষম করতে সার্ভার-সাইড এনক্রিপশন প্রয়োজন। সুতরাং নিম্নলিখিত কমান্ডটি আমার জন্য সফলভাবে কাজ করেছে:

aws s3 cp test.txt s3://my-s3-bucket --sse AES256

3
ধন্যবাদ! আমার ক্ষেত্রে এটি --sse aws:kmsবালতিটি "ডিফল্ট" ব্যবহার করা ছিল ...
মাইকেল ইউ

আপনি যদি অ-ডিফল্ট কেএমএস কী ব্যবহার করছেন তবে আপনাকে এটিও পাস করতে হবে: --sse-kms-key-id 0123-abc-etc তবে যে অংশটি পরিষ্কার নয় তা হ'ল আপনার নিজের কেএমএস কী ব্যবহার করার জন্য আপনার অবশ্যই আইএএম অনুমতি থাকতে kms:GenerateDataKeyহবে বা আপনি এখনও অ্যাক্সেস অস্বীকার করতে পারবেন।
ডিগারোক

ডাউনলোডটি সম্পর্কে প্রশ্নটি .. আপনি কোনও এনক্রিপ্ট হওয়া এস 3 এ আপলোড করছেন, অতএব কীটির প্রয়োজনীয়তা।
ইলহিকাস

4

আমি জেমস দ্বারা উল্লিখিত 'যে কোনও প্রমাণীকৃত এডাব্লুএস ব্যবহারকারী' বিকল্পের প্রস্তাব দেব না।

এটি করার ফলে একটি বালতি-স্তরের এসিএল যুক্ত হয় যা যে কোনও এডাব্লুএস অ্যাকাউন্টকে (কেবল আপনার আইএএম ব্যবহারকারীদের নয়) সেই বালতিটির জন্য তালিকা / মুছতে / সংশোধন-অ্যাক্সেসের অনুমতি দেয়।

অর্থ্যাৎ পাবলিক পঠন / আউজ অ্যাকাউন্টে যে কারও জন্য লিখুন।


আপনি কি এটি পরীক্ষা করেছেন? আমি এই ধারণাটির মধ্যে ছিলাম যে এডাব্লুএস অ্যাকাউন্টটি আসলে আমার সংস্থার সাথে যুক্ত কোনও সত্তা - অর্থাত্ কোনও ব্যবহারকারী, ইসি 2 উদাহরণ, আইএএম ভূমিকা, তবে ভিন্ন অ্যাকাউন্টের কেউ নয়। আমি ভুল হতে পারি, এবং আমি আমার অবদান সম্পাদনা করব এবং যদি বিষয়টি হয় তবে দ্রুত আমার বালতিগুলি নিরীক্ষণ করব। ধন্যবাদ।
জেমস ডানমোর

1
হা. এস 3 এসিএলে "প্রমাণীকৃত ব্যবহারকারী" গ্রান্টির অর্থ সমস্ত এডাব্লুএস অ্যাকাউন্ট রয়েছে S এটি স্বাক্ষরিত অনুরোধগুলি কার্যকর করে, তবে এর চেয়ে বেশি কিছুই না। এখানে একটি উল্লেখ রয়েছে: লিঙ্ক
অ্যান্ড্রু

3

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

আপডেট: মন্তব্যগুলিতে নির্দেশিত হিসাবে "যে কোনও প্রমাণীকৃত এডাব্লুএস ব্যবহারকারী" কেবল আপনার অ্যাকাউন্টে থাকা ব্যবহারকারীরা নয় এটি সমস্ত এডাব্লুএস অনুমোদনপ্রাপ্ত ব্যবহারকারী, দয়া করে সাবধানতার সাথে ব্যবহার করুন


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

আমি নিশ্চিত যে এটি - আমি কেবল জানি যে নীতি লেখার ব্যথা হতে পারে, সেই টিক বাক্সগুলি আপনাকে আরও কিছুটা দিতে পারে তবে একটি দ্রুত দ্রুত সমাধান
জেমস ডানমোর

2

এমনকি যদি আপনার আইএএম নীতিগুলি সঠিকভাবে সেট আপ করা থাকে, তবুও আপনি An error occurred (AccessDenied) when calling the <OPERATION-NAME> operation: Access Deniedআপনার শংসাপত্রগুলিতে এমএফএ (মাল্টি-ফ্যাক্টর প্রমাণীকরণ) প্রয়োজনীয়তার কারণে ত্রুটি পেতে পারেন । এগুলি আপনাকে রক্ষা করতে পারে কারণ আপনি যদি ইতিমধ্যে এডাব্লুএস কনসোলে লগইন করেছেন তবে এটি প্রদর্শিত হবে যে আপনার শংসাপত্রগুলি ঠিকঠাকভাবে কাজ করছে, এবং অ্যাউজস ক্লিমে প্রাপ্ত ত্রুটি বার্তার অনুমতিটি কার্যকর নয়।

ইতিমধ্যে ক্লাসের সাথে এমএফএ সেটআপ করার জন্য ইতিমধ্যে কয়েকটি ভাল নির্দেশাবলী রয়েছে:

মূলত, আপনার এমএফএ ডিভাইসের ঠিকানা পাওয়া দরকার এবং একটি অস্থায়ী টোকেন পেতে আপনার ডিভাইস থেকে কোড সহ এটিটি প্রেরণ করুন।


তুমি আমার দিন বাঁচাও ভাই!
shintaroid

ইয়াস, এটাই কারণ! আউটপুটে কেন এডাব্লুএস এই কারণটি দেখায় না?
tommy.qichang

0

আমি কেবলমাত্র ওয়েবইউআইতে গিয়ে বালতিতে ক্লিক করেছি, তারপরে অনুমতিতে গিয়ে নীতিতে চলেছি to আমি যখন এটি খুলি তখন আমি মুছে ফেলতে ক্লিক করেছি। আমি এটি করেছি কারণ আমি মনে করি এটি কনফিগারেশনও ছিল।

আমি মূল এস 3 পৃষ্ঠায় ফিরে গিয়ে বালতিতে ক্লিক করেছি এবং এটি মুছতে চেষ্টা করেছি এবং এটি কার্যকর হয়েছে।

এমনকি যখন আমি এটিস-ক্লিমে ব্যবহার করে করেছি

$ aws s3 rb s3://bucket-name --force  

যাইহোক, এটিই আমার পক্ষে কাজ করেছিল। অনুমতি সংক্রান্ত নীতি আপনাকে বালতি মুছতে বাধা দিচ্ছে।


0

একবার চালানোর চেষ্টা করে আমি এই ত্রুটিটি পেয়েছি:

aws s3 cp s3://[bucketName]/[fileName] .

এমন ফোল্ডারে যেখানে আমার অনুমতি নেই। এটি নির্বোধ, তবে নিশ্চিত হয়ে নিন যে আপনি যে ফোল্ডারে যাচ্ছেন তার মালিক হওয়ার আগে আপনি এগিয়ে যান!


0

আপনি যখন অবৈধ সংস্থান বা অবজেক্টের নাম সন্নিবেশ করান তখন সমস্যা দেখা দেয় b বোটো 3 নিয়ে আমার একই সমস্যা ছিল (আমার ক্ষেত্রে এটি অবৈধ বালতির নাম ছিল)

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