Kunci API terlingkup
Untuk menjadikan NuGet lingkungan yang lebih aman untuk distribusi paket, Anda dapat mengontrol kunci API dengan menambahkan cakupan.
Kemampuan untuk memberikan cakupan ke kunci API memberi Anda kontrol yang lebih baik pada API Anda. Anda dapat:
- Buat beberapa kunci API tercakup yang dapat digunakan untuk paket yang berbeda dengan jangka waktu kedaluwarsa yang bervariasi.
- Dapatkan kunci API dengan aman.
- Edit kunci API yang ada untuk mengubah penerapan paket.
- Refresh atau hapus kunci API yang ada tanpa menghambat operasi menggunakan kunci lain.
Kami mendukung cakupan untuk kunci API untuk memungkinkan Anda memiliki izin yang lebih halus. Sebelumnya, NuGet menawarkan satu kunci API untuk akun, dan pendekatan itu memiliki beberapa kelemahan:
- Satu kunci API untuk mengontrol semua paket. Dengan satu kunci API yang digunakan untuk mengelola semua paket, sulit untuk berbagi kunci dengan aman ketika beberapa pengembang terlibat dengan paket yang berbeda, dan ketika mereka berbagi akun penerbit.
- Semua izin atau tidak ada. Siapa pun yang memiliki akses ke kunci API memiliki semua izin (terbitkan, dorong, dan batalkan daftar) pada paket. Ini sering tidak diinginkan dalam lingkungan dengan beberapa tim.
- Satu titik kegagalan. Satu kunci API juga berarti satu titik kegagalan. Jika kunci disusupi, semua paket yang terkait dengan akun berpotensi disusupi. Menyegarkan kunci API adalah satu-satunya cara untuk menyambungkan kebocoran dan menghindari gangguan pada alur kerja CI/CD Anda. Selain itu, mungkin ada kasus ketika Anda ingin mencabut akses ke kunci API untuk individu (misalnya, ketika karyawan meninggalkan organisasi). Tidak ada cara yang bersih untuk menangani ini hari ini.
Dengan kunci API terlingkup, kami mencoba mengatasi masalah ini sambil memastikan bahwa tidak ada alur kerja yang rusak.
Masuk ke akun nuget.org Anda atau buat akun jika Anda belum memilikinya.
Pilih nama pengguna Anda di kanan atas, lalu pilih Kunci API.
Pilih Buat, dan berikan nama untuk kunci Anda.
Di bawah Pilih Cakupan, pilih Dorong.
Di bawah Pilih Pola Glob Paket>, masukkan *.
Pilih Buat.
Pilih Salin untuk menyalin kunci baru.
Penting
- Selalu rahasiakan kunci API Anda. Kunci API seperti kata sandi yang memungkinkan siapa pun mengelola paket atas nama Anda. Hapus atau regenerasi kunci API Anda jika tidak sengaja terungkap.
- Simpan kunci Anda di lokasi yang aman, karena Anda tidak dapat menyalin kunci lagi nanti. Jika Anda kembali ke halaman kunci API, Anda perlu meregenerasi kunci untuk menyalinnya. Anda juga dapat menghapus kunci API jika Anda tidak ingin lagi mendorong paket.
Cakupan memungkinkan Anda membuat kunci API terpisah untuk tujuan yang berbeda. Setiap kunci memiliki jangka waktu kedaluwarsa, dan Anda dapat mencakup kunci ke paket atau pola glob tertentu. Anda juga mencakup setiap kunci ke operasi tertentu: Mendorong paket dan versi paket baru, hanya mendorong versi paket baru, atau membatalkan daftar.
Melalui cakupan, Anda dapat membuat kunci API untuk orang yang berbeda yang mengelola paket untuk organisasi Anda sehingga mereka hanya memiliki izin yang mereka butuhkan.
Anda dapat membuat beberapa kunci API berdasarkan kebutuhan Anda. Kunci API dapat berlaku untuk satu atau beberapa paket, memiliki berbagai cakupan yang memberikan hak istimewa tertentu, dan memiliki tanggal kedaluwarsa yang terkait dengannya.
Dalam contoh berikut, Anda memiliki kunci API bernama Contoso service CI
yang dapat digunakan untuk mendorong paket untuk paket tertentu Contoso.Service
, dan berlaku selama 365 hari. Ini adalah skenario umum di mana tim yang berbeda dalam organisasi yang sama bekerja pada paket yang berbeda, dan anggota tim disediakan kunci yang memberi mereka hak istimewa hanya untuk paket yang sedang mereka kerjakan. Kedaluwarsa berfungsi sebagai mekanisme untuk mencegah kunci basi atau terlupakan.
Jika Anda mengerjakan beberapa paket dan memiliki daftar besar paket untuk dikelola, Anda dapat memilih untuk menggunakan pola globbing untuk memilih beberapa paket bersama-sama. Misalnya, jika Anda ingin memberikan cakupan tertentu ke kunci untuk semua paket yang ID-nya dimulai dengan Fabrikam.Service
, Anda dapat melakukan ini dengan menentukan fabrikam.service.*
dalam kotak teks pola Glob.
Menggunakan pola glob untuk menentukan izin kunci API juga berlaku untuk paket baru yang cocok dengan pola glob. Misalnya, jika Anda mencoba mendorong paket baru bernama Fabrikam.Service.Framework
, Anda dapat melakukannya dengan kunci yang dibuat sebelumnya, karena paket cocok dengan pola fabrikam.service.*
glob .
Untuk keamanan, kunci yang baru dibuat tidak pernah ditampilkan di layar dan hanya tersedia menggunakan tombol Salin . Demikian pula, kunci tidak dapat diakses setelah halaman di-refresh.
Anda mungkin juga ingin memperbarui izin dan cakupan kunci tanpa mengubah kunci itu sendiri. Jika Anda memiliki kunci dengan cakupan tertentu untuk satu paket, Anda dapat memilih untuk menerapkan cakupan yang sama pada satu atau banyak paket lainnya.
Pemilik akun dapat memilih untuk menyegarkan kunci, dalam hal ini izin (pada paket), cakupan, dan kedaluwarsa tetap sama, tetapi kunci baru dikeluarkan membuat kunci lama tidak dapat digunakan. Ini berguna dalam mengelola kunci kedaluarsa atau di mana ada potensi kebocoran kunci API.
Anda juga dapat memilih untuk menghapus kunci ini jika tidak diperlukan lagi. Menghapus kunci akan menghapus kunci dan membuatnya tidak dapat digunakan.
Kunci API lama (warisan) Anda terus berfungsi dan dapat berfungsi selama Anda ingin kunci api tersebut berfungsi. Namun, kunci ini akan dihentikan jika belum digunakan selama lebih dari 365 hari untuk mendorong paket. Untuk detail selengkapnya, lihat posting blog Perubahan pada kunci API yang kedaluwarsa. Anda tidak dapat lagi menyegarkan kunci ini. Anda perlu menghapus kunci warisan dan membuat kunci cakupan baru sebagai gantinya.
Catatan
Kunci ini memiliki semua izin pada semua paket dan tidak pernah kedaluwarsa. Anda harus mempertimbangkan untuk menghapus kunci ini dan membuat kunci baru dengan izin tercakup dan kedaluwarsa yang pasti.
Tidak ada batasan jumlah kunci API yang dapat Anda buat. Namun, kami menyarankan Anda untuk menyimpannya ke jumlah yang dapat dikelola sehingga Anda tidak akhirnya memiliki banyak kunci basi tanpa pengetahuan tentang di mana dan siapa yang menggunakannya.
Ya. Anda dapat - dan Anda mungkin harus - menghapus kunci API warisan Anda.
Tidak. Setelah dihapus, Anda hanya dapat membuat kunci baru. Tidak ada pemulihan yang mungkin untuk kunci yang dihapus secara tidak sengaja.
Tidak. Setelah Anda me-refresh kunci, kunci baru akan dihasilkan yang memiliki cakupan, izin, dan kedaluwarsa yang sama dengan yang lama. Kunci lama berhenti ada.
Anda tidak dapat mengubah cakupan, tetapi Anda dapat mengedit daftar paket yang berlaku.
Jika ada kunci yang kedaluwarsa, kami akan memberi tahu Anda melalui pesan peringatan di bagian atas halaman. Kami juga mengirim email peringatan ke pemegang akun sepuluh hari sebelum kedaluwarsa kunci sehingga Anda dapat bertindak dengan baik terlebih dahulu.