Paket premium Assured Open Source Software (Assured OSS) memungkinkan Anda meningkatkan keamanan kode dengan menggunakan paket OSS yang digunakan Google untuk alur kerja developernya sendiri. Saat Anda menggunakan Assured OSS, developer Anda dapat memanfaatkan keahlian dan pengalaman keamanan yang diterapkan Google untuk mengamankan dependensi open source-nya sendiri.
Saat mengintegrasikan Assured OSS dengan Security Command Center, Anda dapat melakukan hal berikut:
- Pilih dari ribuan paket Java, Python, Go, dan JavaScript (NPM) yang diseleksi dan paling populer, termasuk project machine learning dan kecerdasan buatan umum seperti TensorFlow, Pandas, dan Scikit-learn.
- Konfigurasikan proxy yang aman untuk mendownload semua paket Java, Python, Go, dan JavaScript dengan pengesahan dari Assured OSS, sehingga menjadikan Google sebagai pemasok yang dikenal dan tepercaya.
- Gunakan SBOM dan VEX di Assured OSS yang disediakan dalam format standar industri seperti SPDX dan CycloneDX untuk mengetahui lebih lanjut tentang komponen Anda.
- Tingkatkan kepercayaan terhadap integritas paket yang Anda gunakan melalui provenance yang ditandatangani dan jelas dari Google.
- Mengurangi risiko keamanan karena Google secara aktif memindai, menemukan, dan memperbaiki kerentanan baru dalam paket yang diseleksi.
Region yang didukung
Paket premium Assured OSS mendukung region dan multi-regionGoogle Cloud berikut untuk repositori Artifact Registry jarak jauh (atau proxy):
asia-southeast2australia-southeast1australia-southeast2europe-north1europe-north2europe-west1europe-west2europe-west3europe-west4northamerica-northeast1northamerica-northeast2europeus
Dukungan untuk metadata keamanan terbatas pada multi-region us.
Sebelum memulai
Selesaikan tugas ini sebelum Anda menyelesaikan tugas lainnya di halaman ini.
Mengaktifkan paket Security Command Center Enterprise atau Premium
Pastikan Security Command Center Premium atau Security Command Center Enterprise diaktifkan di level organisasi.
Menyiapkan izin di tingkat organisasi
Anda harus menyiapkan izin di level organisasi dan level project.
-
Di konsol Google Cloud , buka halaman IAM.
Buka IAM - Pilih organisasi.
-
Di kolom Principal, temukan semua baris yang mengidentifikasi Anda atau grup yang mencakup Anda. Untuk mengetahui grup tempat Anda disertakan, hubungi administrator Anda.
- Untuk semua baris yang menentukan atau menyertakan Anda, periksa kolom Peran untuk melihat apakah daftar peran menyertakan peran yang diperlukan.
-
Di konsol Google Cloud , buka halaman IAM.
Buka IAM - Pilih organisasi.
- Klik Grant access.
-
Di kolom New principals, masukkan ID pengguna Anda. Biasanya, ini adalah ID untuk pengguna dalam workforce identity pool. Untuk mengetahui detailnya, baca bagian Merepresentasikan pengguna workforce pool dalam kebijakan IAM, atau hubungi administrator Anda.
- Klik Select a role, lalu telusuri peran.
- Untuk memberikan peran tambahan, klik Add another role, lalu tambahkan tiap peran tambahan.
- Klik Simpan.
Pastikan Anda memiliki peran berikut di organisasi: Security Center Admin, Organization Admin
Memeriksa peran
Memberikan peran
Menyiapkan izin di level project
-
Di konsol Google Cloud , buka halaman IAM.
Buka IAM - Pilih project.
-
Di kolom Principal, temukan semua baris yang mengidentifikasi Anda atau grup yang mencakup Anda. Untuk mengetahui grup tempat Anda disertakan, hubungi administrator Anda.
- Untuk semua baris yang menentukan atau menyertakan Anda, periksa kolom Peran untuk melihat apakah daftar peran menyertakan peran yang diperlukan.
-
Di konsol Google Cloud , buka halaman IAM.
Buka IAM - Pilih project.
- Klik Grant access.
-
Di kolom New principals, masukkan ID pengguna Anda. Biasanya, ini adalah ID untuk pengguna dalam workforce identity pool. Untuk mengetahui detailnya, baca bagian Merepresentasikan pengguna workforce pool dalam kebijakan IAM, atau hubungi administrator Anda.
- Klik Select a role, lalu telusuri peran.
- Untuk memberikan peran tambahan, klik Add another role, lalu tambahkan tiap peran tambahan.
- Klik Simpan.
Pastikan Anda memiliki peran berikut di project: Service Usage Admin, Service Account Admin, Project IAM Admin
Memeriksa peran
Memberikan peran
Menyiapkan Google Cloud CLI
Instal Google Cloud CLI, lalu login ke gcloud CLI dengan identitas gabungan Anda. Setelah login, inisialisasi Google Cloud CLI dengan menjalankan perintah berikut:
gcloud initMenyiapkan Assured OSS
Konsol
Langkah-langkah ini hanya berlaku untuk paket Security Command Center Enterprise.
Di konsol Google Cloud , buka Setup guide Security Command Center.
Pastikan Anda melihat organisasi tempat Anda mengaktifkan tingkat Security Command Center Enterprise.
Luaskan panel Tinjau ringkasan kemampuan keamanan.
Klik Code security > Set up.
Di panel Set up code security, klik AOSS Setup.
Pilih akun layanan baru atau pilih akun layanan yang sudah ada yang ingin Anda tambahi izin Assured Open Source Software.
Pilih project dan region Google Cloud tempat Anda ingin menempatkan resource Assured OSS.
Klik Set up Assured OSS.
Proses penyiapan akan otomatis menyelesaikan hal berikut:
- Jika dipilih, akan membuat akun layanan baru
assuredoss@PROJECT_ID.gservicesaccount.com. - Menetapkan peran Assured OSS User ke akun layanan yang ditentukan untuk digunakan dengan Assured OSS.
- Menetapkan peran Assured OSS Admin ke akun pengguna yang login agar akun tersebut dapat mengonfigurasi layanan.
- Mengaktifkan Assured Open Source Software API dan, jika belum diaktifkan, Artifact Registry API.
- Menyiapkan layanan proxy Assured OSS di instance Artifact Registry dalam project yang Anda pilih. Repositori disediakan untuk setiap bahasa (Java, Python, Go, dan JavaScript (NPM)). Repositori ini dapat otomatis mengambil paket dari portofolio yang diseleksi. Jika paket tidak tersedia sebagai bagian dari portofolio yang diseleksi, repositori akan mengalihkan permintaan ke repositori kanonis. Untuk mengetahui informasi selengkapnya, lihat Opsi repositori Assured OSS.
- Memberi Anda dan akun layanan izin untuk mengakses metadata paket dan notifikasi dari project milik Google.
- Jika dipilih, akan membuat akun layanan baru
Buat kunci akun layanan untuk setiap akun layanan Assured OSS yang ditetapkan dan download kunci dalam format JSON.
Di command line pada komputer lokal, jalankan perintah berikut pada file kunci yang didownload untuk mendapatkan string berenkode base64:
base64 KEY_FILENAME.json
Ganti
KEY_FILENAME.jsondengan nama kunci akun layanan yang Anda download.Anda memerlukan string berenkode base64 saat menyiapkan repositori jarak jauh untuk Assured OSS.
Untuk mendownload paket, gunakan endpoint yang disediakan Assured OSS untuk setiap bahasa. Catat endpoint ini untuk digunakan nanti.
- Java:
https://LOCATION-maven.pkg.dev/PROJECT_ID/assuredoss-java
- Python:
https://LOCATION-python.pkg.dev/PROJECT_ID/assuredoss-python
- JavaScript (NPM):
https://LOCATION-npm.pkg.dev/PROJECT_ID/assuredoss-javascript
- Go:
https://LOCATION-go.pkg.dev/PROJECT_ID/assuredoss-go
Ganti kode berikut:
PROJECT_ID: ID project yang Anda pilih saat menyiapkan Assured OSS.LOCATION: wilayah yang didukung.
- Java:
Klik Berikutnya. Konfigurasikan Assured OSS dengan pengelola repositori artefak organisasi Anda seperti JFrog Artifactory atau Sonatype Nexus.
gcloud
Langkah-langkah ini berlaku untuk Security Command Center Premium dan Enterprise.
Lakukan autentikasi ke Google Cloud dengan akun pengguna yang ingin Anda gunakan untuk mengaktifkan Assured OSS:
gcloud auth revoke gcloud auth application-default revoke gcloud auth login
Telusuri project tempat Anda ingin menemukan resource Assured OSS:
gcloud alpha projects search --query="displayName=PROJECT_NAME"
Ganti
PROJECT_NAMEdengan nama project.Tetapkan project tempat Anda ingin menemukan resource Assured OSS:
gcloud config set project PROJECT_ID
Ganti
PROJECT_IDdengan ID project.Berikan peran ke akun pengguna untuk menyiapkan Assured OSS:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member=user:email@domain.com \ --role=roles/assuredoss.admin gcloud projects add-iam-policy-binding PROJECT_ID \ --member=user:email@domain.com \ --role=roles/serviceusage.serviceUsageAdmin gcloud projects add-iam-policy-binding PROJECT_ID \ --member=user:email@domain.com \ --role=roles/iam.serviceAccountAdmin
Dengan
email@domain.comyang menjadi alamat email untuk akun pengguna Anda.Aktifkan Assured OSS dalam project. Mengaktifkan Assured OSS juga akan mengaktifkan Artifact Registry API.
gcloud services enable assuredoss.googleapis.com
Untuk membuat akun layanan baru untuk Assured OSS, bukan menggunakan akun layanan yang ada, selesaikan langkah-langkah berikut:
gcloud iam service-accounts create SERVICE_ACCOUNT_NAME \ --description="Service account for using Assured OSS" --display-name="Assured OSS service account"
Ganti
SERVICE_ACCOUNT_NAMEdengan nama akun layanan (misalnya,assuredoss).Konfigurasikan akun layanan untuk Assured OSS:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:SERVICE_ACCOUNT_NAME@PROJECT_ID. \ --role roles/assuredoss.user
Ganti kode berikut:
SERVICE_ACCOUNT_NAME: nama akun layanan (misalnya,assuredoss).PROJECT_ID: ID project.
- Untuk mengakses repositori metadata keamanan setelah menyiapkan Assured OSS premium menggunakan gcloud, kirim email ke customer-support-aoss@google.com dengan akun layanan yang Anda aktifkan untuk Assured OSS.
Siapkan layanan proxy Assured OSS di instance Artifact Registry dengan membuat repositori Assured OSS. Anda harus membuat repositori untuk semua bahasa. Tentukan region tempat layanan proxy Assured OSS harus menyediakan repositori.
alias gcurlj='curl -H "Authorization: Bearer $(gcloud auth print-access-token)" -H "Content-Type: application/json" -X' gcurlj POST https://artifactregistry.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories\?repositoryId\=assuredoss-java -d '{"format": "MAVEN", "mode": "AOSS_REPOSITORY"}' gcurlj POST https://artifactregistry.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories\?repositoryId\=assuredoss-javascript -d '{"format": "NPM", "mode": "AOSS_REPOSITORY"}' gcurlj POST https://artifactregistry.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories\?repositoryId\=assuredoss-python -d '{"format": "PYTHON", "mode": "AOSS_REPOSITORY"}' gcurlj POST https://artifactregistry.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories\?repositoryId\=assuredoss-go -d '{"format": "GO", "mode": "AOSS_REPOSITORY"}'Ganti kode berikut:
PROJECT_ID: ID project yang Anda pilih saat menyiapkan Assured OSS.LOCATION: wilayah yang didukung.
Repositori ini dapat otomatis mengambil paket dari portofolio yang diseleksi. Jika paket tidak tersedia sebagai bagian dari portofolio yang diseleksi, repositori akan mengalihkan permintaan ke repositori kanonis.
Buat kunci akun layanan untuk setiap akun layanan Assured OSS dan download kunci dalam format JSON.
Di command line, jalankan perintah berikut pada file kunci yang didownload untuk mendapatkan string berenkode base64:
base64 KEY_FILENAME.json
Ganti
KEY_FILENAME.jsondengan nama kunci akun layanan yang Anda download.Anda memerlukan string berenkode base64 saat menyiapkan repositori jarak jauh untuk Assured OSS.
Untuk mendownload paket, gunakan endpoint yang disediakan oleh Assured OSS untuk setiap bahasa. Catat endpoint berikut:
- Java:
https://LOCATION-maven.pkg.dev/PROJECT_ID/assuredoss-java
- Python:
https://LOCATION-python.pkg.dev/
PROJECT_ID/assuredoss-python - JavaScript (NPM):
https://LOCATION-npm.pkg.dev/
PROJECT_ID/assuredoss-javascript - Go:
https://LOCATION-go.pkg.dev/
PROJECT_ID/assuredoss-go
Ganti kode berikut:
PROJECT_ID: ID project yang Anda pilih saat menyiapkan Assured OSS.LOCATION: wilayah yang didukung.
- Java:
Konfigurasikan Assured OSS untuk mendownload paket dengan pengelola repositori artefak organisasi Anda, seperti JFrog Artifactory atau Sonatype Nexus.
Atau, lihat paket Java, Python, Go, dan JavaScript yang tersedia:
gcloud auth revoke gcloud auth application-default revoke gcloud auth login --cred-file=KEY_FILENAME.json
Ganti
KEY_FILENAME.jsondengan nama kunci akun layanan yang Anda download.export GOOGLE_APPLICATION_CREDENTIALS=KEY_FILENAME.json
Ganti
KEY_FILENAME.jsondengan nama kunci akun layanan yang Anda download.gcurlj GET "https://artifactregistry.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/assuredoss-java/packages" gcurlj GET "https://artifactregistry.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/assuredoss-python/packages" gcurlj GET "https://artifactregistry.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/assuredoss-javascript/packages" gcurlj GET "https://artifactregistry.googleapis.com/v1/projects/PROJECT_ID/locations/LOCATION/repositories/assuredoss-go/packages"
Ganti kode berikut:
PROJECT_ID: ID project yang Anda pilih saat menyiapkan Assured OSS.LOCATION: wilayah yang didukung.