Langkah 3: Lampirkan kebijakan ke pengguna atau grup yang mengakses AWS Glue - AWS Glue

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Langkah 3: Lampirkan kebijakan ke pengguna atau grup yang mengakses AWS Glue

Administrator harus menetapkan izin untuk setiap pengguna, grup, atau peran menggunakan AWS Glue konsol atau AWS Command Line Interface ()AWS CLI. Anda memberikan izin tersebut dengan menggunakan AWS Identity and Access Management (IAM), melalui kebijakan. Langkah ini menjelaskan penetapan izin kepada pengguna atau grup.

Ketika Anda menyelesaikan langkah ini, pengguna atau grup Anda memiliki kebijakan berikut yang dilampirkan:

  • Kebijakan AWS terkelola AWSGlueConsoleFullAccess atau kebijakan kustom GlueConsoleAccessPolicy

  • AWSGlueConsoleSageMakerNotebookFullAccess

  • CloudWatchLogsReadOnlyAccess

  • AWSCloudFormationReadOnlyAccess

  • AmazonAthenaFullAccess

Untuk melampirkan kebijakan inline dan menyematkannya di pengguna atau grup

Anda dapat melampirkan kebijakan AWS terkelola atau kebijakan sebaris ke pengguna atau grup untuk mengakses AWS Glue konsol. Beberapa sumber daya yang ditentukan dalam kebijakan ini merujuk ke nama default yang digunakan oleh AWS Glue bucket Amazon S3, skrip ETL Amazon S3, Log CloudWatch , dan sumber daya Amazon EC2. AWS CloudFormation Sederhananya, AWS Glue menulis beberapa objek Amazon S3 ke dalam bucket di akun Anda yang mempunyai prefiks dengan aws-glue-* secara default.

catatan

Anda dapat melewati langkah ini jika menggunakan kebijakan AWS terkelola AWSGlueConsoleFullAccess.

penting

AWS Glue memerlukan izin untuk mengambil peran yang digunakan untuk melakukan tugas atas nama Anda. Untuk mencapai hal ini, Anda menambahkan iam:PassRole izin ke AWS Glue pengguna atau grup Anda. Kebijakan ini memberikan izin untuk peran yang dimulai dengan AWSGlueServiceRole untuk peran layanan AWS Glue, dan AWSGlueServiceNotebookRole untuk peran yang diperlukan saat Anda membuat server notebook. Anda juga dapat membuat kebijakan Anda sendiri untuk izin iam:PassRole yang mengikuti konvensi penamaan Anda.

Sesuai praktik keamanan terbaik, disarankan untuk membatasi akses dengan memperketat kebijakan untuk lebih membatasi akses ke bucket Amazon S3 dan grup log Amazon CloudWatch. Untuk contoh kebijakan Amazon S3, lihat Menulis Kebijakan IAM: Cara Memberikan Akses ke Bucket Amazon S3.

Pada langkah ini, Anda membuat sebuah kebijakan yang mirip dengan AWSGlueConsoleFullAccess. Anda dapat menemukan versi terbaru AWSGlueConsoleFullAccess pada konsol IAM.

  1. Masuk ke AWS Management Console dan buka konsol IAM di https://console.aws.amazon.com/iam/.

  2. Di panel navigasi, pilih Pengguna atau Grup pengguna.

  3. Dalam daftar, pilih nama pengguna atau grup untuk menyematkan kebijakan.

  4. Pilih tab Izin dan, jika diperlukan, perluas bagian Kebijakan izin.

  5. Pilih tautan Tambahkan kebijakan inline.

  6. Pada layar Buat kebijakan, navigasikan ke tab untuk mengedit JSON. Buat sebuah dokumen kebijakan dengan pernyataan JSON berikut, dan kemudian pilih Tinjau kebijakan.

    { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "glue:*", "redshift:DescribeClusters", "redshift:DescribeClusterSubnetGroups", "iam:ListRoles", "iam:ListUsers", "iam:ListGroups", "iam:ListRolePolicies", "iam:GetRole", "iam:GetRolePolicy", "iam:ListAttachedRolePolicies", "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeVpcs", "ec2:DescribeVpcEndpoints", "ec2:DescribeRouteTables", "ec2:DescribeVpcAttribute", "ec2:DescribeKeyPairs", "ec2:DescribeInstances", "rds:DescribeDBInstances", "rds:DescribeDBClusters", "rds:DescribeDBSubnetGroups", "s3:ListAllMyBuckets", "s3:ListBucket", "s3:GetBucketAcl", "s3:GetBucketLocation", "cloudformation:DescribeStacks", "cloudformation:GetTemplateSummary", "dynamodb:ListTables", "kms:ListAliases", "kms:DescribeKey", "cloudwatch:GetMetricData", "cloudwatch:ListDashboards" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:PutObject" ], "Resource": [ "arn:aws:s3:::*/*aws-glue-*/*", "arn:aws:s3:::aws-glue-*" ] }, { "Effect": "Allow", "Action": [ "tag:GetResources" ], "Resource": [ "*" ] }, { "Effect": "Allow", "Action": [ "s3:CreateBucket", "s3:PutBucketPublicAccessBlock" ], "Resource": [ "arn:aws:s3:::aws-glue-*" ] }, { "Effect": "Allow", "Action": [ "logs:GetLogEvents" ], "Resource": [ "arn:aws:logs:*:*:/aws-glue/*" ] }, { "Effect": "Allow", "Action": [ "cloudformation:CreateStack", "cloudformation:DeleteStack" ], "Resource": "arn:aws:cloudformation:*:*:stack/aws-glue*/*" }, { "Effect": "Allow", "Action": [ "ec2:RunInstances" ], "Resource": [ "arn:aws:ec2:*:*:instance/*", "arn:aws:ec2:*:*:key-pair/*", "arn:aws:ec2:*:*:image/*", "arn:aws:ec2:*:*:security-group/*", "arn:aws:ec2:*:*:network-interface/*", "arn:aws:ec2:*:*:subnet/*", "arn:aws:ec2:*:*:volume/*" ] }, { "Action": [ "iam:PassRole" ], "Effect": "Allow", "Resource": "arn:aws:iam::*:role/AWSGlueServiceRole*", "Condition": { "StringLike": { "iam:PassedToService": [ "glue.amazonaws.com" ] } } }, { "Action": [ "iam:PassRole" ], "Effect": "Allow", "Resource": "arn:aws:iam::*:role/AWSGlueServiceNotebookRole*", "Condition": { "StringLike": { "iam:PassedToService": [ "ec2.amazonaws.com" ] } } }, { "Action": [ "iam:PassRole" ], "Effect": "Allow", "Resource": [ "arn:aws:iam::*:role/service-role/AWSGlueServiceRole*" ], "Condition": { "StringLike": { "iam:PassedToService": [ "glue.amazonaws.com" ] } } } ] }

    Tabel berikut menjelaskan izin yang diberikan oleh kebijakan ini.

    Aksi Sumber Deskripsi

    "glue:*"

    "*"

    Pemberian izin untuk menjalankan semua operasi API AWS Glue.

    Jika sebelumnya Anda telah membuat kebijakan Anda tanpa tindakan "glue:*", maka Anda harus menambahkan izin individu berikut ke kebijakan Anda:

    • “lem:ListCrawlers”

    • “lem:BatchGetCrawlers”

    • “lem:ListTriggers”

    • “lem:BatchGetTriggers”

    • “lem:ListDevEndpoints”

    • “lem:BatchGetDevEndpoints”

    • “lem:ListJobs”

    • “lem:BatchGetJobs”

    "redshift:DescribeClusters", "redshift:DescribeClusterSubnetGroups"

    "*"

    Memungkinkan pembuatan koneksi ke Amazon Redshift.

    "iam:ListRoles", "iam:ListRolePolicies", "iam:GetRole", "iam:GetRolePolicy", "iam:ListAttachedRolePolicies"

    "*"

    Memungkinkan pencantuman IAM role saat bekerja dengan crawler, tugas, titik akhir pengembangan, dan server notebook.

    "ec2:DescribeSecurityGroups", "ec2:DescribeSubnets", "ec2:DescribeVpcs", "ec2:DescribeVpcEndpoints", "ec2:DescribeRouteTables", "ec2:DescribeVpcAttribute", "ec2:DescribeKeyPairs", "ec2:DescribeInstances"

    "*"

    Memungkinkan setup item jaringan Amazon EC2, seperti VPC, saat menjalankan tugas, crawler, dan titik akhir pengembangan.

    "rds:DescribeDBInstances"

    "*"

    Memungkinkan pembuatan koneksi ke Amazon RDS.

    "s3:ListAllMyBuckets", "s3:ListBucket", "s3:GetBucketAcl", "s3:GetBucketLocation"

    "*"

    Memungkinkan pencantuman bucket Amazon S3 saat bekerja dengan crawler, tugas, titik akhir pengembangan, dan server notebook.

    "dynamodb:ListTables"

    "*"

    Memungkinkan pencantuman tabel DynamoDB.

    "kms:ListAliases", "kms:DescribeKey"

    "*"

    Memungkinkan bekerja dengan kunci KMS.

    "cloudwatch:GetMetricData", "cloudwatch:ListDashboards"

    "*"

    Memungkinkan bekerja dengan CloudWatch metrik.

    "s3:GetObject", "s3:PutObject"

    "arn:aws:s3::: aws-glue-*/*", "arn:aws:s3::: */*aws-glue-*/*", "arn:aws:s3::: aws-glue-*"

    Memungkinkan untuk mendapatkan dan menempatkan objek Amazon S3 ke akun Anda ketika menyimpan objek seperti skrip ETL dan lokasi server notebook.

    Konvensi penamaan: Pemberian izin untuk bucket Amazon S3 atau folder yang namanya menggunakan prefiks aws-glue-.

    "tag:GetResources"

    "*"

    Memungkinkan pengambilan tag AWS.

    "s3:CreateBucket", "s3:PutBucketPublicAccessBlock"

    "arn:aws:s3::: aws-glue-*"

    Memungkinkan pembuatan sebuah bucket Amazon S3 ke akun Anda saat menyimpan objek seperti skrip ETL dan lokasi server notebook.

    Konvensi penamaan: Pemberian izin untuk bucket Amazon S3 yang namanya menggunakan prefiks aws-glue-.

    Memungkinkan AWS Glue untuk membuat bucket yang memblokir akses publik.

    "logs:GetLogEvents"

    "arn:aws:logs:*:*: /aws-glue/*"

    Memungkinkan pengambilan CloudWatch Log.

    Konvensi penamaan: AWS Glue menulis log untuk grup log yang namanya dimulai dengan aws-glue-.

    "cloudformation:CreateStack", "cloudformation:DeleteStack"

    "arn:aws:cloudformation:*:*:stack/ aws-glue*/*"

    Memungkinkan pengelolaan tumpukan AWS CloudFormation saat bekerja dengan server notebook.

    Konvensi penamaan: AWS Glue menciptakan tumpukan yang namanya dimulai dengan aws-glue.

    "ec2:RunInstances"

    "arn:aws:ec2:*:*:instance/*", "arn:aws:ec2:*:*:key-pair/*", "arn:aws:ec2:*:*:image/*", "arn:aws:ec2:*:*:security-group/*", "arn:aws:ec2:*:*:network-interface/*", "arn:aws:ec2:*:*:subnet/*", "arn:aws:ec2:*:*:volume/*"

    Memungkinkan untuk menjalankan titik akhir pengembangan dan server notebook.

    "iam:PassRole"

    "arn:aws:iam::*:role/ AWSGlueServiceRole*"

    Memungkinkan AWS Glue untuk mengambil PassRole izin untuk peran yang dimulai denganAWSGlueServiceRole.

    "iam:PassRole"

    "arn:aws:iam::*:role/ AWSGlueServiceNotebookRole*"

    Memungkinkan Amazon EC2 untuk mengambil PassRole izin untuk peran yang dimulai dengan. AWSGlueServiceNotebookRole

    "iam:PassRole"

    "arn:aws:iam::*:role/service-role/ AWSGlueServiceRole*"

    Memungkinkan AWS Glue untuk mengambil PassRole izin untuk peran yang dimulai denganservice-role/AWSGlueServiceRole.

  7. Pada layar Kebijakan tinjauan, masukkan nama untuk kebijakan tersebut, misalnya GlueConsoleAccessPolicy. Jika Anda puas dengan kebijakan ini, pilih Buat kebijakan. Pastikan bahwa tidak ada kesalahan yang muncul di kotak merah yang ada di bagian atas layar. Perbaiki apapun yang dilaporkan.

    catatan

    Jika Gunakan pemformatan otomatis dipilih, maka kebijakan akan diformat ulang setiap kali Anda membuka kebijakan atau memilih Validasi kebijakan.

Untuk melampirkan kebijakan AWSGlueConsoleFullAccess terkelola

Anda dapat melampirkan AWSGlueConsoleFullAccess kebijakan untuk memberikan izin yang diperlukan oleh pengguna AWS Glue konsol.

catatan

Anda dapat melewati langkah ini jika Anda sudah membuat kebijakan Anda sendiri untuk akses konsol AWS Glue.

  1. Masuk ke AWS Management Console dan buka konsol IAM di https://console.aws.amazon.com/iam/.

  2. Di panel navigasi, pilih Kebijakan.

  3. Dalam daftar kebijakan, pilih kotak centang di sebelah AWSGlueConsoleFullAccess. Anda bisa memakai menu Filter dan kotak pencarian untuk mem-filter daftar kebijakan.

  4. Pilih Tindakan kebijakan, lalu pilih Lampirkan.

  5. Pilih pengguna untuk dilampiri kebijakan ini. Anda bisa menggunakan menu Filter dan kotak pencarian untuk mem-filter daftar entitas utama. Setelah memilih pengguna yang akan dilampiri kebijakan, pilih Lampirkan kebijakan.

Untuk melampirkan kebijakan AWSGlueConsoleSageMakerNotebookFullAccess terkelola

Anda dapat melampirkan AWSGlueConsoleSageMakerNotebookFullAccess kebijakan ke pengguna untuk mengelola SageMaker buku catatan yang dibuat di AWS Glue konsol. Selain izin AWS Glue konsol lain yang diperlukan, kebijakan ini memberikan akses ke sumber daya yang diperlukan untuk mengelola SageMaker buku catatan.

  1. Masuk ke AWS Management Console dan buka konsol IAM di https://console.aws.amazon.com/iam/.

  2. Di panel navigasi, pilih Kebijakan.

  3. Dalam daftar kebijakan, pilih kotak centang di sebelah AWSGlueConsoleSageMakerNotebookFullAccess. Anda bisa memakai menu Filter dan kotak pencarian untuk mem-filter daftar kebijakan.

  4. Pilih Tindakan kebijakan, lalu pilih Lampirkan.

  5. Pilih pengguna untuk dilampiri kebijakan ini. Anda bisa menggunakan menu Filter dan kotak pencarian untuk mem-filter daftar entitas utama. Setelah memilih pengguna yang akan dilampiri kebijakan, pilih Lampirkan kebijakan.

Untuk melampirkan kebijakan CloudWatchLogsReadOnlyAccess terkelola

Anda dapat melampirkan CloudWatchLogsReadOnlyAccesskebijakan ke pengguna untuk melihat log yang dibuat oleh AWS Glue pada konsol CloudWatch Log.

  1. Masuk ke AWS Management Console dan buka konsol IAM di https://console.aws.amazon.com/iam/.

  2. Di panel navigasi, pilih Kebijakan.

  3. Dalam daftar kebijakan, pilih kotak centang di sebelah CloudWatchLogsReadOnlyAccess. Anda bisa memakai menu Filter dan kotak pencarian untuk mem-filter daftar kebijakan.

  4. Pilih Tindakan kebijakan, lalu pilih Lampirkan.

  5. Pilih pengguna untuk dilampiri kebijakan ini. Anda bisa menggunakan menu Filter dan kotak pencarian untuk mem-filter daftar entitas utama. Setelah memilih pengguna yang akan dilampiri kebijakan, pilih Lampirkan kebijakan.

Untuk melampirkan kebijakan AWSCloudFormationReadOnlyAccess terkelola

Anda dapat melampirkan AWSCloudFormationReadOnlyAccesskebijakan ke pengguna untuk melihat AWS CloudFormation tumpukan yang digunakan AWS Glue di AWS CloudFormation konsol.

  1. Masuk ke AWS Management Console dan buka konsol IAM di https://console.aws.amazon.com/iam/.

  2. Di panel navigasi, pilih Kebijakan.

  3. Dalam daftar kebijakan, pilih kotak centang di sebelah AWSCloudFormationReadOnlyAccess. Anda bisa memakai menu Filter dan kotak pencarian untuk mem-filter daftar kebijakan.

  4. Pilih Tindakan kebijakan, lalu pilih Lampirkan.

  5. Pilih pengguna untuk dilampiri kebijakan ini. Anda bisa menggunakan menu Filter dan kotak pencarian untuk mem-filter daftar entitas utama. Setelah memilih pengguna yang akan dilampiri kebijakan, pilih Lampirkan kebijakan.

Untuk melampirkan kebijakan AmazonAthenaFullAccess terkelola

Anda dapat melampirkan AmazonAthenaFullAccesskebijakan ke pengguna untuk melihat data Amazon S3 di konsol Athena.

  1. Masuk ke AWS Management Console dan buka konsol IAM di https://console.aws.amazon.com/iam/.

  2. Di panel navigasi, pilih Kebijakan.

  3. Dalam daftar kebijakan, pilih kotak centang di sebelah AmazonAthenaFullAccess. Anda bisa memakai menu Filter dan kotak pencarian untuk mem-filter daftar kebijakan.

  4. Pilih Tindakan kebijakan, lalu pilih Lampirkan.

  5. Pilih pengguna untuk dilampiri kebijakan ini. Anda bisa menggunakan menu Filter dan kotak pencarian untuk mem-filter daftar entitas utama. Setelah memilih pengguna yang akan dilampiri kebijakan, pilih Lampirkan kebijakan.