AWS CodeArtifact otentikasi dan token - CodeArtifact

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

AWS CodeArtifact otentikasi dan token

CodeArtifact mengharuskan pengguna untuk mengautentikasi dengan layanan untuk mempublikasikan atau menggunakan versi paket. Anda harus mengautentikasi ke CodeArtifact layanan dengan membuat token otorisasi menggunakan kredensi Anda AWS . Untuk membuat token otorisasi, Anda harus memiliki izin yang benar. Untuk izin yang diperlukan untuk membuat token otorisasi, lihat GetAuthorizationToken entri di. AWS CodeArtifact referensi izin Untuk informasi lebih umum tentang CodeArtifact izin, lihatBagaimana AWS CodeArtifact bekerja dengan IAM.

Untuk mengambil token otorisasi dari CodeArtifact, Anda harus memanggil. GetAuthorizationToken API Dengan menggunakan AWS CLI, Anda dapat menelepon GetAuthorizationToken dengan get-authorization-token perintah login or.

catatan

Pengguna root tidak dapat meneleponGetAuthorizationToken.

  • aws codeartifact login: Perintah ini memudahkan untuk mengkonfigurasi manajer paket umum untuk digunakan CodeArtifact dalam satu langkah. Memanggil login mengambil token dengan GetAuthorizationToken dan mengonfigurasi manajer paket Anda dengan token dan titik akhir CodeArtifact repositori yang benar. Manajer paket dukungan adalah sebagai berikut:

    • dotnet

    • npm

    • nuget

    • pip

    • cepat

    • benang

  • aws codeartifact get-authorization-token: Untuk manajer paket yang tidak didukung oleh login, Anda dapat memanggil get-authorization-token secara langsung lalu mengonfigurasi manajer paket Anda dengan token seperti yang diperlukan, misalnya, dengan menambahkannya ke file konfigurasi atau menyimpannya di variabel lingkungan.

CodeArtifact token otorisasi berlaku untuk periode default 12 jam. Token dapat dikonfigurasi dengan masa pakai antara 15 menit dan 12 jam. Ketika masa pakai berakhir, Anda harus mengambil token lain. Masa pakai token dimulai setelah login atau get-authorization-token dipanggil.

Jika login atau get-authorization-token dipanggil saat mengasumsikan peran, Anda dapat mengonfigurasi masa pakai token menjadi sama dengan waktu yang tersisa dalam durasi sesi peran dengan menetapkan nilai --duration-seconds ke 0. Jika tidak, masa pakai token independen dari durasi sesi maksimum peran. Misalnya, anggaplah Anda menelepon sts assume-role dan menentukan durasi sesi 15 menit, lalu panggil login untuk mengambil token CodeArtifact otorisasi. Dalam kasus ini, token berlaku untuk periode 12 jam penuh meskipun ini lebih lama dari durasi sesi 15 menit. Untuk informasi tentang mengontrol durasi sesi, lihat Menggunakan IAM Peran di Panduan IAM Pengguna.

Token dibuat dengan perintah login

aws codeartifact loginPerintah akan mengambil token dengan GetAuthorizationToken dan mengkonfigurasi manajer paket Anda dengan token dan titik akhir CodeArtifact repositori yang benar.

Tabel berikut menjelaskan parameter untuk perintah login.

Parameter Wajib Deskripsi

--tool

Ya

Manajer paket untuk autentikasi. Nilai yang mungkin adalahdotnet,npm,nuget,pip, swift dantwine.

--domain

Ya

Nama domain yang dimiliki repositori.

--domain-owner

Tidak

ID pemilik domain. Parameter ini diperlukan jika mengakses domain yang dimiliki oleh AWS akun yang tidak Anda autentikasi. Untuk informasi selengkapnya, lihat Domain lintas akun.

--repository

Ya

Nama repositori untuk autentikasi.

--duration-seconds

Tidak

Waktu, dalam detik, bahwa informasi login valid. Nilai minimumnya adalah 900* dan nilai maksimumnya adalah 43200.

--namespace

Tidak

Mengaitkan namespace dengan alat repositori Anda.

--dry-run

Tidak

Hanya mencetak perintah yang akan dieksekusi untuk menghubungkan alat Anda dengan repositori Anda tanpa membuat perubahan pada konfigurasi Anda.

*Nilai 0 juga berlaku saat memanggil login saat mengasumsikan peran. Memanggil login dengan --duration-seconds 0 menciptakan token dengan masa pakai sama dengan sisa waktu dalam durasi sesi peran yang diasumsikan.

Contoh berikut menunjukkan cara mengambil token otorisasi dengan perintah login.

aws codeartifact login \ --tool dotnet | npm | nuget | pip | swift | twine \ --domain my_domain \ --domain-owner 111122223333 \ --repository my_repo

Untuk panduan khusus tentang cara menggunakan perintah login dengan npm, lihat Konfigurasikan dan gunakan npm dengan CodeArtifact. Untuk Python, lihat Menggunakan CodeArtifact dengan Python.

Izin yang diperlukan untuk memanggil GetAuthorizationToken API

Izin sts:GetServiceBearerToken dan codeartifact:GetAuthorizationToken izin diperlukan untuk memanggil file. CodeArtifact GetAuthorizationToken API

Untuk menggunakan manajer paket dengan CodeArtifact repositori, IAM pengguna atau peran Anda harus mengizinkan. sts:GetServiceBearerToken Meskipun sts:GetServiceBearerToken dapat ditambahkan ke kebijakan sumber daya CodeArtifact domain, izin tersebut tidak akan berpengaruh dalam kebijakan tersebut.

Token yang dibuat dengan GetAuthorizationToken API

Anda dapat menelepon get-authorization-token untuk mengambil token otorisasi dari. CodeArtifact

aws codeartifact get-authorization-token \ --domain my_domain \ --domain-owner 111122223333 \ --query authorizationToken \ --output text

Anda dapat mengubah berapa lama token berlaku menggunakan argumen --duration-seconds. Nilai minimumnya adalah 900 dan nilai maksimumnya adalah 43200. Contoh berikut membuat token yang akan bertahan selama 1 jam (3600 detik).

aws codeartifact get-authorization-token \ --domain my_domain \ --domain-owner 111122223333 \ --query authorizationToken \ --output text \ --duration-seconds 3600

Jika memanggil get-authorization-token saat mengasumsikan peran, masa pakai token independen dari durasi sesi maksimum peran. Anda dapat mengonfigurasi token agar kedaluwarsa ketika durasi sesi peran yang diasumsikan berakhir dengan menetapkan --duration-seconds 0.

aws codeartifact get-authorization-token \ --domain my_domain \ --domain-owner 111122223333 \ --query authorizationToken \ --output text \ --duration-seconds 0

Lihat dokumentasi berikut ini untuk informasi selengkapnya:

Teruskan token auth menggunakan variabel lingkungan

AWS CodeArtifact menggunakan token otorisasi yang dijual oleh GetAuthorizationToken API untuk mengautentikasi dan mengotorisasi permintaan dari alat build seperti Maven dan Gradle. Untuk informasi selengkapnya mengenai topik ini, lihat Token yang dibuat dengan GetAuthorizationToken API.

Anda dapat menyimpan token autentikasi ini dalam variabel lingkungan yang dapat dibaca oleh alat build untuk mendapatkan token yang dibutuhkan untuk mengambil paket dari CodeArtifact repositori atau mempublikasikan paket ke dalamnya.

Untuk alasan keamanan, pendekatan ini lebih disukai untuk menyimpan token dalam file yang mungkin dibaca oleh pengguna atau proses lain, atau tidak sengaja masuk ke kontrol sumber.

  1. Konfigurasikan AWS kredenal Anda seperti yang dijelaskan dalam. Menginstal atau meningkatkan dan kemudian mengonfigurasi AWS CLI

  2. Atur variabel lingkungan CODEARTIFACT_AUTH_TOKEN:

    catatan

    Dalam beberapa skenario, Anda tidak perlu menyertakan argumen --domain-owner. Untuk informasi selengkapnya, lihat Domain lintas akun.

    • macOS atau Linux:

      export CODEARTIFACT_AUTH_TOKEN=`aws codeartifact get-authorization-token --domain my_domain --domain-owner 111122223333 --query authorizationToken --output text`
    • Windows (menggunakan shell perintah default):

      for /f %i in ('aws codeartifact get-authorization-token --domain my_domain --domain-owner 111122223333 --query authorizationToken --output text') do set CODEARTIFACT_AUTH_TOKEN=%i
    • Jendela PowerShell:

      $env:CODEARTIFACT_AUTH_TOKEN = aws codeartifact get-authorization-token --domain my_domain --domain-owner 111122223333 --query authorizationToken --output text

Mencabut token otorisasi CodeArtifact

Ketika pengguna yang diautentikasi membuat token untuk mengakses CodeArtifact sumber daya, token itu bertahan hingga periode akses yang dapat disesuaikan telah berakhir. Periode akses default adalah 12 jam. Dalam beberapa situasi, Anda mungkin ingin mencabut akses ke token sebelum periode akses telah kedaluwarsa. Anda dapat mencabut akses ke CodeArtifact sumber daya dengan mengikuti petunjuk ini.

Jika Anda membuat token akses menggunakan kredenal keamanan sementara, seperti peran yang diasumsikan atau akses pengguna gabungan, Anda dapat mencabut akses dengan memperbarui kebijakan untuk menolak akses. IAM Untuk selengkapnya, lihat Menonaktifkan Izin untuk Kredensial Keamanan Sementara di Panduan Pengguna. IAM

Jika Anda menggunakan kredensi IAM pengguna jangka panjang untuk membuat token akses, Anda harus mengubah kebijakan pengguna untuk menolak akses, atau menghapus pengguna. IAM Untuk informasi selengkapnya, lihat Mengubah Izin untuk IAM Pengguna atau Menghapus Pengguna. IAM