Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengizinkan AWS OpsWorks Tumpukan untuk Bertindak Atas Nama Anda
penting
AWS OpsWorks Stacks Layanan ini mencapai akhir masa pakai pada 26 Mei 2024 dan telah dinonaktifkan untuk pelanggan baru dan yang sudah ada. Kami sangat menyarankan pelanggan untuk memindahkan beban kerja mereka ke solusi lain sesegera mungkin. Jika Anda memiliki pertanyaan tentang migrasi, hubungi AWS Support Tim di AWS re:Post
AWS OpsWorks Stacks perlu berinteraksi dengan berbagai layanan AWS atas nama Anda. Misalnya, AWS OpsWorks Stacks berinteraksi dengan Amazon EC2 untuk membuat instans dan dengan CloudWatch Amazon untuk mendapatkan statistik pemantauan. Saat Anda membuat tumpukan, Anda menentukan peran IAM, biasanya disebut peran layanan, yang memberikan AWS OpsWorks Stacks izin yang sesuai.
Saat menentukan peran layanan tumpukan baru, Anda dapat melakukan salah satu hal berikut:
-
Tentukan peran layanan standar yang Anda buat sebelumnya.
Anda biasanya dapat membuat peran layanan standar saat membuat tumpukan pertama, dan kemudian menggunakan peran itu untuk semua tumpukan berikutnya.
-
Tentukan peran layanan kustom yang Anda buat menggunakan konsol IAM atau API.
Pendekatan ini berguna jika Anda ingin memberikan AWS OpsWorks Stacks izin yang lebih terbatas daripada peran layanan standar.
catatan
Untuk membuat tumpukan pertama Anda, Anda harus memiliki izin yang ditentukan dalam template AdministratorAccesskebijakan IAM. Izin ini memungkinkan AWS OpsWorks Stacks untuk membuat peran layanan IAM baru dan memungkinkan Anda untuk mengimpor pengguna, seperti yang dijelaskan sebelumnya. Untuk semua tumpukan berikutnya, pengguna dapat memilih peran layanan yang dibuat untuk tumpukan pertama; mereka tidak memerlukan izin administratif penuh untuk membuat tumpukan.
Peran layanan standar memberikan izin berikut:
-
Lakukan semua tindakan Amazon EC2 ()
ec2:*
. -
Dapatkan CloudWatch statistik (
cloudwatch:GetMetricStatistics
). -
Gunakan Elastic Load Balancing untuk mendistribusikan lalu lintas ke server ()
elasticloadbalancing:*
. -
Gunakan instance Amazon RDS sebagai server database (
rds:*
). -
Gunakan peran IAM (
iam:PassRole
) untuk menyediakan komunikasi yang aman antara AWS OpsWorks Stacks dan instans Amazon EC2 Anda.
Jika Anda membuat peran layanan kustom, Anda harus memastikan bahwa itu memberikan semua izin yang dibutuhkan AWS OpsWorks Stacks untuk mengelola tumpukan Anda. Contoh JSON berikut adalah pernyataan kebijakan untuk peran layanan standar; peran layanan kustom harus menyertakan setidaknya izin berikut dalam pernyataan kebijakannya.
{ "Version": "2012-10-17", "Statement": [ { "Action": [ "ec2:*", "iam:PassRole", "cloudwatch:GetMetricStatistics", "cloudwatch:DescribeAlarms", "ecs:*", "elasticloadbalancing:*", "rds:*" ], "Effect": "Allow", "Resource": [ "*" ], "Condition": { "StringEquals": { "iam:PassedToService": "ec2.amazonaws.com" } } } ] }
Peran layanan juga memiliki hubungan kepercayaan. Peran layanan yang dibuat oleh AWS OpsWorks Stacks memiliki hubungan kepercayaan berikut.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "StsAssumeRole", "Effect": "Allow", "Principal": { "Service": "opsworks.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
Peran layanan harus memiliki hubungan kepercayaan ini agar AWS OpsWorks Stacks bertindak atas nama Anda. Jika Anda menggunakan peran layanan default, jangan mengubah hubungan kepercayaan. Jika Anda membuat peran layanan kustom, tentukan hubungan kepercayaan dengan melakukan salah satu hal berikut:
-
Jika Anda menggunakan wizard Buat peran di konsol IAM
, di Pilih kasus penggunaan, pilih OPSWORKS. Peran ini memiliki hubungan kepercayaan yang sesuai, tetapi tidak ada kebijakan yang dilampirkan secara implisit. Untuk memberikan izin AWS OpsWorks Stacks untuk bertindak atas nama Anda, buat kebijakan yang dikelola pelanggan yang berisi hal-hal berikut, dan lampirkan ke peran baru. { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloudwatch:DescribeAlarms", "cloudwatch:GetMetricStatistics", "ec2:*", "ecs:*", "elasticloadbalancing:*", "iam:GetRolePolicy", "iam:ListInstanceProfiles", "iam:ListRoles", "iam:ListUsers", "rds:*" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": "*", "Condition": { "StringEquals": { "iam:PassedToService": "ec2.amazonaws.com" } } } ] }
-
Jika Anda menggunakan AWS CloudFormation template, Anda dapat menambahkan sesuatu seperti berikut ini ke bagian Sumber Daya template Anda.
"Resources": { "OpsWorksServiceRole": { "Type": "AWS::IAM::Role", "Properties": { "AssumeRolePolicyDocument": { "Statement": [ { "Effect": "Allow", "Principal": { "Service": [ "opsworks.amazonaws.com" ] }, "Action": [ "sts:AssumeRole" ] } ] }, "Path": "/", "Policies": [ { "PolicyName": "opsworks-service", "PolicyDocument": { ... } ] } }, } }