Identity and access management di AWS Cloud9 - AWS Cloud9

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

Identity and access management di AWS Cloud9

AWS Identity and Access Management (IAM) adalah layanan Amazon Web Services (AWS) yang membantu administrator mengontrol akses ke sumber daya AWS secara aman. Administrator mengontrol siapa yang dapat diautentikasi (masuk) dan diberi wewenang (memiliki izin) untuk menggunakan sumber daya. Layanan AWS IAM adalah Layanan AWS yang dapat Anda gunakan tanpa biaya tambahan.

Untuk menggunakan AWS Cloud9 aksesAWS, Anda memerlukan Akun AWS dan AWS kredensi. Untuk meningkatkan keamanan AndaAkun AWS, kami sarankan Anda menggunakan pengguna IAM untuk memberikan kredensi akses alih-alih menggunakan kredensil Anda. Akun AWS

Untuk informasi lebih lanjut tentang bekerja dengan pengguna IAM, lihat AWS Identity and Access Management.

Untuk gambaran umum tentang pengguna IAM dan mengapa mereka penting untuk keamanan akun Anda, lihat Kredensial AWS Keamanan di. Referensi Umum Amazon Web

AWS Cloud9 mengikuti model tanggung jawab bersama melalui layanan Amazon Web Services (AWS) tertentu yang didukungnya. Untuk informasi Layanan AWS keamanan, lihat halaman dokumentasi Layanan AWS keamanan dan Layanan AWSyang berada dalam lingkup upaya AWS kepatuhan oleh program kepatuhan.

Penonton

Cara menggunakan AWS Identity and Access Management (IAM) berbeda-beda, tergantung pada pekerjaan yang Anda lakukan di AWS Cloud9.

Pengguna layanan - Jika Anda menggunakan layanan AWS Cloud9 untuk melakukan tugas Anda, administrator Anda akan memberikan kredensial dan izin yang Anda butuhkan. Saat Anda menggunakan lebih banyak fitur AWS Cloud9 untuk melakukan pekerjaan, Anda mungkin memerlukan izin tambahan. Memahami cara mengelola akses dapat membantu Anda meminta izin yang tepat dari administrator Anda. Jika Anda tidak dapat mengakses fitur di AWS Cloud9, lihat Pemecahan Masalah AWS Cloud9.

Administrator layanan - Jika Anda bertanggung jawab atas sumber daya AWS Cloud9 di perusahaan Anda, Anda mungkin memiliki akses penuh ke AWS Cloud9. Tugas Anda adalah menentukan fitur dan sumber daya AWS Cloud9 mana yang dapat diakses karyawan Anda. Anda kemudian harus mengirimkan permintaan ke administrator Anda untuk mengubah izin pengguna layanan Anda. Tinjau informasi di halaman ini untuk memahami konsep dasar IAM. Untuk mempelajari lebih lanjut tentang cara perusahaan Anda dapat menggunakan IAM dengan AWS Cloud9, lihat Cara kerja AWS Cloud9 dengan IAM.

Administrator IAM - Jika Anda seorang IAM administrator, Anda mungkin ingin mempelajari detail tentang cara menulis kebijakan untuk mengelola akses. AWS Cloud9 Untuk melihat contoh kebijakan AWS Cloud9 berbasis identitas yang dapat Anda gunakan di IAM, lihat. Membuat kebijakan terkelola pelanggan untuk AWS Cloud9

Autentikasi

Anda dapat mengakses AWS sebagai salah satu jenis identitas berikut:

  • Pengguna root akun AWS— Saat Anda membuatAkun AWS, Anda mulai dengan satu identitas masuk yang memiliki akses lengkap ke semua Layanan AWS dan sumber daya di akun. Identitas ini disebut pengguna root Akun AWS dan diakses dengan cara masuk menggunakan alamat email dan kata sandi yang Anda gunakan saat membuat akun. Kami sangat menyarankan agar Anda tidak menggunakan pengguna root untuk tugas sehari-hari Anda. Lindungi kredensil pengguna root Anda dan gunakan untuk melakukan tugas-tugas yang hanya dapat dilakukan oleh pengguna root. Untuk daftar lengkap tugas yang mengharuskan Anda masuk sebagai pengguna root, lihat Tugas yang memerlukan kredensi pengguna root di Panduan Pengguna IAM.

  • Pengguna IAM — Pengguna IAM adalah identitas di dalam Anda Akun AWS yang memiliki izin khusus khusus. Anda dapat menggunakan kredenal masuk untuk masuk untuk mengamankan AWS halaman web seperti, Forum AWS Diskusi AWS Management Console, atau Pusat. AWS Support

    Selain kredensi masuk, Anda juga dapat membuat kunci akses untuk setiap pengguna. Anda dapat menggunakan kunci ini ketika Anda mengakses Layanan AWS baik melalui salah satu dari beberapa SDK atau dengan menggunakan AWS Command Line Interface(CLI). Alat SDK dan CLI menggunakan access key untuk menandatangani permintaan Anda secara kriptografis. Jika Anda tidak menggunakan alat AWS, Anda harus menandatangani permintaan tersebut sendiri. Signature Version 4, adalah protokol untuk mengautentikasi permintaan API masuk. Untuk informasi selengkapnya tentang mengautentikasi permintaan, lihat proses penandatanganan Versi Tanda Tangan 4 di. Referensi Umum AWS

  • IAM roleIAM role adalah identitas IAM yang dapat Anda buat di akun Anda yang memiliki izin spesifik. IAM role serupa dengan pengguna IAM, yang merupakan identitas AWS dengan kebijakan izin yang menentukan apa yang dapat dan tidak dapat dilakukan identitas di AWS. Namun, alih-alih secara unik terkait dengan satu orang, peran dimaksudkan untuk dapat menjadi dapat diasumsikan oleh siapa pun yang membutuhkannya. Selain itu, peran tidak memiliki kredensial jangka panjang standar seperti kata sandi atau kunci akses yang terkait dengannya. Sebagai gantinya, saat Anda mengambil peran, kredensial keamanan sementara untuk sesi peran Anda akan diberikan. IAM role dengan kredensial sementara berguna dalam situasi berikut:

    • Akses pengguna terfederasi — Untuk menetapkan izin ke identitas federasi, Anda membuat peran dan menentukan izin untuk peran tersebut. Ketika identitas federasi mengautentikasi, identitas dikaitkan dengan peran dan diberikan izin yang ditentukan oleh peran. Untuk informasi tentang peran untuk federasi, lihat Membuat peran untuk Penyedia Identitas pihak ketiga di Panduan Pengguna IAM. Jika Anda menggunakan Pusat Identitas IAM, Anda mengonfigurasi set izin. Untuk mengontrol apa yang dapat diakses identitas Anda setelah diautentikasi, IAM Identity Center mengkorelasikan izin yang disetel ke peran dalam IAM. Untuk informasi tentang set izin, lihat Set izin di Panduan AWS IAM Identity Center Pengguna.

    • Layanan AWSAkses — Peran layanan adalah peran IAM yang diasumsikan oleh layanan untuk melakukan tindakan atas nama Anda. Administrator IAM dapat membuat, memodifikasi, dan menghapus peran layanan dari dalam IAM. Untuk informasi selengkapnya, lihat Membuat peran untuk mendelegasikan izin ke Layanan AWS dalam Panduan Pengguna IAM.

    • Aplikasi yang berjalan di Amazon EC2 – Anda dapat menggunakan IAM role untuk mengelola kredensial sementara untuk aplikasi yang berjalan pada instans EC2, dan membuat permintaan API AWS CLI atau AWS. Menyimpan access key di dalam instans EC2 lebih disarankan. Untuk menugaskan sebuah peran AWS ke instans EC2 dan membuatnya tersedia untuk semua aplikasinya, Anda dapat membuat sebuah profil instans yang dilampirkan ke instans. Profil instans berisi peran dan memungkinkan program yang berjalan di instans EC2 untuk mendapatkan kredensial sementara. Untuk informasi selengkapnya, lihat Menggunakan IAM role untuk memberikan izin ke aplikasi yang berjalan di instans Amazon EC2 dalam Panduan Pengguna IAM.

Mengelola akses menggunakan kebijakan

Anda dapat memiliki kredensyal yang valid untuk mengautentikasi permintaan Anda. Namun, kecuali Anda memiliki izin, Anda tidak dapat membuat atau mengakses AWS Cloud9 sumber daya. Misalnya, Anda harus memiliki izin untuk membuat, membagikan, atau menghapus lingkungan pengembangan AWS Cloud9.

Setiap sumber daya AWS dimiliki oleh Akun AWS, dan izin untuk membuat atau mengakses sumber daya diatur oleh kebijakan izin. Administrator akun dapat melampirkan kebijakan izin pada identitas IAM (yaitu pengguna, grup, dan peran).

Ketika Anda memberikan izin, Anda memutuskan siapa yang mendapatkan izin, sumber daya yang dapat mereka akses, dan tindakan yang dapat dilakukan pada sumber daya tersebut.

Cara kerja AWS Cloud9 dengan IAM

AWS Identity and Access Managementdigunakan untuk mengelola izin yang memungkinkan Anda untuk bekerja dengan lingkungan AWS Cloud9 pengembangan dan lainnya Layanan AWS dan sumber daya.

Sumber daya dan operasi AWS Cloud9

Di AWS Cloud9, sumber daya utama adalah lingkungan pengembangan AWS Cloud9. Dalam sebuah kebijakan, Anda menggunakan Amazon Resource Name (ARN) untuk mengidentifikasi sumber daya yang mengikuti kebijakan tersebut. Tabel berikut mencantumkan ARN lingkungan. Untuk informasi selengkapnya, lihat Amazon Resource Names (ARN) dan AWS Service Namespaces di. Referensi Umum Amazon Web

Jenis sumber daya Format ARN

Environment

arn:aws:cloud9:REGION_ID:ACCOUNT_ID:environment:ENVIRONMENT_ID

Setiap lingkungan yang dimiliki oleh akun yang ditentukan dalam yang ditentukan Wilayah AWS

arn:aws:cloud9:REGION_ID:ACCOUNT_ID:environment:*

Setiap lingkungan yang dimiliki oleh akun yang ditentukan di Wilayah yang ditentukan

arn:aws:cloud9:REGION_ID:ACCOUNT_ID:*

Setiap sumber daya AWS Cloud9, terlepas dari akun dan Wilayah

arn:aws:cloud9:*

Misalnya, Anda dapat menunjukkan lingkungan tertentu dalam pernyataan Anda menggunakan Amazon Resource Name (ARN), sebagai berikut.

"Resource": "arn:aws:cloud9:us-east-2:123456789012:environment:70d899206236474f9590d93b7c41dfEX"

Untuk menentukan semua sumber daya, gunakan karakter wildcard (*) dalam Resource elemen.

"Resource": "*"

Untuk menentukan beberapa sumber daya dalam satu pernyataan, pisahkan Amazon Resource Names (ARN) mereka dengan koma.

"Resource": [ "arn:aws:cloud9:us-east-2:123456789012:environment:70d899206236474f9590d93b7c41dfEX", "arn:aws:cloud9:us-east-2:123456789012:environment:81e900317347585a0601e04c8d52eaEX" ]

AWS Cloud9 menyediakan sekumpulan operasi untuk bekerja dengan sumber daya AWS Cloud9. Untuk daftar, lihat Referensi izin AWS Cloud9.

Memahami kepemilikan sumber daya

Akun Akun AWS memiliki sumber daya yang dibuat dalam akun, terlepas dari siapa yang membuat sumber daya tersebut.

Pertimbangkan kasus penggunaan dan skenario berikut:

  • Misalkan Anda menggunakan kredensi akun root Anda Akun AWS untuk membuat lingkungan AWS Cloud9 pengembangan. Meskipun memungkinkan, ini tidak direkomendasikan. Dalam hal ini, Anda Akun AWS adalah pemilik lingkungan.

  • Misalkan Anda membuat pengguna IAM di Anda Akun AWS dan Anda memberikan izin untuk membuat lingkungan bagi pengguna tersebut. Kemudian, pengguna dapat membuat lingkungan. Namun, milik AndaAkun AWS, yang menjadi milik pengguna, masih memiliki lingkungan.

  • Misalkan Anda membuat peran IAM di Anda Akun AWS dengan izin untuk membuat lingkungan. Kemudian, siapa pun yang dapat mengambil peran dapat menciptakan lingkungan. AndaAkun AWS, yang menjadi milik perannya, memiliki lingkungan.

catatan

Jika Anda menghapus akun pengguna yang merupakan pemilik ARN dari satu atau beberapa AWS Cloud9 lingkungan, lingkungan ini tidak akan memiliki pemilik. Solusi untuk skenario ini adalah dengan menggunakan AWS Cloud9 SDK untuk menambahkan pengguna IAM lain dengan hak baca dan tulis menggunakan CreateEnvironmentMembership tindakan, dan tipe data. EnvironmentMember Setelah Anda menambahkan pengguna IAM ini, Anda dapat menyalin file lingkungan ke AWS Cloud9 lingkungan baru dan menjadikan pemilik ini pemilik ARN. Untuk informasi selengkapnya tentang tindakan ini, lihat CreateEnvironmentMembership, dan untuk informasi selengkapnya tentang tipe data ini, lihat EnvironmentMemberdi Panduan Referensi AWS Cloud9 API.

Mengelola akses ke sumber daya

Kebijakan izin menjelaskan siapa yang memiliki akses ke sumber daya mana.

catatan

Bagian ini membahas penggunaan IAM di AWS Cloud9. Bagian ini tidak memberikan informasi detail tentang layanan IAM. Untuk dokumentasi IAM lengkap, lihat Apa yang Dimaksud dengan IAM? di Panduan Pengguna IAM. Untuk informasi tentang sintaks dan deskripsi kebijakan IAM, lihat Referensi Kebijakan JSON IAM dalam Panduan Pengguna IAM.

Kebijakan yang terlampir pada identitas IAM disebut sebagai kebijakan berbasis identitas (atau kebijakan IAM). Kebijakan yang terlampir pada sumber daya disebut sebagai kebijakan berbasis sumber daya. AWS Cloud9 mendukung kebijakan berbasis identitas dan berbasis sumber daya.

Setiap tindakan API berikut hanya memerlukan kebijakan IAM untuk dilampirkan ke identitas IAM yang ingin memanggil tindakan API ini:

  • CreateEnvironmentEC2

  • DescribeEnvironments

Tindakan API berikut memerlukan kebijakan berbasis sumber daya. Kebijakan IAM tidak diperlukan, tetapi AWS Cloud9 menggunakan kebijakan IAM jika dilampirkan ke identitas IAM yang ingin memanggil tindakan API ini. Kebijakan berbasis sumber daya harus diterapkan ke sumber daya AWS Cloud9 yang diinginkan:

  • CreateEnvironmentMembership

  • DeleteEnvironment

  • DeleteEnvironmentMembership

  • DescribeEnvironmentMemberships

  • DescribeEnvironmentStatus

  • UpdateEnvironment

  • UpdateEnvironmentMembership

Untuk informasi selengkapnya tentang apa yang dilakukan masing-masing tindakan API ini, lihat Referensi AWS Cloud9 API.

Anda tidak dapat melampirkan kebijakan berbasis sumber daya ke sumber daya AWS Cloud9 secara langsung. Sebagai gantinya, AWS Cloud9 melampirkan kebijakan berbasis sumber daya yang sesuai ke sumber daya AWS Cloud9 saat Anda menambahkan, memodifikasi, memperbarui, atau menghapus anggota lingkungan.

Untuk memberikan pengguna izin untuk melakukan tindakan pada sumber daya AWS Cloud9, Anda melampirkan kebijakan izin ke grup IAM tempat pengguna berada. Kami menyarankan Anda melampirkan kebijakan AWS terkelola (yang telah ditentukan sebelumnya) AWS Cloud9 bila memungkinkan. AWSkebijakan terkelola berisi kumpulan izin akses yang telah ditentukan sebelumnya untuk skenario penggunaan umum dan jenis pengguna, seperti administrasi penuh lingkungan, pengguna lingkungan, dan pengguna yang hanya memiliki akses hanya-baca ke lingkungan. Untuk daftar kebijakan terkelola AWS untuk AWS Cloud9, lihat Kebijakan yang dikelola oleh AWS untuk AWS Cloud9.

Untuk skenario penggunaan yang lebih mendetail dan tipe pengguna yang unik, Anda dapat membuat dan melampirkan kebijakan terkelola pelanggan Anda sendiri. Lihat Pilihan persediaan tambahan untuk (tim dan perusahaan)AWS Cloud9 dan Membuat kebijakan terkelola pelanggan untuk AWS Cloud9.

Untuk melampirkan kebijakan IAM (dikelola AWS atau dikelola pelanggan) ke identitas IAM, lihat Melampirkan Kebijakan IAM (Konsol) di Panduan Pengguna IAM.

Izin sesi untuk operasi API

Saat menggunakan AWS CLI atau AWS API untuk membuat sesi sementara secara terprogram untuk peran atau pengguna gabungan, Anda dapat meneruskan kebijakan sesi sebagai parameter untuk memperluas cakupan sesi peran. Ini berarti bahwa izin sesi yang efektif merupakan titik temu antara kebijakan berbasis identitas peran dan kebijakan sesi.

Saat permintaan dibuat untuk mengakses sumber daya selama sesi, jika tidak ada pernyataan Deny yang berlaku tetapi juga tidak ada pernyataan Allow yang berlaku dalam kebijakan sesi, hasil evaluasi kebijakan adalah penolakan implisit. (Untuk informasi selengkapnya, lihat Menentukan apakah permintaan diizinkan atau ditolak dalam akun di Panduan Pengguna IAM.)

Namun, untuk operasi AWS Cloud9 API yang memerlukan kebijakan berbasis sumber daya (lihat di atas), izin diberikan kepada entitas IAM yang memanggil jika ditentukan sebagai kebijakan sumber daya. Principal Izin eksplisit ini lebih diutamakan daripada penolakan implisit dari kebijakan sesi, sehingga memungkinkan sesi untuk memanggil operasi AWS Cloud9 API dengan sukses.

Kebijakan yang dikelola oleh AWS untuk AWS Cloud9

Kebijakan AWS terkelola adalah kebijakan mandiri yang dibuat dan dikelola olehAWS. AWSKebijakan terkelola dirancang untuk memberikan izin bagi banyak kasus penggunaan umum sehingga Anda dapat mulai menetapkan izin kepada pengguna, grup, dan peran.

Perlu diingat bahwa kebijakan AWS terkelola mungkin tidak memberikan izin hak istimewa paling sedikit untuk kasus penggunaan spesifik Anda karena tersedia untuk digunakan semua pelanggan. AWS Kami menyarankan Anda mengurangi izin lebih lanjut dengan menentukan kebijakan yang dikelola pelanggan yang khusus untuk kasus penggunaan Anda.

Anda tidak dapat mengubah izin yang ditentukan dalam kebijakan AWS terkelola. Jika AWS memperbarui izin yang ditentukan dalam kebijakan AWS terkelola, pembaruan akan memengaruhi semua identitas utama (pengguna, grup, dan peran) yang dilampirkan kebijakan tersebut. AWSkemungkinan besar akan memperbarui kebijakan AWS terkelola saat baru Layanan AWS diluncurkan atau operasi API baru tersedia untuk layanan yang ada.

Untuk informasi selengkapnya, lihat Kebijakan terkelola AWS dalam Panduan Pengguna IAM.

Kebijakan terkelola AWS: AWSCloud9Administrator

Anda dapat melampirkan kebijakan AWSCloud9Administrator ke identitas-identitas IAM Anda.

Kebijakan ini memberikan izin administratif yang menyediakan akses administrator. AWS Cloud9

Rincian izin

Kebijakan ini mencakup izin berikut.

  • AWS Cloud9Semua AWS Cloud9 tindakan dalam diri merekaAkun AWS.

  • Amazon EC2 — Dapatkan informasi tentang beberapa VPC Amazon dan sumber daya subnet di dalamnya. Akun AWS

  • IAM — Dapatkan informasi tentang pengguna IAM di dalamnyaAkun AWS, dan buat peran AWS Cloud9 terkait layanan sesuai kebutuhan mereka. Akun AWS

  • Systems Manager- Memungkinkan pengguna StartSession untuk memanggil untuk memulai koneksi ke instance untuk sesi Session Manager. Izin ini diperlukan bagi pengguna yang membuka lingkungan yang berkomunikasi dengan instans EC2-nya melalui Systems Manager. Untuk informasi selengkapnya, lihat Mengakses instans EC2 no-ingress denganAWS Systems Manager

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloud9:*", "iam:GetUser", "iam:ListUsers", "ec2:DescribeVpcs", "ec2:DescribeSubnets", "ec2:DescribeInstanceTypeOfferings", "ec2:DescribeRouteTables" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole" ], "Resource": "*", "Condition": { "StringLike": { "iam:AWSServiceName": "cloud9.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "ssm:StartSession", "ssm:GetConnectionStatus" ], "Resource": "arn:aws:ec2:*:*:instance/*", "Condition": { "StringLike": { "ssm:resourceTag/aws:cloud9:environment": "*" }, "StringEquals": { "aws:CalledViaFirst": "cloud9.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "ssm:StartSession" ], "Resource": [ "arn:aws:ssm:*:*:document/*" ] } ] }

Kebijakan terkelola AWS: AWSCloud9User

Anda dapat melampirkan kebijakan AWSCloud9User ke identitas-identitas IAM Anda.

Kebijakan ini memberikan pengguna izin untuk membuat lingkungan pengembangan AWS Cloud9 dan untuk mengelola lingkungan yang dimiliki.

Rincian izin

Kebijakan ini mencakup izin berikut.

  • AWS Cloud9 – Membuat dan mendapatkan informasi tentang lingkungan mereka, dan mendapatkan dan mengubah pengaturan pengguna untuk lingkungan mereka.

  • Amazon EC2 — Dapatkan informasi tentang beberapa VPC Amazon dan sumber daya subnet di dalamnya. Akun AWS

  • IAM — Dapatkan informasi tentang pengguna IAM di dalamnyaAkun AWS, dan buat peran AWS Cloud9 terkait layanan sesuai kebutuhan mereka. Akun AWS

  • Systems Manager- Memungkinkan pengguna StartSession untuk memanggil untuk memulai koneksi ke instance untuk sesi Session Manager. Izin ini diperlukan bagi pengguna yang membuka lingkungan yang berkomunikasi dengan instans EC2-nya melalui Systems Manager. Untuk informasi selengkapnya, lihat Mengakses instans EC2 no-ingress denganAWS Systems Manager

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloud9:UpdateUserSettings", "cloud9:GetUserSettings", "iam:GetUser", "iam:ListUsers", "ec2:DescribeVpcs", "ec2:DescribeSubnets", "ec2:DescribeInstanceTypeOfferings", "ec2:DescribeRouteTables" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "cloud9:CreateEnvironmentEC2", "cloud9:CreateEnvironmentSSH" ], "Resource": "*", "Condition": { "Null": { "cloud9:OwnerArn": "true" } } }, { "Effect": "Allow", "Action": [ "cloud9:GetUserPublicKey" ], "Resource": "*", "Condition": { "Null": { "cloud9:UserArn": "true" } } }, { "Effect": "Allow", "Action": [ "cloud9:DescribeEnvironmentMemberships" ], "Resource": [ "*" ], "Condition": { "Null": { "cloud9:UserArn": "true", "cloud9:EnvironmentId": "true" } } }, { "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole" ], "Resource": "*", "Condition": { "StringLike": { "iam:AWSServiceName": "cloud9.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "ssm:StartSession", "ssm:GetConnectionStatus" ], "Resource": "arn:aws:ec2:*:*:instance/*", "Condition": { "StringLike": { "ssm:resourceTag/aws:cloud9:environment": "*" }, "StringEquals": { "aws:CalledViaFirst": "cloud9.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "ssm:StartSession" ], "Resource": [ "arn:aws:ssm:*:*:document/*" ] } ] }

AWSkebijakan terkelola: AWSCloud9EnvironmentMember

Anda dapat melampirkan kebijakan AWSCloud9EnvironmentMember ke identitas-identitas IAM Anda.

Kebijakan ini memberikan izin keanggotaan yang menyediakan kemampuan untuk bergabung dengan lingkungan bersama AWS Cloud9.

Rincian izin

Kebijakan ini mencakup izin berikut:

  • AWS Cloud9 – Mendapatkan informasi tentang lingkungan mereka, dan mendapatkan dan mengubah pengaturan pengguna untuk lingkungan mereka.

  • IAM — Dapatkan informasi tentang pengguna IAM di dalamnyaAkun AWS, dan buat peran AWS Cloud9 terkait layanan sesuai kebutuhan mereka. Akun AWS

  • Systems Manager- Memungkinkan pengguna StartSession untuk memanggil untuk memulai koneksi ke instance untuk sesi Session Manager. Izin ini diperlukan bagi pengguna yang membuka lingkungan yang berkomunikasi dengan instans EC2-nya melalui Systems Manager. Untuk informasi selengkapnya, lihat Mengakses instans EC2 no-ingress denganAWS Systems Manager

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloud9:GetUserSettings", "cloud9:UpdateUserSettings", "iam:GetUser", "iam:ListUsers" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "cloud9:DescribeEnvironmentMemberships" ], "Resource": [ "*" ], "Condition": { "Null": { "cloud9:UserArn": "true", "cloud9:EnvironmentId": "true" } } }, { "Effect": "Allow", "Action": [ "ssm:StartSession", "ssm:GetConnectionStatus" ], "Resource": "arn:aws:ec2:*:*:instance/*", "Condition": { "StringLike": { "ssm:resourceTag/aws:cloud9:environment": "*" }, "StringEquals": { "aws:CalledViaFirst": "cloud9.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "ssm:StartSession" ], "Resource": [ "arn:aws:ssm:*:*:document/*" ] } ] }

Kebijakan terkelola AWS: AWSCloud9ServiceRolePolicy

Peran AWSServiceRoleForAWSCloud9 terkait layanan menggunakan kebijakan ini untuk memungkinkan AWS Cloud9 lingkungan berinteraksi dengan Amazon AWS CloudFormation EC2 dan sumber daya.

Rincian izin

Ini AWSCloud9ServiceRolePolicymemberikan AWSServiceRoleForAWSCloud 9 izin yang diperlukan AWS Cloud9 untuk memungkinkan berinteraksi dengan Layanan AWS (Amazon EC2 AWS CloudFormation dan) yang diperlukan untuk membuat dan menjalankan lingkungan pengembangan.

AWS Cloud9mendefinisikan izin peran terkait layanan, dan hanya AWS Cloud9 dapat mengambil perannya. Izin yang ditentukan mencakup kebijakan kepercayaan dan kebijakan izin, serta bahwa kebijakan izin tidak dapat dilampirkan ke entitas IAM lainnya.

Untuk informasi selengkapnya tentang cara AWS Cloud9 menggunakan peran terkait layanan, lihat. Menggunakan peran tertaut layanan untuk AWS Cloud9

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "ec2:RunInstances", "ec2:CreateSecurityGroup", "ec2:DescribeVpcs", "ec2:DescribeSubnets", "ec2:DescribeSecurityGroups", "ec2:DescribeInstances", "ec2:DescribeInstanceStatus", "cloudformation:CreateStack", "cloudformation:DescribeStacks", "cloudformation:DescribeStackEvents", "cloudformation:DescribeStackResources" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:TerminateInstances", "ec2:DeleteSecurityGroup", "ec2:AuthorizeSecurityGroupIngress" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "cloudformation:DeleteStack" ], "Resource": "arn:aws:cloudformation:*:*:stack/aws-cloud9-*" }, { "Effect": "Allow", "Action": [ "ec2:CreateTags" ], "Resource": [ "arn:aws:ec2:*:*:instance/*", "arn:aws:ec2:*:*:security-group/*" ], "Condition": { "StringLike": { "aws:RequestTag/Name": "aws-cloud9-*" } } }, { "Effect": "Allow", "Action": [ "ec2:StartInstances", "ec2:StopInstances" ], "Resource": "*", "Condition": { "StringLike": { "ec2:ResourceTag/aws:cloudformation:stack-name": "aws-cloud9-*" } } }, { "Effect": "Allow", "Action": [ "ec2:StartInstances", "ec2:StopInstances" ], "Resource": [ "arn:aws:license-manager:*:*:license-configuration:*" ] }, { "Effect": "Allow", "Action": [ "iam:ListInstanceProfiles", "iam:GetInstanceProfile" ], "Resource": [ "arn:aws:iam::*:instance-profile/cloud9/*" ] }, { "Effect": "Allow", "Action": [ "iam:PassRole" ], "Resource": [ "arn:aws:iam::*:role/service-role/AWSCloud9SSMAccessRole" ], "Condition": { "StringLike": { "iam:PassedToService": "ec2.amazonaws.com" } } } ] }

AWS Cloud9 memperbarui pada kebijakan terkelola AWS

Lihat detail tentang pembaruan terhadap kebijakan terkelola AWS untuk AWS Cloud9 sejak layanan ini mulai melacak perubahan-perubahan tersebut. Untuk peringatan otomatis tentang perubahan pada halaman ini, berlangganan umpan RSS di halaman Riwayat dokumen AWS Cloud9.

Perubahan Deskripsi Tanggal

Tindakan baru telah ditambahkan ke AWSCloud9User, AWSCloud9Administratordan AWSCloud9EnvironmentMemberkebijakan.

ssm:GetConnectionStatusTindakan telah ditambahkan ke AWSCloud9UserAWSCloud9Administratordan AWSCloud9EnvironmentMemberkebijakan. Tindakan ini akan memberi pengguna izin untuk memeriksa status koneksi SSM. cloud9:ValidateEnvironmentNameAPI telah dihapus dari AWSCloud9Userkebijakan karena sudah usang.

Oktober 12, 2023

API ditambahkan ke AWSCloud9Userdan AWSCloud9Administratorkebijakan.

Dua API baru telah ditambahkan ke AWSCloud9Userdan AWSCloud9Administratorkebijakan, API ini adalah ec2:DescribeInstanceTypeOfferings danec2:DescribeRouteTables. Tujuan dari API ini adalah untuk memungkinkan AWS Cloud9 untuk memvalidasi bahwa subnet default mendukung jenis instance yang dipilih oleh pelanggan saat mereka membuat AWS Cloud9 lingkungan.

Agustus 02, 2023

Perbarui ke AWSCloud9ServiceRolePolicy

AWSCloud9ServiceRolePolicytelah diperbarui AWS Cloud9 untuk memungkinkan memulai dan menghentikan instans Amazon EC2 yang dikelola oleh konfigurasi lisensi License Manager.

Januari 12, 2022

AWS Cloud9 mulai melacak perubahan

AWS Cloud9 mulai melacak perubahan untuk kebijakan terkelola AWS

15 Maret 2021

Membuat kebijakan terkelola pelanggan untuk AWS Cloud9

Jika tidak ada kebijakan terkelola AWS yang memenuhi persyaratan kontrol akses Anda, Anda dapat membuat dan melampirkan kebijakan terkelola pelanggan Anda sendiri.

Untuk membuat kebijakan terkelola pelanggan, lihat Membuat Kebijakan IAM (konsol) di Panduan Pengguna IAM.

Menentukan elemen kebijakan: efek, prinsipal, tindakan, dan sumber daya

Untuk setiap sumber daya AWS Cloud9, layanan menentukan serangkaian operasi API. Untuk memberikan izin bagi operasi API ini, AWS Cloud9 menentukan serangkaian tindakan yang dapat Anda tentukan dalam kebijakan.

Berikut ini adalah elemen-elemen kebijakan dasar:

  • Effect – Anda menetapkan efek, baik mengizinkan atau menolak, ketika pengguna meminta tindakan. Jika Anda tidak secara eksplisit memberikan akses untuk (mengizinkan) sumber daya, akses akan ditolak secara implisit. Anda juga dapat secara eksplisit menolak akses ke sumber daya. Anda dapat melakukan ini untuk memastikan pengguna tidak dapat mengakses sumber daya, bahkan jika kebijakan yang berbeda memberikan akses.

  • Principal – Dalam kebijakan berbasis identitas (kebijakan IAM), pengguna yang kebijakannya terlampir adalah prinsipal implisit. Untuk kebijakan berbasis sumber daya, Anda menentukan pengguna, akun, layanan, atau entitas lain yang ingin Anda terima izinnya.

  • Resource— Gunakan Nama Sumber Daya Amazon (ARN) untuk mengidentifikasi sumber daya yang berlaku untuk kebijakan tersebut.

  • Action – Gunakan kata kunci tindakan untuk mengidentifikasi operasi sumber daya yang ingin Anda izinkan atau tolak. Misalnya, izin cloud9:CreateEnvironmentEC2 memberikan pengguna izin untuk melakukan operasi CreateEnvironmentEC2.

Untuk mempelajari lebih lanjut tentang sintaks dan deskripsi kebijakan IAM, lihat Referensi Kebijakan JSON IAM dalam Panduan Pengguna IAM.

Untuk tabel yang menampilkan semua tindakan AWS Cloud9 API dan sumber daya yang diterapkannya, lihat Referensi izin AWS Cloud9.

Contoh kebijakan yang dikelola pelanggan

Dalam bagian ini, Anda dapat menemukan contoh kebijakan yang memberikan izin untuk tindakan AWS Cloud9. Anda dapat menyesuaikan contoh kebijakan IAM berikut untuk mengizinkan atau secara eksplisit menolak akses AWS Cloud9 untuk identitas IAM Anda.

Untuk membuat atau melampirkan kebijakan yang dikelola pelanggan ke identitas IAM, lihat Membuat Kebijakan IAM (Konsol) dan Melampirkan Kebijakan IAM (Konsol) di Panduan Pengguna IAM.

catatan

Contoh berikut menggunakan US East (Ohio) Region (us-east-2), Akun AWS ID fiktif (123456789012), dan ID lingkungan AWS Cloud9 pengembangan fiktif (). 81e900317347585a0601e04c8d52eaEX

Mendapatkan informasi tentang lingkungan

Contoh pernyataan kebijakan IAM berikut, yang dilampirkan ke entitas IAM, memungkinkan entitas tersebut untuk mendapatkan informasi tentang lingkungan mana pun di akun mereka.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "cloud9:DescribeEnvironments", "Resource": "*" } ] }
catatan

Izin akses sebelumnya sudah disertakan dalam kebijakan terkelola AWS AWSCloud9Administrator dan AWSCloud9User.

Membuat lingkungan EC2

Contoh pernyataan kebijakan IAM berikut, yang dilampirkan ke entitas IAM, mengizinkan entitas tersebut membuat lingkungan pengembangan AWS Cloud9 EC2 di akun mereka.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "cloud9:CreateEnvironmentEC2", "Resource": "*" } ] }
catatan

Izin akses sebelumnya sudah disertakan dalam kebijakan terkelola AWS AWSCloud9Administrator dan AWSCloud9User.

Membuat lingkungan EC2 dengan jenis instans Amazon EC2 tertentu

Contoh pernyataan kebijakan IAM berikut, yang dilampirkan ke entitas IAM, mengizinkan entitas tersebut membuat lingkungan pengembangan AWS Cloud9 EC2 di akun mereka. Namun, lingkungan EC2 hanya dapat menggunakan kelas tertentu dari jenis instans Amazon EC2.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "cloud9:CreateEnvironmentEC2", "Resource": "*", "Condition": { "StringLike": { "cloud9:InstanceType": "t3.*" } } } ] }
catatan

Jika kebijakan terkelola AWS AWSCloud9Administrator atau AWSCloud9User sudah dilampirkan ke entitas IAM, kebijakan terkelola AWS tersebut akan menggantikan perilaku pernyataan kebijakan IAM sebelumnya. Hal ini karena kebijakan terkelola AWS tersebut lebih permisif.

Membuat lingkungan EC2 di subnet Amazon VPC tertentu

Contoh pernyataan kebijakan IAM berikut, yang dilampirkan ke entitas IAM, mengizinkan entitas tersebut membuat lingkungan pengembangan AWS Cloud9 EC2 di akun mereka. Namun, lingkungan EC2 hanya dapat menggunakan subnet Amazon VPC yang ditentukan.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "cloud9:CreateEnvironmentEC2", "Resource": "*", "Condition": { "StringLike": { "cloud9:SubnetId": [ "subnet-12345678", "subnet-23456789" ] } } } ] }
catatan

Jika kebijakan terkelola AWS AWSCloud9Administrator atau AWSCloud9User sudah dilampirkan ke entitas IAM, kebijakan terkelola AWS tersebut akan menggantikan perilaku pernyataan kebijakan IAM sebelumnya. Hal ini karena kebijakan terkelola AWS tersebut lebih permisif.

Membuat lingkungan EC2 dengan nama lingkungan tertentu

Contoh pernyataan kebijakan IAM berikut, yang dilampirkan ke entitas IAM, mengizinkan entitas tersebut membuat lingkungan pengembangan AWS Cloud9 EC2 di akun mereka. Namun, lingkungan EC2 hanya dapat menggunakan nama yang ditentukan.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "cloud9:CreateEnvironmentEC2", "Resource": "*", "Condition": { "StringEquals": { "cloud9:EnvironmentName": "my-demo-environment" } } } ] }
catatan

Jika kebijakan terkelola AWS AWSCloud9Administrator atau AWSCloud9User sudah dilampirkan ke entitas IAM, kebijakan terkelola AWS tersebut akan menggantikan perilaku pernyataan kebijakan IAM sebelumnya. Hal ini karena kebijakan terkelola AWS tersebut lebih permisif.

Membuat lingkungan SSH saja

Contoh pernyataan kebijakan IAM berikut, yang dilampirkan ke entitas IAM, mengizinkan entitas tersebut membuat lingkungan pengembangan AWS Cloud9 SSH di akun mereka. Namun, entitas tidak dapat membuat lingkungan pengembangan AWS Cloud9 EC2.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "cloud9:CreateEnvironmentSSH", "Resource": "*" }, { "Effect": "Deny", "Action": "cloud9:CreateEnvironmentEC2", "Resource": "*" } ] }

Memperbarui lingkungan atau mencegah memperbarui lingkungan

Contoh pernyataan kebijakan IAM berikut, yang dilampirkan ke entitas IAM, mengizinkan entitas tersebut mengubah informasi tentang lingkungan pengembangan AWS Cloud9 apa pun di akun mereka.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "cloud9:UpdateEnvironment", "Resource": "*" } ] }
catatan

Izin akses sebelumnya sudah disertakan dalam kebijakan terkelola AWS AWSCloud9Administrator.

Contoh pernyataan kebijakan IAM berikut, yang dilampirkan ke entitas IAM, secara eksplisit mencegah entitas tersebut mengubah informasi tentang lingkungan dengan Amazon Resource Name (ARN) yang ditentukan.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "cloud9:UpdateEnvironment", "Resource": "arn:aws:cloud9:us-east-2:123456789012:environment:81e900317347585a0601e04c8d52eaEX" } ] }

Mendapatkan daftar anggota lingkungan

Contoh pernyataan kebijakan IAM berikut, yang dilampirkan ke entitas IAM, mengizinkan entitas tersebut mendapatkan daftar anggota untuk lingkungan mana pun di akun mereka.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "cloud9:DescribeEnvironmentMemberships", "Resource": "*" } ] }
catatan

Izin akses sebelumnya sudah disertakan dalam kebijakan terkelola AWS AWSCloud9Administrator. Selain itu, izin akses sebelumnya lebih permisif daripada izin akses yang setara dalam kebijakan terkelola AWS AWSCloud9User.

Berbagi lingkungan hanya dengan pengguna tertentu

Contoh pernyataan kebijakan IAM berikut, yang dilampirkan ke entitas IAM, mengizinkan entitas tersebut berbagi lingkungan mana pun di akun mereka hanya dengan pengguna tertentu.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloud9:CreateEnvironmentMembership" ], "Resource": "*", "Condition": { "StringEquals": { "cloud9:UserArn": "arn:aws:iam::123456789012:user/MyDemoUser" } } } ] }
catatan

Jika kebijakan terkelola AWS AWSCloud9Administrator atau AWSCloud9User sudah dilampirkan ke entitas IAM, kebijakan terkelola AWS tersebut akan menggantikan perilaku pernyataan kebijakan IAM sebelumnya. Hal ini karena kebijakan terkelola AWS tersebut lebih permisif.

Mencegah berbagi lingkungan

Contoh pernyataan kebijakan IAM berikut, yang dilampirkan ke entitas IAM, mencegah entitas tersebut berbagi lingkungan mana pun di akun mereka.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": [ "cloud9:CreateEnvironmentMembership", "cloud9:UpdateEnvironmentMembership" ], "Resource": "*" } ] }

Mengubah, atau mencegah perubahan, pengaturan anggota lingkungan

Contoh pernyataan kebijakan IAM berikut, yang dilampirkan ke entitas IAM, mengizinkan entitas tersebut mengubah pengaturan anggota di lingkungan mana pun di akun mereka.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "cloud9:UpdateEnvironmentMembership", "Resource": "*" } ] }
catatan

Izin akses sebelumnya sudah disertakan dalam kebijakan terkelola AWS AWSCloud9Administrator.

Contoh pernyataan kebijakan IAM berikut, yang dilampirkan ke entitas IAM, secara eksplisit mencegah entitas tersebut mengubah pengaturan anggota di lingkungan dengan Amazon Resource Name (ARN) yang ditentukan.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "cloud9:UpdateEnvironmentMembership", "Resource": "arn:aws:cloud9:us-east-2:123456789012:environment:81e900317347585a0601e04c8d52eaEX" } ] }

Menghapus, atau mencegah penghapusan, anggota lingkungan

Contoh pernyataan kebijakan IAM berikut, yang dilampirkan ke entitas IAM, mengizinkan entitas tersebut menghapus anggota mana pun dari lingkungan mana pun di akun mereka.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "cloud9:DeleteEnvironmentMembership", "Resource": "*" } ] }
catatan

Izin akses sebelumnya sudah disertakan dalam kebijakan terkelola AWS AWSCloud9Administrator.

Contoh pernyataan kebijakan IAM berikut, yang dilampirkan ke entitas IAM, secara eksplisit mencegah entitas tersebut menghapus anggota mana pun dari lingkungan dengan Nama Sumber Daya Amazon (ARN) yang ditentukan.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "cloud9:DeleteEnvironmentMembership", "Resource": "arn:aws:cloud9:us-east-2:123456789012:environment:81e900317347585a0601e04c8d52eaEX" } ] }

Menghapus, atau mencegah penghapusan, lingkungan

Contoh pernyataan kebijakan IAM berikut, yang dilampirkan ke entitas IAM, mengizinkan entitas tersebut menghapus lingkungan mana pun di akun mereka.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "cloud9:DeleteEnvironment", "Resource": "*" } ] }
catatan

Izin akses sebelumnya sudah disertakan dalam kebijakan terkelola AWS AWSCloud9Administrator.

Contoh pernyataan kebijakan IAM berikut, yang dilampirkan ke entitas IAM, secara eksplisit mencegah entitas tersebut menghapus lingkungan dengan Amazon Resource Name (ARN) yang ditentukan.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Deny", "Action": "cloud9:DeleteEnvironment", "Resource": "arn:aws:cloud9:us-east-2:123456789012:environment:81e900317347585a0601e04c8d52eaEX" } ] }

Kebijakan IAM khusus untuk pembuatan lingkungan SSM

Ada masalah izin saat ini yang terjadi saat membuat lingkungan SSM dengan AWSCloud9Administrator atau AWSCloud9User kebijakan yang dilampirkan. Contoh berikut pernyataan kebijakan IAM, ketika dilampirkan ke entitas IAM, memungkinkan pengguna untuk melampirkan dan menggunakan kebijakan AWS AWSCloud9Administrator terkelola atau. AWSCloud9User

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloud9:UpdateUserSettings", "cloud9:GetUserSettings", "iam:GetUser", "iam:ListUsers", "iam:ListRoles", "ec2:DescribeVpcs", "ec2:DescribeSubnets", "ec2:DescribeRouteTables" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "cloud9:CreateEnvironmentEC2", "cloud9:CreateEnvironmentSSH" ], "Resource": "*", "Condition": { "Null": { "cloud9:OwnerArn": "true" } } }, { "Effect": "Allow", "Action": [ "cloud9:GetUserPublicKey" ], "Resource": "*", "Condition": { "Null": { "cloud9:UserArn": "true" } } }, { "Effect": "Allow", "Action": [ "cloud9:DescribeEnvironmentMemberships" ], "Resource": [ "*" ], "Condition": { "Null": { "cloud9:UserArn": "true", "cloud9:EnvironmentId": "true" } } }, { "Effect": "Allow", "Action": [ "iam:CreateServiceLinkedRole" ], "Resource": "*", "Condition": { "StringLike": { "iam:AWSServiceName": "cloud9.amazonaws.com" } } }, { "Effect": "Allow", "Action": "ssm:StartSession", "Resource": "arn:aws:ec2:*:*:instance/*", "Condition": { "StringLike": { "ssm:resourceTag/aws:cloud9:environment": "*" }, "StringEquals": { "aws:CalledViaFirst": "cloud9.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "ssm:StartSession" ], "Resource": [ "arn:aws:ssm:*:*:document/*" ] }, { "Effect": "Allow", "Action": ["iam:ListInstanceProfilesForRole", "iam:CreateRole"], "Resource": ["arn:aws:iam::*:role/service-role/AWSCloud9SSMAccessRole"] }, { "Effect": "Allow", "Action": ["iam:AttachRolePolicy"], "Resource": ["arn:aws:iam::*:role/service-role/AWSCloud9SSMAccessRole"], "Condition": { "StringEquals": { "iam:PolicyARN": "arn:aws:iam::aws:policy/AWSCloud9SSMInstanceProfile" } } }, { "Effect": "Allow", "Action": "iam:PassRole", "Resource": "arn:aws:iam::*:role/service-role/AWSCloud9SSMAccessRole", "Condition": { "StringEquals": { "iam:PassedToService": "ec2.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "iam:CreateInstanceProfile", "iam:AddRoleToInstanceProfile" ], "Resource": [ "arn:aws:iam::*:instance-profile/cloud9/AWSCloud9SSMInstanceProfile" ] } ] }

Referensi izin AWS Cloud9

Anda dapat menggunakan kunci kondisi AWS lebar dalam AWS Cloud9 kebijakan Anda untuk menyatakan kondisi. Untuk daftar, lihat Elemen Kebijakan IAM JSON: Persyaratan dalam Panduan Pengguna IAM.

Anda menentukan tindakan di bidang Action kebijakan. Untuk menentukan tindakan, gunakan awalan cloud9: diikuti dengan nama operasi API (misalnya, "Action": "cloud9:DescribeEnvironments"). Untuk menentukan beberapa tindakan dalam satu pernyataan, pisahkan dengan koma (misalnya, "Action": [ "cloud9:UpdateEnvironment", "cloud9:DeleteEnvironment" ]).

Menggunakan karakter wildcard

Anda menentukan ARN, dengan atau tanpa karakter wildcard (*), sebagai nilai sumber daya di bidang Resource kebijakan. Anda dapat menggunakan wildcard untuk menentukan beberapa tindakan atau sumber daya. Misalnya, cloud9:* menentukan semua tindakan AWS Cloud9 dan cloud9:Describe* menentukan semua tindakan AWS Cloud9 yang dimulai dengan Describe.

Contoh berikut mengizinkan entitas IAM untuk mendapatkan informasi tentang lingkungan dan keanggotaan lingkungan untuk lingkungan mana pun di akun mereka.

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "cloud9:Describe*" ], "Resource": "*" } ] }
catatan

Izin akses sebelumnya sudah disertakan dalam kebijakan terkelola AWS AWSCloud9Administrator. Selain itu, bahwa izin akses sebelumnya lebih permisif daripada izin akses yang setara dalam kebijakan terkelola AWS AWSCloud9User.

Operasi AWS Cloud9 API dan izin yang diperlukan untuk tindakan

catatan

Anda dapat menggunakan tabel di bawah ini sebagai referensi saat menyiapkan kontrol akses dan menulis kebijakan izin untuk dilampirkan ke identitas IAM (kebijakan berbasis identitas).

Public API operationsTabel mencantumkan operasi API yang dapat dipanggil oleh pelanggan menggunakan SDK dan file. AWS Command Line Interface

Permission-only API operationsDaftar operasi API yang tidak langsung dapat dipanggil oleh kode pelanggan atau. AWS Command Line Interface Tetapi pengguna IAM memang memerlukan izin untuk operasi ini yang dipanggil saat AWS Cloud9 tindakan dilakukan menggunakan konsol.

Operasi API publik
Operasi AWS Cloud9 Izin yang diperlukan (tindakan API) Resource

CreateEnvironmentEC2

cloud9:CreateEnvironmentEC2

Diperlukan untuk membuat lingkungan pengembangan AWS Cloud9 EC2.

*

CreateEnvironmentMembership

cloud9:CreateEnvironmentMembership

Diperlukan untuk menambahkan anggota ke lingkungan.

arn:aws:cloud9:REGION_ID:ACCOUNT_ID:environment:ENVIRONMENT_ID

DeleteEnvironment

cloud9:DeleteEnvironment

Diperlukan untuk menghapus lingkungan.

arn:aws:cloud9:REGION_ID:ACCOUNT_ID:environment:ENVIRONMENT_ID

DeleteEnvironmentMembership

cloud9:DeleteEnvironmentMembership

Diperlukan untuk menghapus anggota dari lingkungan.

arn:aws:cloud9:REGION_ID:ACCOUNT_ID:environment:ENVIRONMENT_ID

DescribeEnvironmentMemberships

cloud9:DescribeEnvironmentMemberships

Diperlukan untuk mendapatkan daftar anggota di lingkungan.

*

DescribeEnvironments

cloud9:DescribeEnvironments

Diperlukan untuk mendapatkan informasi tentang lingkungan.

arn:aws:cloud9:REGION_ID:ACCOUNT_ID:environment:ENVIRONMENT_ID

DescribeEnvironmentStatus

cloud9:DescribeEnvironmentStatus

Diperlukan untuk mendapatkan informasi tentang status lingkungan.

arn:aws:cloud9:REGION_ID:ACCOUNT_ID:environment:ENVIRONMENT_ID

UpdateEnvironment

cloud9:UpdateEnvironment

Diperlukan untuk memperbarui pengaturan untuk lingkungan.

arn:aws:cloud9:REGION_ID:ACCOUNT_ID:environment:ENVIRONMENT_ID

UpdateEnvironmentMembership

cloud9:UpdateEnvironmentMembership

Diperlukan untuk memperbarui pengaturan untuk anggota di lingkungan.

arn:aws:cloud9:REGION_ID:ACCOUNT_ID:environment:ENVIRONMENT_ID

Operasi API hanya izin
Operasi AWS Cloud9 Deskripsi Dokumentasi konsol

ActivateEC2Remote

cloud9:ActivateEC2Remote

Memulai instans Amazon EC2 yang terhubung dengan AWS Cloud9 IDE Anda.

Membuka lingkungan di AWS Cloud9

CreateEnvironmentSSH

cloud9:CreateEnvironmentSSH

Menciptakan lingkungan pengembangan AWS Cloud9 SSH.

Membuat Lingkungan SSH

CreateEnvironmentToken

cloud9:CreateEnvironmentToken

Membuat token otentikasi yang memungkinkan koneksi antara AWS Cloud9 IDE dan lingkungan pengguna.

Membuat Lingkungan EC2

DescribeEC2Remote

cloud9:DescribeEC2Remote

Mendapat detail tentang koneksi ke lingkungan pengembangan EC2, termasuk host, pengguna, dan port.

Membuat Lingkungan EC2

DescribeSSHRemote

cloud9:DescribeSSHRemote

Mendapat detail tentang koneksi ke lingkungan pengembangan SSH, termasuk host, pengguna, dan port.

Membuat Lingkungan SSH

GetEnvironmentConfig

cloud9:GetEnvironmentConfig

Mendapat informasi konfigurasi yang digunakan untuk menginisialisasi AWS Cloud9 IDE.

Bekerja dengan AWS Cloud9 Integrated Development Environment (IDE)

GetEnvironmentSettings

cloud9:GetEnvironmentSettings

Mendapat pengaturan AWS Cloud9 IDE untuk lingkungan pengembangan tertentu.

Bekerja dengan AWS Cloud9 Integrated Development Environment (IDE)

GetMembershipSettings

cloud9:GetMembershipSettings

Mendapat pengaturan AWS Cloud9 IDE untuk anggota lingkungan tertentu.

Bekerja dengan lingkungan bersama di AWS Cloud9

GetUserPublicKey

cloud9:GetUserPublicKey

Mendapat kunci SSH publik pengguna, yang digunakan oleh AWS Cloud9 untuk terhubung ke lingkungan pengembangan SSH.

Membuat Lingkungan SSH

GetUserSettings

cloud9:GetUserSettings

Mendapat pengaturan AWS Cloud9 IDE untuk pengguna tertentu.

Bekerja dengan AWS Cloud9 Integrated Development Environment (IDE)

ModifyTemporaryCredentialsOnEnvironmentEC2

cloud9:ModifyTemporaryCredentialsOnEnvironmentEC2

Menetapkan kredensil sementara AWS terkelola pada instans Amazon EC2 yang digunakan oleh AWS Cloud9 lingkungan pengembangan terintegrasi (IDE).

Kredensial sementara terkelola AWS

UpdateEnvironmentSettings

cloud9:UpdateEnvironmentSettings

Memperbarui pengaturan AWS Cloud9 IDE untuk lingkungan pengembangan tertentu.

Bekerja dengan AWS Cloud9 Integrated Development Environment (IDE)

UpdateMembershipSettings

cloud9:UpdateMembershipSettings

Memperbarui pengaturan AWS Cloud9 IDE untuk anggota lingkungan tertentu.

Bekerja dengan lingkungan bersama di AWS Cloud9

UpdateSSHRemote

cloud9:UpdateSSHRemote

Memperbarui detail tentang koneksi ke lingkungan pengembangan SSH, termasuk host, pengguna, dan port.

Membuat Lingkungan SSH

UpdateUserSettings

cloud9:UpdateUserSettings

Memperbarui pengaturan AWS Cloud9 IDE untuk pengguna tertentu.

Bekerja dengan AWS Cloud9 Integrated Development Environment (IDE)

GetMigrationExperiences

cloud9:GetMigrationExperiences

Memberikan izin kepada AWS Cloud9 pengguna untuk mendapatkan pengalaman migrasi dari AWS Cloud9 ke CodeCatalyst.

Kredensial sementara terkelola AWS

Jika Anda hanya mencari daftar tindakan yang didukung oleh kredensial sementara terkelola AWS, lanjutkan ke Tindakan yang didukung oleh kredensial sementara terkelola AWS.

Untuk lingkungan pengembangan AWS Cloud9 EC2 ,AWS Cloud9 membuat kredensial akses AWS sementara yang tersedia untuk Anda di lingkungan. Kami menyebutnya kredensial sementara terkelola AWS. Hal ini memberikan manfaat berikut:

  • Anda tidak perlu menyimpan kredensial akses AWS permanen dari entitas AWS (misalnya, pengguna IAM) di mana pun di lingkungan. Hal ini mencegah kredensial tersebut diakses oleh anggota lingkungan tanpa sepengetahuan dan persetujuan Anda.

  • Anda tidak perlu menyiapkan, mengelola, atau melampirkan profil instans secara manual ke instans Amazon EC2 yang terhubung ke lingkungan. Profil instance adalah pendekatan lain untuk mengelola kredensil AWS akses sementara.

  • AWS Cloud9 terus memperbarui kredensial sementaranya, sehingga satu set kredensial hanya dapat digunakan untuk waktu yang terbatas. Ini adalah praktik terbaik keamanan AWS. Untuk informasi selengkapnya, lihat Membuat dan memperbarui kredensial sementara terkelola AWS.

  • AWS Cloud9 memberikan batasan tambahan tentang bagaimana kredensial sementaranya dapat digunakan untuk mengakses tindakan dan sumber daya AWS dari lingkungan. Ini juga merupakan praktik terbaik keamanan AWS.

penting

Saat ini, jika instans EC2 lingkungan Anda diluncurkan ke subnet pribadi, Anda tidak dapat menggunakan kredensil sementara AWS terkelola untuk mengizinkan lingkungan EC2 mengakses AWS layanan atas nama AWS entitas (misalnya, pengguna IAM).

Untuk informasi selengkapnya tentang kapan Anda dapat meluncurkan instans EC2 ke subnet privat, lihat Buat subnet untukAWS Cloud9.

catatan

Pertimbangkan untuk menggunakan kebijakan AWS terkelola, bukan kebijakan sebaris saat Anda menggunakan kredensil sementara AWS terkelola.

Begini cara kerja kredensi sementara AWS terkelola setiap kali lingkungan EC2 mencoba mengakses Layanan AWS atas nama AWS entitas (misalnya, pengguna IAM):

  1. AWS Cloud9 memeriksa untuk melihat apakah entitas AWS yang memanggil (misalnya, pengguna IAM) memiliki izin untuk mengambil tindakan yang diminta untuk sumber daya yang diminta di AWS. Jika izin tidak ada atau ditolak secara eksplisit, permintaan gagal.

  2. AWS Cloud9 memeriksa kredensial sementara terkelola AWS untuk melihat apakah izinnya mengizinkan tindakan yang diminta untuk sumber daya yang diminta di AWS. Jika izin tidak ada atau ditolak secara eksplisit, permintaan gagal. Untuk daftar izin yang didukung oleh kredensial sementara terkelola AWS, lihat Tindakan yang didukung oleh kredensial sementara terkelola AWS.

  • Jika AWS entitas dan kredenal sementara AWS terkelola mengizinkan tindakan yang diminta untuk sumber daya yang diminta, permintaan akan berhasil.

  • Jika AWS entitas atau kredensi sementara yang AWS dikelola secara eksplisit menolak atau gagal secara eksplisit mengizinkan tindakan yang diminta untuk sumber daya yang diminta, permintaan gagal. Ini berarti bahwa meskipun entitas AWS yang memanggil memiliki izin yang benar, permintaan akan gagal jika AWS Cloud9 juga tidak mengizinkannya secara eksplisit. Demikian juga, jika AWS Cloud9 memungkinkan tindakan tertentu diambil untuk sumber daya tertentu, permintaan gagal jika AWS entitas juga tidak secara eksplisit mengizinkannya.

Pemilik lingkungan EC2 dapat mengaktifkan atau menonaktifkan kredensial sementara terkelola AWS untuk lingkungan tersebut kapan saja, sebagai berikut:

  1. Dengan lingkungan terbuka, di AWS Cloud9 IDE, pada bilah menu pilih AWS Cloud9, Preferensi.

  2. Pada tab Preferensi, di panel navigasi, pilih Pengaturan AWS, Kredensial.

  3. Gunakan Kredensial sementara terkelola AWS untuk mengaktifkan atau menonaktifkan kredensial sementara terkelola AWS.

catatan

Anda juga dapat mengaktifkan atau menonaktifkan kredenal sementara AWS terkelola dengan memanggil operasi AWS Cloud9 API UpdateEnvironmentdan menetapkan nilai ke parameter. managedCredentialsAction Anda dapat meminta operasi API ini menggunakan AWS alat standar seperti AWS SDK dan. AWS CLI

Jika Anda menonaktifkan kredensi sementara AWS terkelola, lingkungan tidak dapat mengakses manapunLayanan AWS, terlepas dari AWS entitas yang membuat permintaan. Tetapi, misalkan Anda tidak dapat atau tidak ingin mengaktifkan kredensil sementara AWS terkelola untuk suatu lingkungan, dan Anda masih memerlukan lingkungan untuk mengakses. Layanan AWS Kemudian, pertimbangkan alternatif berikut:

Alternatif sebelumnya mengesampingkan semua izin yang diizinkan (atau ditolak) oleh kredensial sementara terkelola AWS di lingkungan EC2.

Tindakan yang didukung oleh kredensial sementara terkelola AWS

Untuk lingkungan pengembangan AWS Cloud9 EC2, kredensi sementara AWS terkelola memungkinkan semua AWS tindakan untuk semua AWS sumber daya di pemanggilAkun AWS, dengan batasan berikut:

  • Untuk AWS Cloud9, hanya tindakan berikut yang diizinkan:

    • cloud9:CreateEnvironmentEC2

    • cloud9:CreateEnvironmentSSH

    • cloud9:DescribeEnvironmentMemberships

    • cloud9:DescribeEnvironments

    • cloud9:DescribeEnvironmentStatus

    • cloud9:UpdateEnvironment

  • Untuk IAM, hanya tindakan berikut yang diizinkan:

    • iam:AttachRolePolicy

    • iam:ChangePassword

    • iam:CreatePolicy

    • iam:CreatePolicyVersion

    • iam:CreateRole

    • iam:CreateServiceLinkedRole

    • iam:DeletePolicy

    • iam:DeletePolicyVersion

    • iam:DeleteRole

    • iam:DeleteRolePolicy

    • iam:DeleteSSHPublicKey

    • iam:DetachRolePolicy

    • iam:GetInstanceProfile

    • iam:GetPolicy

    • iam:GetPolicyVersion

    • iam:GetRole

    • iam:GetRolePolicy

    • iam:GetSSHPublicKey

    • iam:GetUser

    • iam:List*

    • iam:PassRole

    • iam:PutRolePolicy

    • iam:SetDefaultPolicyVersion

    • iam:UpdateAssumeRolePolicy

    • iam:UpdateRoleDescription

    • iam:UpdateSSHPublicKey

    • iam:UploadSSHPublicKey

  • Semua tindakan IAM yang berinteraksi dengan peran hanya diizinkan untuk nama peran yang dimulai dengan Cloud9-. Namun, iam:PassRole bekerja dengan semua nama peran.

  • Untuk AWS Security Token Service (AWS STS), hanya tindakan berikut yang diizinkan:

    • sts:GetCallerIdentity

    • sts:DecodeAuthorizationMessage

  • Semua tindakan AWS yang didukung dibatasi untuk alamat IP lingkungan. Ini adalah praktik terbaik keamanan AWS.

Jika AWS Cloud9 tidak mendukung tindakan atau sumber daya yang Anda perlukan untuk diakses oleh lingkungan EC2, atau jika kredensial sementara terkelola AWS dimatikan untuk lingkungan EC2 dan Anda tidak dapat mengaktifkannya kembali, pertimbangkan alternatif berikut:

Alternatif sebelumnya mengesampingkan semua izin yang diizinkan (atau ditolak) oleh kredensial sementara terkelola AWS di lingkungan EC2.

Membuat dan memperbarui kredensial sementara terkelola AWS

Untuk lingkungan pengembangan AWS Cloud9 EC2, kredensial sementara terkelola AWS dibuat saat pertama kali Anda membuka lingkungan.

Kredensial sementara terkelola AWS diperbarui dalam salah satu kondisi berikut:

  • Setiap kali periode waktu tertentu berlalu. Saat ini, ini setiap lima menit.

  • Setiap kali Anda memuat ulang tab peramban web yang menampilkan IDE untuk lingkungan.

  • Ketika stempel waktu yang tercantum dalam file ~/.aws/credentials untuk lingkungan tercapai.

  • Jika pengaturan kredensial sementara terkelola AWS diatur ke nonaktif, kapan pun Anda mengaktifkannya kembali. (Untuk melihat atau mengubah pengaturan ini, pilih AWS Cloud9, Preferensi di bilah menu IDE. Pada tab Preferensi, di panel navigasi, pilih Pengaturan AWS, Kredensial.)

  • Untuk keamanan, kredensial sementara terkelola AWS akan kedaluwarsa secara otomatis setelah 15 menit. Agar kredensial di-refresh, pemilik lingkungan harus terhubung ke lingkungan AWS Cloud9 melalui IDE. Untuk informasi selengkapnya tentang peran pemilik lingkungan, lihat Mengontrol akses ke kredensial sementara terkelola AWS.

Mengontrol akses ke kredensial sementara terkelola AWS

Kolaborator dengan kredensi sementara AWS terkelola dapat digunakan AWS Cloud9 untuk berinteraksi dengan orang lain. Layanan AWS Untuk memastikan bahwa hanya kolaborator tepercaya yang diberikan kredensial sementara terkelola AWS, kredensial ini dinonaktifkan jika anggota baru ditambahkan oleh siapa pun selain pemilik lingkungan. Kredensial dinonaktifkan oleh penghapusan file ~/.aws/credentials.

penting

Kredensial sementara terkelola AWS juga kedaluwarsa secara otomatis setiap 15 menit. Agar kredensial di-refresh sehingga kolaborator dapat terus menggunakannya, pemilik lingkungan harus terhubung ke lingkungan AWS Cloud9 melalui IDE.

Hanya pemilik lingkungan yang dapat mengaktifkan kembali kredensial sementara terkelola AWS sehingga dapat dibagikan dengan anggota lain. Ketika pemilik lingkungan membuka IDE, kotak dialog mengonfirmasi bahwa kredensial sementara terkelola AWS dinonaktifkan. Pemilik lingkungan dapat mengaktifkan kembali kredensial untuk semua anggota atau tetap membuatnya dinonaktifkan untuk semua anggota.

Awas

Untuk mematuhi praktik keamanan terbaik, tetap nonaktifkan kredensial sementara terkelola jika Anda tidak yakin tentang identitas pengguna terakhir yang ditambahkan ke lingkungan. Anda dapat memeriksa daftar anggota dengan izin baca/tulis di jendela Kolaborasi.