Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Kontrol akses ke layanan VPC Lattice menggunakan kebijakan autentikasi
Kebijakan autentikasi VPC Lattice adalah dokumen kebijakan IAM yang Anda lampirkan ke jaringan layanan atau layanan untuk mengontrol apakah prinsipal tertentu memiliki akses ke grup layanan atau layanan tertentu. Anda dapat melampirkan satu kebijakan autentikasi ke setiap jaringan layanan atau layanan yang ingin Anda kontrol aksesnya.
catatan
Kebijakan autentikasi pada jaringan layanan tidak berlaku untuk konfigurasi sumber daya di jaringan layanan.
Kebijakan autentikasi berbeda dengan kebijakan berbasis identitas IAM. Kebijakan berbasis identitas IAM dilampirkan ke pengguna, grup, atau peran IAM dan menentukan tindakan apa yang dapat dilakukan identitas tersebut pada sumber daya mana. Kebijakan autentikasi dilampirkan ke layanan dan jaringan layanan. Agar otorisasi berhasil, kebijakan autentikasi dan kebijakan berbasis identitas harus memiliki pernyataan izin eksplisit. Untuk informasi selengkapnya, lihat Cara kerja otorisasi.
Anda dapat menggunakan konsol AWS CLI dan untuk melihat, menambah, memperbarui, atau menghapus kebijakan autentikasi pada layanan dan jaringan layanan. Saat Anda menambahkan, memperbarui, atau menghapus kebijakan autentikasi, mungkin perlu beberapa menit untuk bersiap-siap. Saat menggunakan AWS CLI, pastikan Anda berada di Wilayah yang benar. Anda dapat mengubah Wilayah default untuk profil Anda, atau menggunakan --region parameter dengan perintah.
Daftar Isi
Untuk memulai kebijakan autentikasi, ikuti prosedur untuk membuat kebijakan autentikasi yang berlaku untuk jaringan layanan. Untuk izin yang lebih ketat yang tidak ingin diterapkan ke layanan lain, Anda dapat mengatur kebijakan autentikasi pada layanan individual secara opsional.
Tu AWS CLI gas berikut menunjukkan cara mengelola akses ke jaringan layanan menggunakan kebijakan autentikasi. Untuk petunjuk yang menggunakan konsol, lihatJaringan layanan di VPC Lattice.
Tugas
Menambahkan kebijakan autentikasi ke jaringan layanan
Ikuti langkah-langkah di bagian ini untuk menggunakan AWS CLI untuk:
-
Aktifkan kontrol akses pada jaringan layanan menggunakan IAM.
-
Tambahkan kebijakan autentikasi ke jaringan layanan. Jika Anda tidak menambahkan kebijakan autentikasi, semua lalu lintas akan mendapatkan kesalahan akses ditolak.
Untuk mengaktifkan kontrol akses dan menambahkan kebijakan autentikasi ke jaringan layanan baru
-
Untuk mengaktifkan kontrol akses pada jaringan layanan sehingga dapat menggunakan kebijakan autentikasi, gunakan create-service-network perintah dengan
--auth-typeopsi dan nilaiAWS_IAM.aws vpc-lattice create-service-network --nameName--auth-type AWS_IAM [--tagsTagSpecification]Jika berhasil, perintah mengembalikan output yang serupa dengan berikut.
{ "arn": "arn", "authType": "AWS_IAM", "id": "sn-0123456789abcdef0", "name": "Name" } -
Gunakan put-auth-policy perintah, tentukan ID jaringan layanan tempat Anda ingin menambahkan kebijakan autentikasi dan kebijakan autentikasi yang ingin Anda tambahkan.
Misalnya, gunakan perintah berikut untuk membuat kebijakan autentikasi untuk jaringan layanan dengan ID
.sn-0123456789abcdef0aws vpc-lattice put-auth-policy --resource-identifiersn-0123456789abcdef0--policyfile://policy.jsonGunakan JSON untuk membuat definisi kebijakan. Untuk informasi selengkapnya, lihat Elemen umum dalam kebijakan autentikasi.
Jika berhasil, perintah ini mengembalikan output yang serupa dengan yang berikut ini.
{ "policy": "policy", "state": "Active" }
Untuk mengaktifkan kontrol akses dan menambahkan kebijakan autentikasi ke jaringan layanan yang ada
-
Untuk mengaktifkan kontrol akses pada jaringan layanan sehingga dapat menggunakan kebijakan autentikasi, gunakan update-service-network perintah dengan
--auth-typeopsi dan nilaiAWS_IAM.aws vpc-lattice update-service-network --service-network-identifiersn-0123456789abcdef0--auth-type AWS_IAMJika berhasil, perintah mengembalikan output yang serupa dengan berikut.
{ "arn": "arn", "authType": "AWS_IAM", "id": "sn-0123456789abcdef0", "name": "Name" } -
Gunakan put-auth-policy perintah, tentukan ID jaringan layanan tempat Anda ingin menambahkan kebijakan autentikasi dan kebijakan autentikasi yang ingin Anda tambahkan.
aws vpc-lattice put-auth-policy --resource-identifiersn-0123456789abcdef0--policyfile://policy.jsonGunakan JSON untuk membuat definisi kebijakan. Untuk informasi selengkapnya, lihat Elemen umum dalam kebijakan autentikasi.
Jika berhasil, perintah ini mengembalikan output yang serupa dengan yang berikut ini.
{ "policy": "policy", "state": "Active" }
Mengubah jenis autentikasi jaringan layanan
Untuk menonaktifkan kebijakan autentikasi untuk jaringan layanan
Gunakan update-service-network perintah dengan --auth-type opsi dan nilaiNONE.
aws vpc-lattice update-service-network --service-network-identifiersn-0123456789abcdef0--auth-type NONE
Jika Anda perlu mengaktifkan kebijakan autentikasi lagi nanti, jalankan perintah ini dengan yang AWS_IAM ditentukan untuk --auth-type opsi tersebut.
Menghapus kebijakan autentikasi dari jaringan layanan
Untuk menghapus kebijakan autentikasi dari jaringan layanan
Gunakan perintah delete-auth-policy.
aws vpc-lattice delete-auth-policy --resource-identifiersn-0123456789abcdef0
Permintaan gagal jika Anda menghapus kebijakan autentikasi sebelum mengubah jenis autentikasi jaringan layanan menjadi. NONE
Tu AWS CLI gas berikut menunjukkan cara mengelola akses ke layanan menggunakan kebijakan autentikasi. Untuk petunjuk yang menggunakan konsol, lihatLayanan di VPC Lattice.
Tugas
Menambahkan kebijakan autentikasi ke layanan
Ikuti langkah-langkah ini untuk menggunakan AWS CLI ke:
-
Aktifkan kontrol akses pada layanan menggunakan IAM.
-
Tambahkan kebijakan autentikasi ke layanan. Jika Anda tidak menambahkan kebijakan autentikasi, semua lalu lintas akan mendapatkan kesalahan akses ditolak.
Untuk mengaktifkan kontrol akses dan menambahkan kebijakan autentikasi ke layanan baru
-
Untuk mengaktifkan kontrol akses pada layanan sehingga dapat menggunakan kebijakan autentikasi, gunakan create-service perintah dengan
--auth-typeopsi dan nilaiAWS_IAM.aws vpc-lattice create-service --nameName--auth-type AWS_IAM [--tagsTagSpecification]Jika berhasil, perintah mengembalikan output yang serupa dengan berikut.
{ "arn": "arn", "authType": "AWS_IAM", "dnsEntry": { ... }, "id": "svc-0123456789abcdef0", "name": "Name", "status": "CREATE_IN_PROGRESS" } -
Gunakan put-auth-policy perintah, tentukan ID layanan tempat Anda ingin menambahkan kebijakan autentikasi dan kebijakan autentikasi yang ingin Anda tambahkan.
Misalnya, gunakan perintah berikut untuk membuat kebijakan autentikasi untuk layanan dengan ID
svc-0123456789abcdef0.aws vpc-lattice put-auth-policy --resource-identifiersvc-0123456789abcdef0--policyfile://policy.jsonGunakan JSON untuk membuat definisi kebijakan. Untuk informasi selengkapnya, lihat Elemen umum dalam kebijakan autentikasi.
Jika berhasil, perintah ini mengembalikan output yang serupa dengan yang berikut ini.
{ "policy": "policy", "state": "Active" }
Untuk mengaktifkan kontrol akses dan menambahkan kebijakan autentikasi ke layanan yang ada
-
Untuk mengaktifkan kontrol akses pada layanan sehingga dapat menggunakan kebijakan autentikasi, gunakan update-service perintah dengan
--auth-typeopsi dan nilaiAWS_IAM.aws vpc-lattice update-service --service-identifiersvc-0123456789abcdef0--auth-type AWS_IAMJika berhasil, perintah mengembalikan output yang serupa dengan berikut.
{ "arn": "arn", "authType": "AWS_IAM", "id": "svc-0123456789abcdef0", "name": "Name" } -
Gunakan put-auth-policy perintah, tentukan ID layanan tempat Anda ingin menambahkan kebijakan autentikasi dan kebijakan autentikasi yang ingin Anda tambahkan.
aws vpc-lattice put-auth-policy --resource-identifiersvc-0123456789abcdef0--policyfile://policy.jsonGunakan JSON untuk membuat definisi kebijakan. Untuk informasi selengkapnya, lihat Elemen umum dalam kebijakan autentikasi.
Jika berhasil, perintah ini mengembalikan output yang serupa dengan yang berikut ini.
{ "policy": "policy", "state": "Active" }
Mengubah jenis autentikasi layanan
Untuk menonaktifkan kebijakan autentikasi untuk layanan
Gunakan update-service perintah dengan --auth-type opsi dan nilaiNONE.
aws vpc-lattice update-service --service-identifiersvc-0123456789abcdef0--auth-type NONE
Jika Anda perlu mengaktifkan kebijakan autentikasi lagi nanti, jalankan perintah ini dengan yang AWS_IAM ditentukan untuk --auth-type opsi tersebut.
Menghapus kebijakan autentikasi dari layanan
Untuk menghapus kebijakan autentikasi dari layanan
Gunakan perintah delete-auth-policy.
aws vpc-lattice delete-auth-policy --resource-identifiersvc-0123456789abcdef0
Permintaan gagal jika Anda menghapus kebijakan autentikasi sebelum mengubah jenis autentikasi layanan menjadi. NONE
Jika Anda mengaktifkan kebijakan autentikasi yang memerlukan permintaan terautentikasi ke layanan, permintaan apa pun ke layanan tersebut harus berisi tanda tangan permintaan yang valid yang dihitung menggunakan SigV4 (SigV4). Untuk informasi selengkapnya, lihat Permintaan terautentikasi SIGv4 untuk Amazon VPC Lattice.
Elemen umum dalam kebijakan autentikasi
Kebijakan autentikasi VPC Lattice ditentukan menggunakan sintaks yang sama dengan kebijakan IAM. Untuk informasi selengkapnya, lihat Identity-based kebijakan dan kebijakan berbasis sumber daya di Panduan Pengguna IAM.
Kebijakan autentikasi berisi elemen-elemen berikut:
-
Prinsi pal — Orang atau aplikasi yang diizinkan mengakses tindakan dan sumber daya dalam pernyataan. Dalam kebijakan autentikasi, prinsipal adalah entitas IAM yang merupakan penerima izin ini. Prinsipal diautentikasi sebagai entitas IAM untuk membuat permintaan ke sumber daya tertentu, atau kelompok sumber daya seperti dalam kasus layanan dalam jaringan layanan.
Anda harus menentukan principal dalam kebijakan berbasis sumber daya. Prinsipal dapat mencakup akun, pengguna, peran, pengguna federasi, atau AWS layanan. Untuk informasi selengkapnya, lihat Elemen kebijakan AWS JSON: Prinsi p di Panduan Pengguna IAM.
-
Efek — Efek ketika prinsipal yang ditentukan meminta tindakan tertentu. Ini bisa berupa
AllowatauDeny. Secara default, ketika Anda mengaktifkan kontrol akses pada layanan atau jaringan layanan menggunakan IAM, prinsipal tidak memiliki izin untuk membuat permintaan ke layanan atau jaringan layanan. -
T indakan — Tindakan API spesifik yang Anda berikan atau menolak izin. VPC Lattice mendukung tindakan yang menggunakan
vpc-lattice-svcsawalan. Untuk informasi selengkapnya, lihat T indakan yang ditentukan oleh Amazon VPC Lattice Services di Refer ensi O torisasi Layanan. -
Sumber Daya — Layanan yang dipengaruhi oleh tindakan.
-
Kondisi — Kondisi bersifat opsional. Anda dapat menggunakannya untuk mengontrol kapan kebijakan Anda berlaku. Untuk informasi selengkapnya, lihat Kunci Kondisi untuk Layanan Lattice Amazon VPC di Refer ensi O torisasi Layanan.
Saat Anda membuat dan mengelola kebijakan autentikasi, Anda mungkin ingin menggunakan IAM Policy Generator.
Persyaratan
Kebijakan dalam JSON tidak boleh berisi baris baru atau baris kosong.
Format sumber daya untuk kebijakan autentikasi
Anda dapat membatasi akses ke sumber daya tertentu dengan membuat kebijakan autentikasi yang menggunakan skema pencocokan dengan <serviceARN>/<path> pola dan kode Resource elemen seperti yang ditunjukkan dalam contoh berikut.
| Protokol | Contoh |
|---|---|
| HTTP |
|
| gRPC |
|
Gunakan format sumber daya Amazon Resource Name (ARN) berikut untuk<serviceARN>:
arn:aws:vpc-lattice:region:account-id:service/service-id
Contoh:
"Resource": "arn:aws:vpc-lattice:us-west-2:123456789012:service/svc-0123456789abcdef0"
Kunci kondisi yang dapat digunakan dalam kebijakan autentikasi
Akses dapat dikendalikan lebih lanjut oleh kunci kondisi di elemen Kondisi kebijakan autentikasi. Kunci kondisi ini hadir untuk evaluasi tergantung pada protokol dan apakah permintaan ditandatangani dengan Sig nature Version 4 (SIGv4) atau anonim. Kunci kondisi peka huruf besar/kecil.
AWS menyediakan kunci kondisi global yang dapat Anda gunakan untuk mengontrol akses, seperti aws:PrincipalOrgID danaws:SourceIp. Untuk melihat daftar kunci kondisi AWS global, lihat kunci konteks kondisi AWS global di Panduan Pengguna IAM.
Kisah berikut mencantumkan kunci kondisi VPC Lattice. Untuk informasi selengkapnya, lihat Kunci Kondisi untuk Layanan Lattice Amazon VPC di Refer ensi O torisasi Layanan.
| Kunci syarat | Deskripsi | Contoh | Tersedia untuk penelepon anonim (tidak diautentikasi)? | Tersedia untuk gRPC? |
|---|---|---|---|---|
vpc-lattice-svcs:Port |
Memfilter akses oleh port layanan yang diminta | 80 | Ya | Ya |
vpc-lattice-svcs:RequestMethod |
Memfilter akses dengan metode permintaan | GET | Ya | Selalu POSTING |
vpc-lattice-svcs:RequestPath |
Memfilter akses berdasarkan bagian jalur dari URL permintaan | /path | Ya | Ya |
vpc-lattice-svcs:RequestHeader/ |
Memfilter akses dengan pasangan nama-nilai header di header permintaan | content-type: application/json | Ya | Ya |
vpc-lattice-svcs:RequestQueryString/ |
Memfilter akses berdasarkan pasangan kunci-nilai string kueri di URL permintaan | quux: [corge, grault] | Ya | Tidak |
vpc-lattice-svcs:ServiceNetworkArn |
Memfilter akses oleh ARN dari jaringan layanan layanan yang menerima permintaan | arn:aws:vpc-lattice:us-west-2:123456789012:servicenetwork/sn-0123456789abcdef0 | Ya | Ya |
vpc-lattice-svcs:ServiceArn |
Memfilter akses oleh ARN dari layanan yang menerima permintaan | arn:aws:vpc-lattice:us-west-2:123456789012:service/svc-0123456789abcdef0 | Ya | Ya |
vpc-lattice-svcs:SourceVpc |
Memfilter akses oleh VPC tempat permintaan dibuat | vpc-1a2b3c4d | Ya | Ya |
vpc-lattice-svcs:SourceVpcOwnerAccount |
Memfilter akses oleh akun pemilik VPC tempat permintaan dibuat | 123456789012 | Ya | Ya |
Tag sumber daya
Tag adalah label metadata yang Anda tetapkan atau yang AWS ditetapkan ke AWS sumber daya. Setiap tag memiliki dua bagian:
-
Sebuah kunci tag (misalnya,
CostCenter,Environment, atauProject). Kunci tag peka huruf besar dan kecil. -
Bidang opsional yang dikenal sebagai nilai tag (misalnya,
111122223333atauProduction). Mengabaikan nilai tag sama dengan menggunakan sebuah string kosong. Seperti kunci tag, nilai tag peka huruf besar-kecil.
Untuk informasi selengkapnya tentang penandaan, lihat Mengon trol akses ke AWS sumber daya menggunakan tag
Anda dapat menggunakan tag dalam kebijakan autentikasi menggunakan kunci konteks kondisi aws:ResourceTag/key AWS global.
Kebijakan contoh berikut memberikan akses ke layanan dengan tagEnvironment=Gamma. Kebijakan ini memungkinkan Anda merujuk ke layanan tanpa ARN atau ID layanan hard‑coding.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowGammaAccess", "Effect": "Allow", "Principal": "*", "Action": "vpc-lattice-svcs:Invoke", "Resource": "arn:aws:vpc-lattice:us-west-2:123456789012:service/svc-0124446789abcdef0/*", "Condition": { "StringEquals": { "aws:ResourceTag/Environment": "Gamma" } } } ] }
Tag utama
Anda dapat mengontrol akses ke layanan dan sumber daya berdasarkan tag yang melekat pada identitas penelepon. VPC Lattice mendukung kontrol akses berdasarkan tag utama apa pun pada tag pengguna, peran, atau sesi menggunakan aws:PrincipalTag/context variabel. Untuk informasi selengkapnya, lihat Meng ontrol akses untuk prinsipal IAM.
Kebijakan contoh berikut hanya memberikan akses ke identitas dengan tagTeam=Payments. Kebijakan ini memungkinkan Anda mengontrol akses tanpa hard coding ID akun atau ARN peran.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowPaymentsTeam", "Effect": "Allow", "Principal": "*", "Action": "vpc-lattice-svcs:Invoke", "Resource": "arn:aws:vpc-lattice:us-west-2:123456789012:service/svc-0123456789abcdef0/*", "Condition": { "StringEquals": { "aws:PrincipalTag/Team": "Payments" } } } ] }
Prinsipal anonim (tidak diautentikasi)
Principal anonim adalah pemanggil yang tidak menandatangani AWS permintaan mereka dengan Sig nature Version 4 (SIGv4), dan berada dalam VPC yang terhubung ke jaringan layanan. Prinsipal anonim dapat membuat permintaan yang tidak diautentikasi ke layanan di jaringan layanan jika kebijakan autentikasi mengizinkannya.
Contoh kebijakan autentikasi
Berikut ini adalah contoh kebijakan autentikasi yang mengharuskan permintaan dibuat oleh prinsipal yang diautentikasi.
Semua contoh menggunakan Wil us-west-2 ayah dan berisi ID akun fiktif.
Contoh 1: Batasi akses ke layanan dengan tertentu AWS organisasi
Contoh kebijakan autentikasi berikut memberikan izin untuk setiap permintaan yang diautentikasi untuk mengakses layanan apa pun di jaringan layanan yang diterapkan kebijakan tersebut. Namun, permintaan harus berasal dari prinsipal yang termasuk dalam AWS organisasi yang ditentukan dalam kondisi tersebut.
Contoh 2: Batasi akses ke layanan dengan peran IAM tertentu
Contoh kebijakan autentikasi berikut memberikan izin untuk setiap permintaan terautentikasi yang menggunakan peran IAM rates-client untuk membuat permintaan GET HTTP pada layanan yang ditentukan dalam elemen. Resource Sumber daya dalam Resource elemen sama dengan layanan yang dilampirkan kebijakan.
Contoh 3: Batasi akses ke layanan oleh prinsipal yang diautentikasi dalam VPC tertentu
Contoh kebijakan autentikasi berikut hanya mengizinkan permintaan yang diautentikasi dari prinsipal di VPC yang memiliki ID VPC. vpc-1a2b3c4d
Cara kerja otorisasi
Ketika layanan VPC Lattice menerima permintaan, kode AWS penegakan mengevaluasi semua kebijakan izin yang relevan bersama-sama untuk menentukan apakah akan mengotorisasi atau menolak permintaan. Ini mengevaluasi semua kebijakan berbasis identitas IAM dan kebijakan autentikasi yang berlaku dalam konteks permintaan selama otorisasi. Secara default, semua permintaan ditolak secara implisit ketika tipe autentikasi ada. AWS_IAM Izin eksplisit dari semua kebijakan yang relevan mengesampingkan default.
Otorisasi meliputi:
-
Mengumpulkan semua kebijakan dan kebijakan autentikasi berbasis identitas IAM yang relevan.
-
Mengevaluasi serangkaian kebijakan yang dihasilkan:
-
Memverifikasi bahwa pemohon (seperti pengguna atau peran IAM) memiliki izin untuk melakukan operasi dari akun tempat pemohon berada. Jika tidak ada pernyataan izin eksplisit, AWS tidak mengotorisasi permintaan.
-
Memverifikasi bahwa permintaan diizinkan oleh kebijakan autentikasi untuk jaringan layanan. Jika kebijakan autentikasi diaktifkan, tetapi tidak ada pernyataan izin eksplisit, permintaan AWS tidak akan mengotorisasi. Jika ada pernyataan izin eksplisit, atau tipe autentikasi adalah
NONE, kode berlanjut. -
Memverifikasi bahwa permintaan diizinkan oleh kebijakan autentikasi untuk layanan. Jika kebijakan autentikasi diaktifkan, tetapi tidak ada pernyataan izin eksplisit, permintaan AWS tidak akan mengotorisasi. Jika ada pernyataan izin eksplisit, atau jenis autentikasi ada
NONE, maka kode penegakan mengembalikan keputusan akhir Iz inkan. -
Penolakan secara tegas dalam kebijakan apa pun akan mengesampingkan izin apa pun.
-
Diagram menunjukkan alur kerja otorisasi. Ketika permintaan dibuat, kebijakan yang relevan mengizinkan atau menolak akses permintaan ke layanan tertentu.