Peta dunia

 

EN: Read in English

Dunia A2: Kunci & Pengawal

OIDC dari GitHub Actions

Anda akan belajar: benarkan satu workflow GitHub pinjam role AWS, tanpa kunci disimpan.

Teks BM belum disemak oleh penutur asli.

Disemak dengan AWS 2026-11 pada 1 Nov 2026

Masalahnya

Workflow GitHub Kedai Kancil mesti push image ke AWS. Anda sudah jumpa jawapannya dalam CI/CD Dunia C3: pas pelawat, OIDC (OpenID Connect): Runner tunjuk pas pelawat untuk satu job. Cloud semak pas itu dan pinjamkan kunci yang luput bila job tamat.. Kenapa ia lebih baik daripada kunci yang disimpan?

Pilih satu jawapan.

Tengok

Di pihak AWS ada tiga bahagian. Susun keseluruhan persediaan.

Langkah pertama di atas. Susun ikut turutan. Guna anak panah, atau seret.

  • Dalam workflow, benarkan id-token: write
  • Beri role itu polisi kebenaran yang kecil
  • Buat role yang trust policynya namakan repo anda
  • Tambah GitHub sebagai OIDC identity provider dalam IAM
  • configure-aws-credentials tukar pas itu kepada kunci

Tengok

trust policy: Nota pada role yang kata siapa boleh pinjam: satu servis, pengguna, atau GitHub Actions. role itu semak pas. Ketik baris yang kata repo mana boleh pinjam role itu.

Ketik baris yang namakan repo.

0 daripada 1 dijumpai

Cuba

Setiap baris ialah nilai sub yang mungkin. Selamat untuk role deploy production, atau perlu dibaiki?

Leret ke kanan untuk bagus, ke kiri untuk perlu baiki. Atau guna butang.

1 / 4repo:kedai-kancil/shop:environment:production
repo:kedai-kancil/shop:environment:production

Teka

Anda cuba simpan trust policy yang subnya hanya *. Apa IAM buat?

Pilih satu jawapan.

Semak

Workflow sudah masuk, memakai role ci-deployer. Ia cuba padam seluruh rak image. Ramalkan.

Baca permintaan dan policy-nya. AWS akan kata Allow atau Deny?

Permintaan

Siapa
ci-deployer (sesi role)arn:aws:sts::111122223333:assumed-role/ci-deployer/run-42
Mahu buat
ecr:DeleteRepository
Pada
arn:aws:ecr:ap-southeast-5:111122223333:repository/kedai
Identity policy (gugusan kunci) · ecr-push
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"ecr:BatchCheckLayerAvailability",
"ecr:InitiateLayerUpload",
"ecr:UploadLayerPart",
"ecr:CompleteLayerUpload",
"ecr:PutImage"
],
"Resource": "arn:aws:ecr:ap-southeast-5:111122223333:repository/kedai"
}
]
}
Tekaan anda:

Anda berjaya!

Kini anda boleh benarkan satu workflow GitHub pinjam role AWS, tanpa kunci disimpan.

Nak tahu lebih (pilihan)

Repo GitHub yang dibuat selepas 15 Julai 2026 letak id dalam nilai sub, seperti repo:kedai-kancil@123/shop@456:…. Salin format tepat dari dokumentasi repo anda.

Latihan sebenar (IAM percuma; pasang penggera bajet dahulu). Senarai bersihkan: role dan provider.

Misi sebenar

  1. aws sts get-caller-identity

0 daripada 5 langkah siap · Tanda anda disimpan.