ইসি 2 আইএএম রোলকে এস 3 বালতিতে পঠিত অ্যাক্সেস দিন


10

আমার কাছে একটি এডাব্লুএস ইলাস্টিক বিয়ানস্টালক রেলস অ্যাপ্লিকেশন রয়েছে যা আমি এস 3 বালতি থেকে কিছু ফাইল টানতে কনফিগার স্ক্রিপ্টের মাধ্যমে কনফিগার করছি। আমি যখন অ্যাপ্লিকেশনটি শুরু করব তখন লগগুলিতে আমি নিম্নলিখিত ত্রুটিটি পেয়েছি ( বালতির নাম সুরক্ষার জন্য পরিবর্তন করা হয়েছে ):

Failed to retrieve https://s3.amazonaws.com/my.bucket/bootstrap.sh: HTTP Error 403 : <?xml version="1.0" encoding="UTF-8"?>
<Error><Code>AccessDenied</Code><Message>Access Denied</Message>

কনফিগার ফাইল:

packages:
  yum:
    git: []

files:
  /opt/elasticbeanstalk/hooks/appdeploy/pre/01a_bootstrap.sh:
    mode: "00755"
    owner: root
    group: root
    source: https://s3.amazonaws.com/my.bucket/bootstrap.sh

ইলাস্টিক বিয়ানস্টাল্ক পরিবেশটি aws-elasticbeanstalk-ec2-roleআইএএম র ভূমিকা হিসাবে এটির ভূমিকা হিসাবে সেটআপ হয় । এই ভূমিকার নিম্নোক্ত নীতি রয়েছে:

{
  "Version": "2012-10-17",
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "s3:Get*",
        "s3:List*"
      ],
      "Resource": "arn:aws:s3:::my.bucket/*"
    }
  ]
}

এবং এস 3 বালতিতে নীচের নীতি রয়েছে:

{
"Version": "2008-10-17",
"Statement": [
    {
        "Sid": "Stmt1371012493903",
        "Effect": "Allow",
        "Principal": {
            "AWS": "arn:aws:iam::<account #>:role/aws-elasticbeanstalk-ec2-role"
        },
        "Action": [
            "s3:List*",
            "s3:Get*"
        ],
        "Resource": "arn:aws:s3:::my.bucket/*"
    }
]
}

আমার এসি বালতিতে আমার ইসি 2 দৃষ্টান্ত অ্যাক্সেস দেওয়ার জন্য আমার কী পরিবর্তন করতে হবে?

উত্তর:


6

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

curl http://169.254.169.254/latest/meta-data/iam/security-credentials/<your-iam-role-name>

তারপরে আপনি আপনার এস 3 বালতি অ্যাক্সেসের জন্য সরবরাহিত অ্যাক্সেস এবং গোপন কীটি ব্যবহার করবেন।


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

2
আপনি কীভাবে এস 3 বালতি অ্যাক্সেস করতে অ্যাক্সেস এবং গোপন কী ব্যবহার করবেন? আপনার কি উদাহরণ আছে? চিয়ার্স
ক্যালিন অসুর্ড

0

যদি এটি ক্রস অ্যাকাউন্টগুলিতে অ্যাক্সেস করে থাকে তবে তা এখানে বর্ণিত এসিএল হেডারগুলির সাথে সম্পর্কিত নয় তা পরীক্ষা করুন: https://stackoverflow.com/a/34055538/1736679 (এই ইস্যু থ্রেডে আরও তথ্য: https://github.com/aws/aws -সি / ইস্যু / 1674 )

এছাড়াও যে পরিবেশ / ব্যবহারকারীর কাছ থেকে আপনি চালাচ্ছেন তা দুবার পরীক্ষা করে দেখুন যে কোনও ওভাররাইড কী (1AWS_ACCESS_KEY1, ইত্যাদি) নেই /etc/environmentবা এতে নেই~/.aws/credentials

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