Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Akses sumber daya lintas akun di IAM
Untuk beberapa AWS layanan, Anda dapat memberikan akses lintas akun ke sumber daya Anda menggunakanIAM. Untuk melakukannya, Anda dapat melampirkan kebijakan sumber daya langsung ke sumber daya yang ingin Anda bagikan, atau menggunakan peran sebagai proxy.
Untuk berbagi sumber daya secara langsung, sumber daya yang ingin Anda bagikan harus mendukung kebijakan berbasis sumber daya. Tidak seperti kebijakan berbasis identitas untuk peran, kebijakan berbasis sumber daya menentukan siapa (prinsipal mana) yang dapat mengakses sumber daya tersebut.
Gunakan peran sebagai proxy saat Anda ingin mengakses sumber daya di akun lain yang tidak mendukung kebijakan berbasis sumber daya.
Untuk detail tentang perbedaan antara jenis kebijakan ini, lihatKebijakan berbasis identitas dan kebijakan berbasis sumber daya.
catatan
IAMperan dan kebijakan berbasis sumber daya mendelegasikan akses di seluruh akun hanya dalam satu partisi. Misalnya, Anda memiliki akun di AS Barat (California N.) di aws
partisi standar. Anda juga memiliki akun di China di aws-cn
partisi. Anda tidak dapat menggunakan kebijakan berbasis sumber daya di akun Anda di Indonesia untuk mengizinkan akses bagi pengguna di akun standar Anda. AWS
Akses lintas akun menggunakan peran
Tidak semua AWS layanan mendukung kebijakan berbasis sumber daya. Untuk layanan ini, Anda dapat menggunakan IAM peran lintas akun untuk memusatkan manajemen izin saat menyediakan akses lintas akun ke beberapa layanan. Peran lintas akun adalah IAM IAM peran yang mencakup kebijakan kepercayaan yang memungkinkan IAM kepala sekolah di AWS akun lain untuk mengambil peran tersebut. Sederhananya, Anda dapat membuat peran dalam satu AWS akun yang mendelegasikan izin tertentu ke akun lain AWS .
Untuk informasi tentang melampirkan kebijakan ke IAM identitas, lihatKelola IAM kebijakan.
catatan
Saat prinsipal beralih ke peran untuk sementara menggunakan izin peran, mereka melepaskan izin aslinya dan mengambil izin yang ditetapkan ke peran yang diasumsikan.
Mari kita lihat keseluruhan proses yang berlaku untuk perangkat lunak APN Mitra yang perlu mengakses akun pelanggan.
-
Pelanggan membuat IAM peran di akun mereka sendiri dengan kebijakan yang memungkinkan akses sumber daya Amazon S3 yang dibutuhkan APN mitra. Dalam contoh ini, nama peran adalah
APNPartner
.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "s3:*", "Resource": [ "arn:aws:s3:::bucket-name" ] } ] }
-
Kemudian, pelanggan menentukan bahwa peran tersebut dapat diasumsikan oleh AWS akun mitra dengan memberikan Akun AWS ID APN Mitra dalam kebijakan kepercayaan untuk
APNPartner
peran tersebut.{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "AWS": "arn:aws:iam::
APN-account-ID
:role/APN-user-name
" }, "Action": "sts:AssumeRole" } ] } -
Pelanggan memberikan Nama Sumber Daya Amazon (ARN) peran tersebut kepada APN mitra. ARNItu adalah nama peran yang sepenuhnya memenuhi syarat.
arn:aws:iam::
APN-ACCOUNT-ID
:role/APNPartner
catatan
Sebaiknya gunakan ID eksternal dalam situasi multi-penyewa. Untuk detailnya, lihat Akses ke Akun AWS yang dimiliki oleh pihak ketiga.
-
Ketika perangkat lunak APN Mitra perlu mengakses akun pelanggan, perangkat lunak memanggil bagian AssumeRoleAPIdalam AWS Security Token Service dengan peran dalam akun pelanggan. ARN STSmengembalikan AWS kredensi sementara yang memungkinkan perangkat lunak untuk melakukan tugasnya.
Untuk contoh lain pemberian akses lintas akun menggunakan peran, lihat. Akses untuk IAM pengguna lain Akun AWS yang Anda miliki Anda juga dapat mengikutiIAMtutorial: Delegasikan akses di seluruh AWS akun menggunakan IAM peran.
Akses lintas akun menggunakan kebijakan berbasis sumber daya
Saat akun mengakses sumber daya melalui akun lain menggunakan kebijakan berbasis sumber daya, prinsipal masih berfungsi di akun tepercaya dan tidak harus melepaskan izinnya untuk menerima izin peran. Dengan kata lain, kepala sekolah terus memiliki akses ke sumber daya di akun tepercaya sambil memiliki akses ke sumber daya di akun kepercayaan. Ini berguna untuk tugas seperti menyalin informasi ke atau dari sumber daya yang dibagikan di akun lain.
Prinsipal yang dapat Anda tentukan dalam kebijakan berbasis sumber daya mencakup akun, IAM pengguna, pengguna gabungan, peran, sesi IAM peran yang diasumsikan, atau layanan. AWS Untuk informasi selengkapnya, lihat Menentukan prinsipal.
Untuk mengetahui apakah prinsipal di akun di luar zona kepercayaan Anda (organisasi atau akun tepercaya) memiliki akses untuk mengambil peran Anda, lihat Mengidentifikasi sumber daya yang dibagikan dengan entitas eksternal.
Daftar berikut mencakup beberapa AWS layanan yang mendukung kebijakan berbasis sumber daya. Untuk daftar lengkap dari semakin banyak AWS layanan yang mendukung melampirkan kebijakan izin ke sumber daya, bukan prinsipal, lihat AWS layanan yang bekerja dengan IAM dan cari layanan yang memiliki Ya di kolom Berbasis Sumber Daya.
-
Bucket Amazon S3 — Kebijakan ini dilampirkan ke bucket, tetapi kebijakan mengontrol akses ke bucket dan objek di dalamnya. Untuk informasi selengkapnya, lihat Kebijakan Bucket untuk Amazon S3 di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon. Dalam beberapa kasus, yang terbaik mungkin adalah menggunakan peran untuk akses lintas akun ke Amazon S3 Untuk informasi selengkapnya, lihat contoh penelusuran di Panduan Pengguna Layanan Penyimpanan Sederhana Amazon.
-
Topik Amazon Simple Notification Service (AmazonSNS) — Untuk informasi selengkapnya, buka Contoh kasus untuk kontrol SNS akses Amazon di Panduan Pengembang Layanan Pemberitahuan Sederhana Amazon.
-
Antrian Layanan Antrian Sederhana Amazon (AmazonSQS) - Untuk informasi selengkapnya, buka Lampiran: Bahasa Kebijakan Akses di Panduan Pengembang Layanan Antrian Sederhana Amazon.
Kebijakan berbasis sumber daya untuk mendelegasikan izin AWS
Jika sumber daya memberikan izin kepada prinsipal di akun Anda, Anda dapat mendelegasikan izin tersebut ke identitas tertentu. IAM Identitas adalah pengguna, kelompok pengguna, atau peran dalam akun Anda. Anda mendelegasikan izin dengan melampirkan kebijakan ke identitas. Anda dapat memberikan izin maksimum yang diizinkan oleh akun pemilik sumber daya.
penting
Dalam akses lintas akun, prinsipal membutuhkan Allow
kebijakan identitas dan kebijakan berbasis sumber daya.
Asumsikan bahwa kebijakan berbasis sumber daya memberi semua prinsipal di akun Anda akses administratif penuh ke sumber daya. Kemudian Anda dapat mendelegasikan akses penuh, akses hanya-baca, atau akses sebagian lainnya ke kepala sekolah di akun Anda. AWS Alternatifnya, jika kebijakan berbasis sumber daya hanya memberikan izin daftar, maka Anda hanya dapat mendelegasikan akses daftar. Jika Anda mencoba untuk mendelegasikan lebih banyak izin dari yang dimiliki akun Anda, prinsipal Anda masih hanya akan memiliki akses daftar.
Untuk informasi selengkapnya tentang bagaimana keputusan ini dibuat, lihat Menentukan apakah permintaan diizinkan atau ditolak dalam akun.
catatan
IAMperan dan kebijakan berbasis sumber daya mendelegasikan akses di seluruh akun hanya dalam satu partisi. Misalnya, Anda tidak dapat menambahkan akses lintas akun antara akun dalam partisi aws
standar dan akun dalam partisi aws-cn
.
Sebagai contoh, anggaplah bahwa Anda mengelola AccountA
dan AccountB
. Di Accounta, Anda memiliki bucket Amazon S3 bernama. BucketA
-
Anda melampirkan kebijakan berbasis sumber daya
BucketA
yang memungkinkan semua prinsipal di accountB akses penuh ke objek di bucket Anda. Mereka dapat membuat, membaca, atau menghapus objek apa pun dalam bucket tersebut.{ "Version": "2012-10-17", "Statement": [ { "Sid": "PrincipalAccess", "Effect": "Allow", "Principal": {"AWS": "arn:aws:iam::AccountB:root"}, "Action": "s3:*", "Resource": "arn:aws:s3:::BucketA/*" } ] }
AccountA memberikan accountB akses penuh ke BucketA dengan menamai accounTB sebagai prinsipal dalam kebijakan berbasis sumber daya. Akibatnya, accounTB berwenang untuk melakukan tindakan apa pun pada BuckETA, dan administrator accountB dapat mendelegasikan akses ke penggunanya di AccounTB.
Pengguna root accountB memiliki semua izin yang diberikan ke akun. Oleh karena itu, pengguna root memiliki akses penuh ke BuckEta.
-
Di accountB, lampirkan kebijakan ke IAM pengguna bernama User2. Kebijakan tersebut memungkinkan pengguna akses hanya-baca ke objek di BuckEta. Itu berarti bahwa User2 dapat melihat objek, tetapi tidak membuat, mengedit, atau menghapusnya.
{ "Version": "2012-10-17", "Statement": [ { "Effect" : "Allow", "Action" : [ "s3:Get*", "s3:List*" ], "Resource" : "arn:aws:s3:::BucketA/*" } ] }
Tingkat akses maksimum yang dapat didelegasikan accountB adalah tingkat akses yang diberikan ke akun. Dalam hal ini, kebijakan berbasis sumber daya memberikan akses penuh ke accounTB, tetapi User2 hanya diberikan akses read-only.
Administrator AccountB tidak memberikan akses ke User1. Secara default, pengguna tidak memiliki izin apa pun kecuali yang diberikan secara eksplisit, sehingga User1 tidak memiliki akses ke BuckEta.
IAMmengevaluasi izin kepala sekolah pada saat kepala sekolah membuat permintaan. Jika Anda menggunakan wildcard (*) untuk memberi pengguna akses penuh ke sumber daya Anda, prinsipal dapat mengakses sumber daya apa pun yang dapat diakses AWS akun Anda. Hal ini berlaku bahkan untuk sumber daya yang Anda tambahkan atau Anda memiliki akses kepadanya setelah membuat kebijakan pengguna.
Dalam contoh sebelumnya, jika accounTB telah melampirkan kebijakan ke User2 yang memungkinkan akses penuh ke semua sumber daya di semua akun, User2 akan secara otomatis memiliki akses ke sumber daya apa pun yang dapat diakses oleh AccounTB. Ini termasuk akses BuckEta dan akses ke sumber daya lain yang diberikan oleh kebijakan berbasis sumber daya di Accounta.
Untuk informasi selengkapnya tentang penggunaan peran yang kompleks, seperti memberikan akses ke aplikasi dan layanan, lihatSkenario umum untuk IAM peran.
penting
Berikan akses hanya kepada entitas yang Anda percayai, dan berikan tingkat akses minimum yang diperlukan. Setiap kali entitas tepercaya adalah AWS akun lain, IAM prinsipal apa pun dapat diberikan akses ke sumber daya Anda. AWS Akun tepercaya dapat mendelegasikan akses hanya sejauh telah diberikan akses; itu tidak dapat mendelegasikan lebih banyak akses daripada akun itu sendiri telah diberikan.
Untuk informasi tentang izin, kebijakan, dan bahasa kebijakan izin yang Anda gunakan untuk menyusun kebijakan, lihat Manajemen akses untuk AWS sumber daya.