Kebijakan berbasis identitas (IAM) contoh - AWS CodePipeline

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

Kebijakan berbasis identitas (IAM) contoh

Anda dapat melampirkan kebijakan ke identitas IAM. Misalnya, Anda dapat melakukan hal berikut:

  • Lampirkan kebijakan izin ke pengguna atau grup di akun Anda— Untuk memberikan izin pengguna untuk melihat jaringan pipa diCodePipelinekonsol, Anda dapat melampirkan kebijakan izin ke pengguna atau grup yang menaungi pengguna.

  • Lampirkan kebijakan izin untuk peran (memberikan izin lintas akun) – Anda dapat melampirkan kebijakan izin berbasis identitas ke IAM role untuk memberikan izin lintas akun. Misalnya, administrator di Akun A dapat membuat peran untuk memberikan izin lintas akun ke akun AWS lain (misalnya, Akun B) atau layanan AWS sebagai berikut:

    1. Administrator akun A membuat IAM role dan melampirkan kebijakan izin ke peran yang memberikan izin pada sumber daya di akun A.

    2. Administrator akun A melampirkan kebijakan kepercayaan peran yang mengidentifikasi Akun B sebagai penanggung jawab yang dapat mengambil peran tersebut.

    3. Administrator Akun B kemudian dapat mendelegasikan izin untuk menerima peran pada pengguna siapa pun dalam akun B. Dengan melakukannya, pengguna dalam akun B dapat membuat atau mengakses sumber daya di akun A. Prinsip dalam kebijakan kepercayaan juga dapat menjadi prinsip layanan AWS jika Anda ingin memberikan izin layanan AWS untuk menjalankan peran tersebut.

    Untuk informasi selengkapnya tentang menggunakan IAM untuk mendelegasikan izin, lihat Manajemen Akses dalam Panduan Pengguna IAM.

Berikut ini adalah contoh kebijakan izin yang memungkinkan pengguna untuk mengaktifkan dan menonaktifkan semua transisi tahap dalam pipeline bernamaMyFirstPipelinedius-west-2 region:

{ "Version": "2012-10-17", "Statement" : [ { "Effect" : "Allow", "Action" : [ "codepipeline:EnableStageTransition", "codepipeline:DisableStageTransition" ], "Resource" : [ "arn:aws:codepipeline:us-west-2:111222333444:MyFirstPipeline" ] } ] }

Contoh berikut menunjukkan kebijakan di akun 111222333444 yang memungkinkan pengguna untuk melihat, tetapi tidak mengubah, pipa bernamaMyFirstPipelinediCodePipelinekonsol. Kebijakan ini didasarkan padaAWSCodePipeline_ReadOnlyAccessdikelola kebijakan, tetapi karena itu khusus untukMyFirstPipelineSelain itu, tidak dapat menggunakan kebijakan terkelola secara langsung. Jika Anda tidak ingin membatasi kebijakan ke pipeline tertentu, pertimbangkan untuk menggunakan salah satu kebijakan terkelola yang dibuat dan dikelola olehCodePipeline. Untuk informasi lebih lanjut, lihat Bekerja dengan Kebijakan Terkelola. Anda harus melampirkan kebijakan ini ke peran IAM yang Anda buat untuk akses, misalnya, peran bernamaCrossAccountPipelineViewers:

{ "Statement": [ { "Action": [ "codepipeline:GetPipeline", "codepipeline:GetPipelineState", "codepipeline:GetPipelineExecution", "codepipeline:ListPipelineExecutions", "codepipeline:ListActionTypes", "codepipeline:ListPipelines", "iam:ListRoles", "s3:GetBucketPolicy", "s3:GetObject", "s3:ListAllMyBuckets", "s3:ListBucket", "codecommit:ListBranches", "codecommit:ListRepositories", "codedeploy:GetApplication", "codedeploy:GetDeploymentGroup", "codedeploy:ListApplications", "codedeploy:ListDeploymentGroups", "elasticbeanstalk:DescribeApplications", "elasticbeanstalk:DescribeEnvironments", "lambda:GetFunctionConfiguration", "lambda:ListFunctions", "opsworks:DescribeApps", "opsworks:DescribeLayers", "opsworks:DescribeStacks" ], "Effect": "Allow", "Resource": "arn:aws:codepipeline:us-west-2:111222333444:MyFirstPipeline" } ], "Version": "2012-10-17" }

Setelah Anda membuat kebijakan ini, buat peran IAM di akun 111222333444 dan lampirkan kebijakan ke peran tersebut. Dalam hubungan kepercayaan peran, Anda harus menambahkanAWSakun yang akan mengambil peran ini. Contoh berikut menunjukkan kebijakan yang memungkinkan pengguna dari111111111111 AWSakun untuk mengasumsikan peran yang didefinisikan dalam akun 111222333444:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::111111111111:root" }, "Action": "sts:AssumeRole" } ] }

Contoh berikut menunjukkan kebijakan yang dibuat di111111111111 AWSakun yang memungkinkan pengguna untuk mengambil peran bernamaCrossAccountPipelineViewersdi akun 111222333444:

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "sts:AssumeRole", "Resource": "arn:aws:iam::111222333444:role/CrossAccountPipelineViewers" } ] }

Anda dapat membuat kebijakan IAM tertentu untuk membatasi panggilan dan sumber daya yang aksesnya dimiliki pengguna di akun Anda, dan kemudian melampirkan kebijakan tersebut untuk pengguna IAM. Untuk informasi selengkapnya tentang cara membuat peran IAM dan untuk mengeksplorasi pernyataan kebijakan IAM untukCodePipeline, LihatContoh kebijakan yang dikelola pelanggan.