AWS Data Pipeline tidak lagi tersedia untuk pelanggan baru. Pelanggan yang sudah ada dari AWS Data Pipeline dapat terus menggunakan layanan seperti biasa. Pelajari selengkapnya
Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
IAM Role untuk AWS Data Pipeline
AWS Data Pipeline menggunakan peran AWS Identity and Access Management. Kebijakan izin yang dilampirkan ke IAM role menentukan tindakan AWS Data Pipeline dan aplikasi yang dapat dilakukan, dan sumber daya AWS apa yang dapat mereka akses. Untuk informasi lebih lanjut, lihat IAM role dalam Panduan Pengguna IAM.
AWS Data Pipeline membutuhkan dua IAM role:
-
Peran alur mengontrol akses AWS Data Pipeline ke sumber daya AWS Anda. Dalam definisi objek alur, bidang
role
menentukan peran ini. -
Peran instans EC2 mengontrol akses yang aplikasinya berjalan pada instans EC2, termasuk instans EC2 di klaster Amazon EMR, harus sumber daya AWS. Dalam definisi objek alur, bidang
resourceRole
menentukan peran ini.
penting
Jika Anda membuat alur sebelum 3 Oktober 2022 menggunakanAWS Data Pipeline konsol dengan peran default,AWS Data Pipeline membuatDataPipelineDefaultRole
untuk Anda dan melampirkan kebijakanAWSDataPipelineRole
terkelola untuk peran. Pada 3 Oktober 2022, kebijakanAWSDataPipelineRole
terkelola diusangkan dan peran alur harus ditentukan untuk alur saat menggunakan konsol.
Kami merekomendasikan bahwa Anda meninjau jaringan alur yang ada dan menentukan apakah DataPipelineDefaultRole
dikaitkan dengan alur dan apakah AWSDataPipelineRole
dilampirkan pada peran tersebut. Jika demikian, tinjau akses yang diizinkan kebijakan ini untuk memastikan sesuai dengan persyaratan keamanan Anda. Menambahkan, memperbarui, atau mengganti kebijakan dan pernyataan kebijakan yang melekat pada peran ini diperlukan. Atau, Anda dapat memperbarui alur untuk menggunakan peran yang Anda buat dengan kebijakan izin yang berbeda.
Contoh Kebijakan Izin untuk Peran AWS Data Pipeline
Setiap peran memiliki satu kebijakan izin atau lebih yang dilampirkan padanya yang menentukan sumber daya AWS yang dapat diakses peran tersebut dan tindakan yang dapat dilakukan peran tersebut. Topik ini menyediakan contoh kebijakan izin untuk peran alur. Hal ini juga menyediakan isi AmazonEC2RoleforDataPipelineRole
, yang merupakan kebijakan terkelola untuk peran default instans EC2, DataPipelineDefaultResourceRole
.
Contoh Kebijakan Izin Peran Alur
Contoh kebijakan yang berikut tercakup untuk memungkinkan fungsi-fungsi penting yang dibutuhkan AWS Data Pipeline untuk menjalankan alur dengan sumber daya Amazon EC2 dan Amazon EMR. Hal ini juga menyediakan izin untuk mengakses sumber daya AWS lainnya, seperti Amazon Simple Storage Service dan Amazon Simple Notification Service, yang diperlukan oleh alur. Jika objek didefinisikan dalam alur tidak memerlukan sumber daya dari AWS, kami sangat menyarankan agar Anda menghapus izin untuk mengakses layanan tersebut. Misalnya, jika alur Anda tidak mendefinisikan D ynamoDBData Simpul atau menggunakan tindakan SnsAlarm, kami sarankan Anda menghapus pernyataan izin untuk tindakan tersebut.
Ganti
dengan ID akun AWS Anda.111122223333
Ganti
dengan nama peran alur (peran yang dilampirkan kebijakan ini).NameOfDataPipelineRole
Ganti
dengan nama peran instans EC2.NameOfDataPipelineResourceRole
Ganti
dengan Wilayah yang sesuai untuk aplikasi Anda.us-west-1
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "iam:GetInstanceProfile", "iam:GetRole", "iam:GetRolePolicy", "iam:ListAttachedRolePolicies", "iam:ListRolePolicies", "iam:PassRole" ], "Resource": [ "arn:aws:iam::
111122223333
:role/NameOfDataPipelineRole
", "arn:aws:iam::111122223333
:role/NameOfDataPipelineResourceRole
" ] }, { "Effect": "Allow", "Action": [ "ec2:AuthorizeSecurityGroupEgress", "ec2:AuthorizeSecurityGroupIngress", "ec2:CancelSpotInstanceRequests", "ec2:CreateNetworkInterface", "ec2:CreateSecurityGroup", "ec2:CreateTags", "ec2:DeleteNetworkInterface", "ec2:DeleteSecurityGroup", "ec2:DeleteTags", "ec2:DescribeAvailabilityZones", "ec2:DescribeAccountAttributes", "ec2:DescribeDhcpOptions", "ec2:DescribeImages", "ec2:DescribeInstanceStatus", "ec2:DescribeInstances", "ec2:DescribeKeyPairs", "ec2:DescribeLaunchTemplates", "ec2:DescribeNetworkAcls", "ec2:DescribeNetworkInterfaces", "ec2:DescribePrefixLists", "ec2:DescribeRouteTables", "ec2:DescribeSecurityGroups", "ec2:DescribeSpotInstanceRequests", "ec2:DescribeSpotPriceHistory", "ec2:DescribeSubnets", "ec2:DescribeTags", "ec2:DescribeVpcAttribute", "ec2:DescribeVpcEndpoints", "ec2:DescribeVpcEndpointServices", "ec2:DescribeVpcs", "ec2:DetachNetworkInterface", "ec2:ModifyImageAttribute", "ec2:ModifyInstanceAttribute", "ec2:RequestSpotInstances", "ec2:RevokeSecurityGroupEgress", "ec2:RunInstances", "ec2:TerminateInstances", "ec2:DescribeVolumeStatus", "ec2:DescribeVolumes", "elasticmapreduce:TerminateJobFlows", "elasticmapreduce:ListSteps", "elasticmapreduce:ListClusters", "elasticmapreduce:RunJobFlow", "elasticmapreduce:DescribeCluster", "elasticmapreduce:AddTags", "elasticmapreduce:RemoveTags", "elasticmapreduce:ListInstanceGroups", "elasticmapreduce:ModifyInstanceGroups", "elasticmapreduce:GetCluster", "elasticmapreduce:DescribeStep", "elasticmapreduce:AddJobFlowSteps", "elasticmapreduce:ListInstances", "iam:ListInstanceProfiles", "redshift:DescribeClusters" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "sns:GetTopicAttributes", "sns:Publish" ], "Resource": [ "arn:aws:sns:us-west-1
:111122223333
:MyFirstSNSTopic", "arn:aws:sns:us-west-1
:111122223333
:MySecondSNSTopic", "arn:aws:sns:us-west-1
:111122223333
:AnotherSNSTopic" ] }, { "Effect": "Allow", "Action": [ "s3:ListBucket", "s3:ListMultipartUploads" ], "Resource": [ "arn:aws:s3:::MyStagingS3Bucket", "arn:aws:s3:::MyLogsS3Bucket", "arn:aws:s3:::MyInputS3Bucket", "arn:aws:s3:::MyOutputS3Bucket", "arn:aws:s3:::AnotherRequiredS3Buckets" ] }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectMetadata", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::MyStagingS3Bucket/*", "arn:aws:s3:::MyLogsS3Bucket/*", "arn:aws:s3:::MyInputS3Bucket/*", "arn:aws:s3:::MyOutputS3Bucket/*", "arn:aws:s3:::AnotherRequiredS3Buckets/*" ] }, { "Effect": "Allow", "Action": [ "dynamodb:Scan", "dynamodb:DescribeTable" ], "Resource": [ "arn:aws:dynamodb:us-west-1
:111122223333
:table/MyFirstDynamoDBTable", "arn:aws:dynamodb:us-west-1
:111122223333
:table/MySecondDynamoDBTable", "arn:aws:dynamodb:us-west-1
:111122223333
:table/AnotherDynamoDBTable" ] }, { "Effect": "Allow", "Action": [ "rds:DescribeDBInstances" ], "Resource": [ "arn:aws:rds:us-west-1
:111122223333
:db:MyFirstRdsDb", "arn:aws:rds:us-west-1
:111122223333
:db:MySecondRdsDb", "arn:aws:rds:us-west-1
:111122223333
:db:AnotherRdsDb" ] } ] }
Kebijakan Terkelola Default untuk Peran Instans EC2
Isi dari AmazonEC2RoleforDataPipelineRole
ditunjukkan di bawah ini. Ini adalah kebijakan terkelola yang melekat pada peran sumber daya default untuk AWS Data Pipeline, DataPipelineDefaultResourceRole
. Ketika Anda menentukan peran sumber daya untuk alur Anda, kami sarankan Anda mulai dengan kebijakan izin ini dan kemudian menghapus izin untuk tindakan layanan AWS yang tidak diperlukan.
Versi 3 dari kebijakan ditampilkan, yang merupakan versi terbaru pada saat penulisan ini. Lihat versi terbaru kebijakan menggunakan konsol IAM.
{ "Version": "2012-10-17", "Statement": [{ "Effect": "Allow", "Action": [ "cloudwatch:*", "datapipeline:*", "dynamodb:*", "ec2:Describe*", "elasticmapreduce:AddJobFlowSteps", "elasticmapreduce:Describe*", "elasticmapreduce:ListInstance*", "elasticmapreduce:ModifyInstanceGroups", "rds:Describe*", "redshift:DescribeClusters", "redshift:DescribeClusterSecurityGroups", "s3:*", "sdb:*", "sns:*", "sqs:*" ], "Resource": ["*"] }] }
Membuat IAM Role untuk AWS Data Pipeline dan Mengedit Izin Peran
Gunakan prosedur berikut untuk membuat peran untuk AWS Data Pipeline menggunakan konsol IAM. Prosesnya terdiri atas dua langkah. Pertama, Anda membuat kebijakan izin untuk dilampirkan ke peran tersebut. Selanjutnya, Anda membuat peran dan melampirkan kebijakan tersebut. Setelah membuat peran, Anda dapat mengubah izin peran dengan melampirkan dan memisahkan kebijakan izin.
catatan
Saat Anda membuat peran untuk AWS Data Pipeline menggunakan konsol seperti yang dijelaskan di bawah ini, IAM membuat dan melampirkan kebijakan kepercayaan yang sesuai yang diperlukan peran.
Untuk membuat kebijakan izin untuk digunakan dengan peran untuk AWS Data Pipeline
Buka konsol IAM di https://console.aws.amazon.com/iam/
. Pada panel navigasi, pilih Kebijakan, lalu pilih Buat kebijakan.
Pilih tab JSON.
Jika Anda menciptakan peran alur, salin dan tempelkan isi contoh kebijakan dalam Contoh Kebijakan Izin Peran Alur, mengedit sesuai dengan persyaratan keamanan Anda. Atau, jika Anda membuat peran instans EC2 kustom, lakukan hal yang sama untuk contoh di Kebijakan Terkelola Default untuk Peran Instans EC2.
Pilih Tinjau kebijakan.
Masukkan nama untuk kebijakan—misalnya,
MyDataPipelineRolePolicy
—dan sebuah pilihan Deskripsi, lalu pilih Buat kebijakan.Ingat nama kebijakan. Anda memerlukannya saat Anda membuat peran Anda.
Untuk membuat IAM role untuk AWS Data Pipeline
Buka konsol IAM di https://console.aws.amazon.com/iam/
. -
Di panel navigasi, pilih Peran, lalu pilih Buat peran.
Di bawah Pilih kasus penggunaan, pilih Data Pipeline.
Di bawah Pilih kasus penggunaan Anda, lakukan salah satu langkah berikut:
Pilih
Data Pipeline
untuk membuat peran alur.Pilih
EC2 Role for Data Pipeline
untuk membuat peran sumber daya.
Pilih Next: Permissions (Selanjutnya: Izin).
Jika kebijakan default untuk AWS Data Pipeline terdaftar, lanjutkan dengan langkah-langkah berikut untuk membuat peran dan kemudian mengeditnya sesuai dengan petunjuk dalam prosedur berikutnya. Jika tidak, masukkan nama kebijakan yang Anda buat dalam prosedur di atas, dan kemudian pilih dari daftar.
Pilih Berikutnya: Tanda, masukkan tanda apa pun untuk ditambahkan ke peran, lalu pilih Berikutnya: Ulasan.
Masukkan nama untuk peran—misalnya,
MyDataPipelineRole
—dan sebuah pilihan Deskripsi, lalu pilih Buat peran.
Untuk melampirkan atau melepaskan kebijakan izin untuk IAM role untuk AWS Data Pipeline
-
Buka konsol IAM di https://console.aws.amazon.com/iam/
. Di panel navigasi, pilih Peran
Di kotak pencarian, mulailah mengetik nama peran yang ingin Anda edit—misalnya, DataPipelineDefaultRoleatau MyDataPipelineRole—lalu pilih nama Peran dari daftar.
-
Di tab Izin, lakukan hal berikut:
Untuk melepaskan kebijakan izin, di bawah Kebijakan izin, pilih tombol hapus di ujung kanan entri kebijakan. Pilih Lepaskan saat diminta untuk mengonfirmasi.
Untuk melampirkan kebijakan yang Anda buat sebelumnya, pilih Lampirkan kebijakan. Di kotak pencarian, mulai ketik nama kebijakan yang ingin Anda edit, pilih dari daftar, lalu pilih Lampirkan kebijakan.
Mengubah Peran untuk Alur yang sudah Ada
Jika Anda ingin menetapkan peran alur atau peran sumber daya yang berbeda ke alur, Anda dapat menggunakan editor arsitek di konsol AWS Data Pipeline.
Untuk mengedit peran yang ditetapkan ke alur menggunakan konsol
-
Buka konsol AWS Data Pipeline tersebut di https://console.aws.amazon.com/datapipeline/
. -
Pilih alur dari daftar, lalu pilih Tindakan, Edit.
-
Di panel kanan editor arsitek, pilih Lainnya.
Dari Peran Sumber Daya dan daftar Peran, pilih peran untuk AWS Data Pipeline yang ingin Anda tetapkan, dan kemudian pilih Simpan.