জিএসইটি থেকে জিএসটিএল অনুলিপি "অ্যাক্সেসডিনিডএক্সপশন: 403 অপর্যাপ্ত অনুমতি" ফেরত


90

আমি এসএসএইচ এর মাধ্যমে একটি জিসিই ইনস্ট্যান্সে লগ ইন করেছি। সেখান থেকে আমি কোনও পরিষেবা অ্যাকাউন্টের সহায়তায় স্টোরেজ অ্যাক্সেস করতে চাই:

GCE> gcloud auth list
Credentialed accounts:
 - 1234567890-compute@developer.gserviceaccount.com (active)

আমি প্রথমে নিশ্চিত হয়েছি যে আমি যে প্রকল্পে কাজ করছি তার অনুমতিতে এই পরিষেবা অ্যাকাউন্টটি "সম্পাদনা করতে পারে" ফ্ল্যাগ করা হয়েছে। আমি বালতিতে তাকে লিখিত এসিএল দেওয়ার বিষয়টিও নিশ্চিত করেছিলাম যাতে আমি একটি ফাইল অনুলিপি করতে চাই:

local> gsutil acl ch -u 1234567890-compute@developer.gserviceaccount.com:W gs://mybucket

তবে নিম্নলিখিত কমান্ডটি ব্যর্থ:

GCE> gsutil cp test.txt gs://mybucket/logs

(আমি এটিও নিশ্চিত করেছিলাম যে "লগগুলি" "মাইবকেট" এর অধীনে তৈরি হয়েছে)।

আমার কাছে পাওয়া ত্রুটি বার্তাটি হ'ল:

Copying file://test.txt [Content-Type=text/plain]...
AccessDeniedException: 403 Insufficient Permission               0 B  

আমি কী মিস করছি?


7
জিসিই ভিএম কি সম্পূর্ণ নিয়ন্ত্রণ দিয়ে তৈরি হয়েছিল বা জিএসএস স্কোপটি পড়তে / লিখতে তৈরি হয়েছিল?
জেটেরেস

4
এটি নির্দেশ করার জন্য আপনাকে ধন্যবাদ। আমি আসলে এই বিকল্প সম্পর্কে সচেতন ছিল না। বিকল্পটি সক্ষম হয়ে আমি পুনরায় তৈরি করেছি এবং এটি কার্যকর হয়েছে। যদি আপনি উত্তর হিসাবে পতাকাটি চালু করার পরামর্শ দিতে পারেন তবে আমি আনন্দের সাথে এটি পতাকাঙ্কিত করব।
ক্রিস্টোফ

উত্তর:


136

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

উদাহরণস্বরূপ, আপনি যদি devstorage.read_onlyস্কোপ দিয়ে আপনার ভিএম তৈরি করে থাকেন , বালতিতে লেখার চেষ্টা করা ব্যর্থ হয়ে যায়, এমনকি যদি আপনার পরিষেবা অ্যাকাউন্টে বালতিতে লেখার অনুমতি রয়েছে। আপনার প্রয়োজন হবে devstorage.full_controlবা devstorage.read_write

বিশদের জন্য পরিষেবা অ্যাকাউন্টগুলি ব্যবহার করার জন্য একটি উদাহরণ প্রস্তুত করার বিভাগটি দেখুন ।

দ্রষ্টব্য: ডিফল্ট গণনা পরিষেবা অ্যাকাউন্টটির খুব সীমাবদ্ধ স্কোপ রয়েছে (কেবলমাত্র জিসিএসে কেবল পঠনযোগ্য হওয়া সহ)। এটি করা হয়েছে কারণ ডিফল্ট পরিষেবা অ্যাকাউন্টে প্রকল্প সম্পাদক আইএএম অনুমতি রয়েছে। আপনি যদি কোনও ব্যবহারকারীর পরিষেবা অ্যাকাউন্ট ব্যবহার করেন তবে এটি সাধারণত কোনও সমস্যা নয় কারণ ব্যবহারকারী তৈরি পরিষেবা অ্যাকাউন্টগুলি ডিফল্টরূপে সমস্ত সুযোগ অ্যাক্সেস পায়।

ভিএম-তে প্রয়োজনীয় স্কোপ যুক্ত করার পরে, gsutilএখনও ক্যাশেড শংসাপত্রগুলি ব্যবহার করা হতে পারে যার মধ্যে নতুন স্কোপ নেই। ~/.gsutilআবার gsutil কমান্ড চেষ্টা করার আগে মুছুন । (মন্তব্যে এটি উল্লেখ করার জন্য @ মেন্ড্রিক্সকে ধন্যবাদ।)


4
আমি অনুমতি সহ আমার উদাহরণটি পুনরায় তৈরি করেছি এবং এটি এখন কার্যকর হয়। ধন্যবাদ
16'6

33
এখন পর্যন্ত, আপনি স্কোপগুলি সম্পাদনা করতে পারেন। মেশিনটি থামান - সম্পাদনা করুন - তারপরে ক্লাউড এপিআই অ্যাক্সেস স্কোপগুলি পরিবর্তন করুন। আমি বিশ্বাস করি এটি এখন প্রায় এক মাসের জন্য উপলব্ধ।
ওয়ারেন

146
ভিএম-তে প্রয়োজনীয় স্কোপগুলি যুক্ত করার পরে, gsutilএখনও ক্যাশেড শংসাপত্রগুলি ব্যবহার করা হতে পারে যার মধ্যে নতুন স্কোপ নেই। gsutilকমান্ডগুলি আবার চেষ্টা করার আগে ~ / .gsutil মুছুন ।
mndrix

4
আপনাকে অনেক ধন্যবাদ mndrix!
গিলারমো

4
@ মেন্ড্রিক্স দিনটি বাঁচায়
বেন গিল্ড

51

আপনাকে এমন একাউন্ট দিয়ে লগ ইন করতে হবে যা আপনাকে এই প্রকল্পের জন্য প্রয়োজনীয় অনুমতি রয়েছে:

gcloud auth login

4
gcloud auth revoke <email-account>আপনি শেষ করার পরে ইস্যু করতে ভুলবেন না ।
ssasa

51

gsutil config -b

তারপরে এটি সরবরাহ করে এমন URL- এ সার্ফ করুন , [অনুমতি দিন ক্লিক করুন]

তারপরে যাচাইকরণ কোডটি অনুলিপি করুন এবং টার্মিনালে পেস্ট করুন।


মনে রাখবেন আপনি চালাতে এই কাজ করে না gsutilথেকে ssh
bfontaine

4
এটি এখন পর্যন্ত আপনার ব্রাউজারটি না খোলায় "কাজ করে না"। পরিবর্তে, এটি ম্যানুয়ালি অনুলিপি এবং পেস্ট করার জন্য এটি একটি url সরবরাহ করে।
বুভিন জে

6
আপনি যদি বাদ দেন তবে এটি-b সবার জন্যও দুর্দান্ত কাজ করে । এটি কোনও ব্রাউজার খুলবে না, তবে খোলার বাইরে খোলা যেতে পারে এমন একটি ইউআরএল কেবল ছিটিয়ে দেবে।
অলিগোফ্রেন

9
  1. ভিএম বন্ধ করুন
  2. পেয়েছি -> ভিএম উদাহরণ বিশদ।
  3. "ক্লাউড এপিআই অ্যাক্সেস স্কোপস" এ "সমস্ত ক্লাউড এপিআইতে সম্পূর্ণ অ্যাক্সেসের অনুমতি দিন" নির্বাচন করুন এবং তারপরে "সংরক্ষণ করুন" ক্লিক করুন।
  4. ভিএম পুনরায় চালু করুন এবং ~ / .gsutil মুছুন।


8

আমি মন্তব্য পোস্ট করতে পারি না বলে আমি এই প্রশ্নের উত্তর লিখেছি:

আপনি যদি কিছু ক্ষেত্রে gsutilএকটি sudoউপসর্গ দিয়ে কমান্ড চালাচ্ছেন তবে এই ত্রুটিটিও ঘটতে পারে ।


4
এটি আসলে একটি মন্তব্য, উত্তর নয়। আরও কিছুটা প্রতিনিধির সাথে আপনি মন্তব্য পোস্ট করতে সক্ষম হবেন
লেস

4
আমি উত্তরটি (+1) দিয়েছি যাতে @LoneDeranger 'পোস্ট মন্তব্য' সুযোগের সুনামের সাথে আরও ঘনিষ্ঠ হবে।
রন লিফশিটস

3
  1. আপনি বালতিটি তৈরি করার পরে অনুমতি ট্যাবে যান এবং আপনার ইমেল যুক্ত করুন এবং স্টোরেজ প্রশাসনের অনুমতি সেট করুন ।

স্ক্রিনশট

  1. এসএসএইচ এর মাধ্যমে ভিএম উদাহরণ অ্যাক্সেস করুন >> কমান্ড চালান: gcloud auth loginএবং পদক্ষেপগুলি অনুসরণ করুন।

রেফ: https://groups.google.com/d/msg/gce-discussion/0L6sLRjX8kg/kP47FklzBgAJ


2

তাই আমি জিএসএস বালতি থেকে আমার ভিএম-তে অনুলিপি করার চেষ্টা করেছিলাম things আশা করি এই পোস্টটি কাউকে সাহায্য করবে।

এসএসএইচড সংযোগের মাধ্যমে: এখানে চিত্র বর্ণনা লিখুন

এবং এই স্ক্রিপ্ট অনুসরণ:

sudo gsutil cp gs://[BUCKET_NAME]/[OBJECT_NAME] [OBJECT_DESTINATION_IN_LOCAL]

এই ত্রুটিটি পেয়েছেন:

অ্যাক্সেসডিনিডএক্সেপশন: 403 অ্যাক্সেস কনফিগার করা হয়নি। আপনার প্রকল্পের জন্য দয়া করে গুগল ক্লাউড প্ল্যাটফর্ম কনসোল ( https://cloud.google.com/console#/project ) এ যান, এপিআই এবং আথ নির্বাচন করুন এবং গুগল ক্লাউড স্টোরেজ জেএসএন এপিআই সক্ষম করুন।

এই লিঙ্কটিতে উল্লিখিত "এপিআই সক্রিয়করণ" বিভাগ অনুসরণ করে এটি কী ঠিক করেছিল - https://cloud.google.com/storage/docs/json_api/

এখানে চিত্র বর্ণনা লিখুন

আমি একবার এপিআই সক্রিয় করেছি তারপরে আমি এসএসএইচডি উইন্ডোতে নিজেকে প্রমাণীকরণ করেছি

gcloud auth login

প্রমাণীকরণের পদ্ধতি অনুসরণ করে আমি শেষ পর্যন্ত গুগল স্টোরেজ বালতি থেকে আমার ভিএম এ ডাউনলোড করতে সক্ষম হয়েছি।

পুনশ্চ

আমি নিশ্চিত করেছিলাম:

  1. নিশ্চিত হয়ে নিন যে আমার ভিএম উদাহরণে জসুইটগুলি ইনস্টল করা আছে।
  2. আমার বালতিতে যান, অনুমতি ট্যাবে যান এবং পছন্দসই পরিষেবা অ্যাকাউন্ট যুক্ত করুন এবং স্টোরেজ প্রশাসনের অনুমতি / ভূমিকা সেট করুন। এখানে চিত্র বর্ণনা লিখুন

    ৩. নিশ্চিত করুন যে আমার ভিএম-এর যথাযথ ক্লাউড এপিআই অ্যাক্সেস স্কোপ রয়েছে: এখানে চিত্র বর্ণনা লিখুন

এখানে চিত্র বর্ণনা লিখুন


1

দস্তাবেজগুলি থেকে: https://cloud.google.com/compute/docs/access/create-enable-service-accounts-for-inferences

আপনাকে প্রথমে উদাহরণটি বন্ধ করতে হবে -> পৃষ্ঠা সম্পাদনা করতে যান -> "ক্লাউড এপিআই অ্যাক্সেস স্কোপস" এ যান এবং "স্টোরেজ সম্পূর্ণ অ্যাক্সেস বা পড়ুন / লিখুন বা যা আপনার প্রয়োজন হয় তা চয়ন করুন"

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

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


0

বালতির অনুমতি পরিবর্তন করুন।

"সমস্ত ব্যবহারকারীর" জন্য একটি ব্যবহারকারী যুক্ত করুন এবং "স্টোরেজ অ্যাডমিন" অ্যাক্সেস দিন।

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