Dokumen ini membantu Anda mengonfirmasi bahwa akun layanan dan akun AWS Anda telah berhasil diaktifkan untuk mengakses layanan Assured Open Source Software.
Untuk memvalidasi apakah akun layanan Google Cloud atau (khusus untuk paket gratis) ID akun AWS Anda diaktifkan untuk akses ke repositori Assured OSS dan portofolio paket pilihan, cantumkan paket Java atau Python yang tersedia menggunakan API. Untuk melakukannya, Anda dapat memanggil API secara langsung, atau menggunakan Cloud Shell untuk menjalankan panggilan baris perintah curl ke API.
Jika menggunakan paket gratis, dalam kasus yang jarang terjadi, Anda mungkin mengalami error izin ditolak selama satu jam atau lebih setelah mengirimkan pengiriman formulir pengaktifan pelanggan.
Dokumen ini berlaku untuk tingkat premium dan tingkat gratis.
Sebelum memulai
Instal Google Cloud CLI versi terbaru. Jika Anda telah menginstal Google Cloud CLI sebelumnya, pastikan Anda memiliki versi terbaru dengan menjalankan perintah berikut:
gcloud components updateUntuk mengakses Assured OSS menggunakan Google Cloud, aktifkan Artifact Registry API untuk project Google Cloud induk akun layanan yang Anda aktifkan untuk Assured OSS. Jika Anda menggunakan tingkat premium, API diaktifkan selama penyiapan.
Tambahkan URL berikut ke daftar yang diizinkan jaringan Anda:
*.pkg.devartifactregistry.googleapis.com
Menyiapkan autentikasi
Untuk Google Cloud
Buat dan download kunci akun layanan. Sebaiknya ikuti praktik terbaik untuk mengelola kunci akun layanan.
Jika Anda sudah login ke Google Cloud CLI, batalkan autentikasi yang ada:
gcloud auth revokeLakukan autentikasi ke Google Cloud:
gcloud auth login --cred-file=FILEPATH.jsonDengan FILEPATH adalah jalur ke kunci akun layanan.
Perbarui Kredensial Default Aplikasi:
export GOOGLE_APPLICATION_CREDENTIALS=FILEPATH.jsonDengan FILEPATH adalah jalur ke kunci akun layanan.
Untuk AWS
Langkah-langkah ini hanya berlaku untuk paket gratis Assured OSS.
Siapkan instance EC2 untuk mengizinkan permintaan kredensial sementara.
- Login ke AWS Management Console.
- Di AWS Management Console, buka dasbor EC2, lalu pilih instance EC2 target Anda.
- Pilih Actions > Security > Modify IAM Role.
- Pilih Create New IAM Role > Create role.
- Untuk jenis entitas tepercaya, pilih AWS Service.
- Untuk kasus penggunaan, pilih EC2.
- Tambahkan izin AmazonEC2ReadOnlyAccess, lalu klik Next.
- Berikan nama yang bermakna untuk peran IAM, lalu klik Next.
- Kembali ke Ubah Peran IAM. Pilih peran yang baru dibuat, lalu klik Perbarui Peran IAM.
Buat file konfigurasi kredensial:
gcloud iam workload-identity-pools create-cred-config \ projects/ASSIGNED_PROJECT_NUMBER/locations/global/workloadIdentityPools/aoss-wif-pool/providers/aws-AWS_ACCOUNT_ID-provider \ --service-account=aoss-wif-aws-AWS_ACCOUNT_ID-sa@ASSIGNED_PROJECT_ID.iam.gserviceaccount.com \ --aws \ --output-file=FILEPATH.jsonGanti kode berikut:
- AWS_ACCOUNT_ID: Angka 12 digit untuk akun AWS Anda (misalnya,
123456789012). - FILEPATH: File untuk menyimpan konfigurasi. + ASSIGNED_PROJECT_ID: Google Cloud Project ID yang ditetapkan kepada Anda, seperti yang disebutkan dalam email aktivasi Anda. + ASSIGNED_PROJECT_NUMBER: Nomor Google Cloud project yang ditetapkan kepada Anda, seperti yang disebutkan dalam email pengaktifan Anda.
Jika Anda menggunakan AWS IMDSv2, tambahkan flag
--enable-imdsv2ke perintah sebelumnya. Untuk mengetahui informasi selengkapnya, lihat Membuat konfigurasi kredensial.- AWS_ACCOUNT_ID: Angka 12 digit untuk akun AWS Anda (misalnya,
Jika Anda sudah login ke Google Cloud CLI, batalkan autentikasi yang ada:
gcloud auth revokeLakukan autentikasi ke Google Cloud:
gcloud auth login --cred-file=FILEPATH.jsonDengan FILEPATH adalah jalur ke file konfigurasi kredensial.
Perbarui Kredensial Default Aplikasi:
export GOOGLE_APPLICATION_CREDENTIALS=FILEPATH.jsonDengan FILEPATH adalah jalur ke kunci akun layanan atau file konfigurasi kredensial.
Untuk memecahkan masalah terkait autentikasi, lihat Memecahkan masalah error autentikasi.
Mencantumkan semua paket Java yang tersedia di Assured OSS
Anda dapat menggunakan REST API untuk mencantumkan semua paket Java dan versinya.
Untuk paket gratis Assured OSS, masukkan permintaan HTTP berikut:
curl -X GET -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
"https://artifactregistry.googleapis.com/v1/projects/cloud-aoss/locations/us/repositories/cloud-aoss-java/mavenArtifacts"
Untuk tingkat premium Assured OSS, masukkan permintaan HTTP berikut:
curl -X GET -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
https://artifactregistry.googleapis.com/v1/projects/PROJECT_ID/locations/us/repositories/assuredoss-java/packages
Ganti PROJECT_ID dengan ID project yang Anda pilih saat menyiapkan Assured OSS.
Berikut adalah contoh perintah curl untuk terhubung ke repositori Java di tingkat gratis:
curl -X GET -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
"https://artifactregistry.googleapis.com/v1/projects/cloud-aoss/locations/us/repositories/cloud-aoss-java/mavenArtifacts"
Permintaan ini menampilkan respons yang mirip dengan contoh respons berikut:
{
"mavenArtifacts": [
{
"name":
"projects/cloud-aoss/locations/us/repositories/cloud-aoss-java/mavenArtifacts/com.alibaba:fastjson:1.2.83",
"pomUri":
"us-maven.pkg.dev/cloud-aoss/cloud-aoss-java/com/alibaba/fastjson/1.2.83/fastjson-1.2.83.pom",
"groupId": "com.alibaba",
"artifactId": "fastjson",
"version": "1.2.83",
"createTime": "2022-06-24T09:10:05.166879Z",
"updateTime": "2022-06-24T09:10:05.166879Z"
},
{
"name":
"projects/cloud-aoss/locations/us/repositories/cloud-aoss-java/mavenArtifacts/org.apache.logging.log4j:log4j-api:2.17.1",
"pomUri":
"us-maven.pkg.dev/cloud-aoss/cloud-aoss-java/org/apache/logging/log4j/log4j-api/2.17.1/log4j-api-2.17.1.pom",
"groupId": "org.apache.logging.log4j",
"artifactId": "log4j-api",
"version": "2.17.1",
"createTime": "2022-03-16T12:22:50.113695Z",
"updateTime": "2022-03-16T12:22:50.113695Z"
},
{
"name":
"projects/cloud-aoss/locations/us/repositories/cloud-aoss-java/mavenArtifacts/org.apache.logging.log4j:log4j-core:2.17.1",
"pomUri":
"us-maven.pkg.dev/cloud-aoss/cloud-aoss-java/org/apache/logging/log4j/log4j-core/2.17.1/log4j-core-2.17.1.pom",
"groupId": "org.apache.logging.log4j",
"artifactId": "log4j-core",
"version": "2.17.1",
"createTime": "2022-03-16T12:26:40.317215Z",
"updateTime": "2022-03-16T12:26:40.317215Z"
}
]
}
Jika ada banyak paket yang tersedia, respons API mungkin diberi nomor halaman. Token
kelanjutan nextPageToken ditampilkan dalam respons saat listingan
belum lengkap. nextPageToken mewakili hasil terakhir yang
ditampilkan. Jika Anda meneruskan nilai nextPageToken ke parameter pageToken
dari permintaan berikutnya, halaman hasil berikutnya akan ditampilkan,
dimulai setelah hasil terakhir.
Untuk melihat halaman hasil berikutnya, atau menambah jumlah objek yang ditampilkan per halaman, gunakan URL berikut:
"https://artifactregistry.googleapis.com/v1/projects/cloud-aoss/locations/us/repositories/cloud-aoss-java/mavenArtifacts?pageSize=NUMBER&pageToken=NEXT_PAGE_TOKEN"
Ganti kode berikut:
- NUMBER: Jumlah item yang akan dikembalikan per halaman. Nilai maksimum yang diterima adalah 1.000.
- NEXT_PAGE_TOKEN: Nilai token
nextPageTokenyang ditampilkan dalam respons JSON.
Atau, Anda dapat menggunakan skrip berikut untuk mengumpulkan hasil yang dipaginasi dari permintaan API yang disebutkan di atas ke dalam file:
tempFile=$(mktemp)
nextPageToken=""
while
curl -X GET -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
"https://artifactregistry.googleapis.com/v1/projects/cloud-aoss/locations/us/repositories/cloud-aoss-java/mavenArtifacts?pageSize=1000&pageToken=$nextPageToken" > $tempFile
nextPageToken=$(grep nextPageToken $tempFile | sed 's/ "nextPageToken": "//' | sed 's/.$//')
grep -v nextPageToken $tempFile >> FILENAME1
[ -n "$nextPageToken" ]
do
:
done
Opsional: Tulis daftar nama paket Java utama yang diurutkan ke FILENAME2
Tindakan command line tambahan berikut memfilter daftar mentah paket Java yang ditampilkan untuk memberi Anda daftar nama paket utama saja.
curl -X GET -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
"https://artifactregistry.googleapis.com/v1/projects/cloud-aoss/locations/us/repositories/cloud-aoss-java/mavenArtifacts?pageSize=1000" \
| grep artifactId | sort -f | uniq > FILENAME2
Opsional: Tulis daftar versi paket Java yang diurutkan ke FILENAME3
Tindakan command line tambahan berikut memfilter daftar mentah paket Java yang ditampilkan untuk memberi Anda daftar hanya versi paket.
curl -X GET -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
"https://artifactregistry.googleapis.com/v1/projects/cloud-aoss/locations/us/repositories/cloud-aoss-java/mavenArtifacts?pageSize=1000" \
| grep name | sort -f | uniq > FILENAME3
Mencantumkan semua paket Python yang tersedia di Assured OSS
Anda dapat menggunakan REST API untuk mencantumkan semua paket Python dan versinya. Paket ini tersedia untuk Python 3.8.
Untuk paket gratis Assured OSS, masukkan permintaan HTTP berikut:
GET https://artifactregistry.googleapis.com/v1/projects/cloud-aoss/locations/us/repositories/cloud-aoss-python/pythonPackages
Untuk tingkat premium Assured OSS, masukkan permintaan HTTP berikut:
curl -X GET -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
"https://artifactregistry.googleapis.com/v1/projects/PROJECT_ID/locations/us/repositories/assuredoss-python/packages"
Ganti PROJECT_ID dengan ID project yang Anda pilih saat menyiapkan Assured OSS.
Untuk mencantumkan semua paket khusus untuk lingkungan Anda,
gunakan skrip generator.sh.
Perintah berikut adalah contoh perintah curl untuk terhubung ke repositori Assured OSS Python di tingkat gratis:
curl -X GET -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
"https://artifactregistry.googleapis.com/v1/projects/cloud-aoss/locations/us/repositories/cloud-aoss-python/pythonPackages"
Permintaan ini menampilkan respons yang mirip dengan contoh respons berikut:
{
"pythonPackages": [
{
"name":
"projects/cloud-aoss/locations/us/repositories/cloud-aoss-python/pythonPackages/Flask:2.1.2",
"uri":
"us-python.pkg.dev/cloud-aoss/cloud-aoss-python/flask/Flask-2.1.2-py3-none-any.whl",
"packageName": "Flask",
"version": "2.1.2",
"createTime": "2022-07-13T11:06:54.163313Z",
"updateTime": "2022-07-13T11:06:54.163313Z"
},
{
"name":
"projects/cloud-aoss/locations/us/repositories/cloud-aoss-python/pythonPackages/ujson:5.3.0",
"uri":
"us-python.pkg.dev/cloud-aoss/cloud-aoss-python/ujson/ujson-5.3.0-cp38-cp38-linux_x86_64.whl",
"packageName": "ujson",
"version": "5.3.0",
"createTime": "2022-07-13T11:06:17.263638Z",
"updateTime": "2022-07-13T11:06:17.263638Z"
},
{
"name":
"projects/cloud-aoss/locations/us/repositories/cloud-aoss-python/pythonPackages/ujson:5.4.0",
"uri":
"us-python.pkg.dev/cloud-aoss/cloud-aoss-python/ujson/ujson-5.4.0-cp38-cp38-linux_x86_64.whl",
"packageName": "ujson",
"version": "5.4.0",
"createTime": "2022-07-13T11:09:00.865162Z",
"updateTime": "2022-07-13T11:09:00.865162Z"
},
{
"name":
"projects/cloud-aoss/locations/us/repositories/cloud-aoss-python/pythonPackages/urllib3:1.26.8",
"uri":
"us-python.pkg.dev/cloud-aoss/cloud-aoss-python/urllib3/urllib3-1.26.8-py2.py3-none-any.whl",
"packageName": "urllib3",
"version": "1.26.8",
"createTime": "2022-07-13T11:05:56.529484Z",
"updateTime": "2022-07-13T11:05:56.529484Z"
}
]
}
Jika ada banyak paket yang tersedia, respons API mungkin diberi nomor halaman. Token
kelanjutan nextPageToken ditampilkan dalam respons saat listingan
belum lengkap. nextPageToken mewakili hasil terakhir yang
ditampilkan. Jika Anda meneruskan nilai nextPageToken ke parameter pageToken
dari permintaan berikutnya, halaman hasil berikutnya akan ditampilkan,
dimulai setelah hasil terakhir.
Untuk melihat halaman hasil berikutnya, atau menambah jumlah objek yang ditampilkan per halaman, gunakan URL berikut di tingkat gratis:
"https://artifactregistry.googleapis.com/v1/projects/cloud-aoss/locations/us/repositories/cloud-aoss-python/pythonPackages?pageSize=NUMBER&pageToken=NEXT_PAGE_TOKEN"
Ganti kode berikut:
- NUMBER: Jumlah item yang akan dikembalikan per halaman. Nilai maksimum yang diterima adalah 1.000.
- NEXT_PAGE_TOKEN: Nilai token
nextPageTokenyang ditampilkan dalam respons JSON.
Atau, Anda dapat menggunakan skrip berikut untuk mengumpulkan hasil berpenomoran halaman dari permintaan API yang disebutkan di atas ke dalam file.
tempFile=$(mktemp)
nextPageToken=""
while
curl -X GET -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
"https://artifactregistry.googleapis.com/v1/projects/cloud-aoss/locations/us/repositories/cloud-aoss-python/pythonPackages?pageSize=1000&pageToken=$nextPageToken" > $tempFile
nextPageToken=$(grep nextPageToken $tempFile | sed 's/ "nextPageToken": "//' | sed 's/.$//')
grep -v nextPageToken $tempFile >> FILENAME4
[ -n "$nextPageToken" ]
do
:
done
Opsional: Tulis daftar nama paket Python utama yang diurutkan ke FILENAME5
Tindakan command line tambahan berikut memfilter daftar mentah paket Python yang ditampilkan untuk memberi Anda daftar hanya nama paket utama.
curl -X GET -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
"https://artifactregistry.googleapis.com/v1/projects/cloud-aoss/locations/us/repositories/cloud-aoss-python/pythonPackages?pageSize=1000" \
| grep packageName | sort -f | uniq > FILENAME5
Opsional: tulis daftar versi paket Python yang diurutkan ke FILENAME6
Tindakan command line tambahan berikut memfilter daftar mentah paket Python yang ditampilkan untuk memberi Anda daftar hanya versi paket.
curl -X GET -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
"https://artifactregistry.googleapis.com/v1/projects/cloud-aoss/locations/us/repositories/cloud-aoss-python/pythonPackages?pageSize=1000" \
| grep name | sort -f | uniq > FILENAME6
Mencantumkan semua paket Go yang tersedia di Assured OSS
Anda dapat menggunakan REST API untuk mencantumkan semua paket Go dan versinya.
Untuk tingkat gratis Assured OSS, masukkan permintaan HTTP berikut:
curl -X GET -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
"https://artifactregistry.googleapis.com/v1/projects/cloud-aoss/locations/us/repositories/assuredoss-go-free/packages"
Untuk tingkat premium Assured OSS, masukkan permintaan HTTP berikut:
curl -X GET -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
https://artifactregistry.googleapis.com/v1/projects/PROJECT_ID/locations/us/repositories/assuredoss-go/packages
Ganti PROJECT_ID dengan ID project yang Anda pilih saat menyiapkan Assured OSS.
Berikut adalah contoh perintah curl untuk terhubung ke repositori Go di tingkat gratis:
curl -X GET -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" \ https://artifactregistry.googleapis.com/v1/projects/cloud-aoss/locations/us/repositories/assuredoss-go-free/packages
Permintaan ini menampilkan respons yang mirip dengan berikut:
{
"packages": [
{
"name": "projects/cloud-aoss/locations/us/repositories/assuredoss-go-free/packages/cloud.google.com%2Fgo%2Fauth",
"createTime": "2025-08-05T06:04:54.442071Z",
"updateTime": "2025-08-05T06:04:54.442071Z"
},
{
"name": "projects/cloud-aoss/locations/us/repositories/assuredoss-go-free/packages/cloud.google.com%2Fgo%2Fauth%2Foauth2adapt",
"createTime": "2025-08-05T06:04:41.242052Z",
"updateTime": "2025-08-05T06:04:41.242052Z"
},
{
"name": "projects/cloud-aoss/locations/us/repositories/assuredoss-go-free/packages/cloud.google.com%2Fgo%2Fcompute%2Fmetadata",
"createTime": "2025-08-05T06:05:31.140186Z",
"updateTime": "2025-08-05T06:05:31.140186Z"
},
{
"name": "projects/cloud-aoss/locations/us/repositories/assuredoss-go-free/packages/cloud.google.com%2Fgo%2Fiam",
"createTime": "2025-08-05T06:04:54.455300Z",
"updateTime": "2025-08-05T06:04:54.455300Z"
},
{
"name": "projects/cloud-aoss/locations/us/repositories/assuredoss-go-free/packages/cloud.google.com%2Fgo%2Flogging",
"createTime": "2025-08-05T06:05:36.186851Z",
"updateTime": "2025-08-05T06:05:36.186851Z"
}
]
}
Jika banyak paket tersedia, respons API mungkin diberi nomor halaman. Token
lanjutan nextPageToken ditampilkan dalam respons jika listingan
belum lengkap. nextPageToken mewakili hasil terakhir yang ditampilkan.
Jika Anda meneruskan nilai nextPageToken ke parameter pageToken dari
permintaan berikutnya, halaman hasil berikutnya akan ditampilkan, dimulai setelah
hasil terakhir.
Untuk melihat halaman hasil berikutnya atau meningkatkan jumlah objek yang ditampilkan per halaman, gunakan URL berikut:
"https://artifactregistry.googleapis.com/v1/projects/cloud-aoss/locations/us/repositories/assuredoss-go-free/packages?pageSize=NUMBER&pageToken=NEXT_PAGE_TOKEN"
Ganti kode berikut:
- NUMBER: Jumlah item yang akan dikembalikan per halaman. Nilai maksimum yang diterima adalah 1.000.
- NEXT_PAGE_TOKEN: Nilai token
nextPageTokenyang ditampilkan dalam respons JSON.
Atau, Anda dapat menggunakan skrip berikut untuk mengumpulkan hasil yang di-paging dari permintaan API ke dalam file:
tempFile=$(mktemp)
nextPageToken=""
while
curl -X GET -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
"https://artifactregistry.googleapis.com/v1/projects/cloud-aoss/locations/us/repositories/assuredoss-go-free/packages?pageSize=1000&pageToken=$nextPageToken" > $tempFile
nextPageToken=$(grep nextPageToken $tempFile | sed 's/ "nextPageToken": "//' | sed 's/.$//')
grep -v nextPageToken $tempFile >> FILENAME7
[ -n "$nextPageToken" ]
do
:
done
Opsional: Tulis daftar nama paket Go utama yang diurutkan ke FILENAME8
Tindakan berikut memfilter daftar mentah modul Go yang ditampilkan untuk memberi Anda daftar nama paket utama:
curl -X GET -H "Authorization: Bearer "$(gcloud auth application-default print-access-token) \
"https://artifactregistry.googleapis.com/v1/projects/cloud-aoss/locations/us/repositories/assuredoss-go-free/packages?pageSize=1000" \
| grep name | sort -f | uniq > FILENAME8
Opsional: Tulis daftar versi paket Go yang diurutkan ke FILENAME9
Meskipun permintaan HTTP langsung untuk mencantumkan semua versi paket Go tidak tersedia, Anda dapat mencantumkan semua versi paket Go tertentu. Anda dapat
membuat daftar lengkap semua versi paket Go dengan mencantumkan secara iteratif
versi setiap paket Go yang diidentifikasi dalam daftar di FILENAME8.
Tindakan berikut memfilter daftar mentah versi paket Go yang ditampilkan untuk memberi Anda daftar versi paket:
grep -o "packages/.*" FILENAME8 | tr -d '",' | cut -d '/' -f 2 | while read package_name; do curl -X GET -H "Authorization: Bearer $(gcloud auth application-default print-access-token)" https://artifactregistry.googleapis.com/v1/projects/cloud-aoss/locations/us/repositories/assuredoss-go-free/packages/$package_name/versions | grep name | sort -f | uniq >> FILENAME9; done
Langkah berikutnya
- Menyiapkan akses repositori jarak jauh
- Mendownload paket Java menggunakan akses repositori langsung
- Mendownload paket Go menggunakan akses repositori langsung
- Mendownload paket Python menggunakan akses repositori langsung
- Menyiapkan akses repositori virtual
- Paket Java dan Python yang didukung
- Paket Go yang didukung