Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Gunakan AWS Secrets Manager di GitLab
AWS Secrets Manager terintegrasi dengan GitLab. Anda dapat memanfaatkan rahasia Secrets Manager untuk melindungi GitLab kredensialmu sehingga tidak lagi di-hardcode. GitLab Sebagai gantinya, GitLab Runner
Untuk menggunakan integrasi ini, Anda akan membuat penyedia identitas OpenID Connect (OIDC) di IAM dan peran IAM AWS Identity and Access Management . Hal ini memungkinkan GitLab Runner untuk mengakses rahasia Secrets Manager Anda. Untuk informasi lebih lanjut tentang GitLab CI/CD dan OIDC, lihat dokumentasi. GitLab
Pertimbangan
Jika Anda menggunakan GitLab instans non-publik, Anda tidak dapat menggunakan integrasi Secrets Manager ini. Sebagai gantinya, lihat GitLab dokumentasi untuk instance non-publik
Prasyarat
Untuk mengintegrasikan Secrets Manager dengan GitLab, lengkapi prasyarat berikut:
-
Buat AWS Secrets Manager rahasia
Anda akan memerlukan rahasia Secrets Manager yang akan diambil dalam GitLab pekerjaan Anda dan menghilangkan kebutuhan untuk hard-code kredensil ini. Anda akan memerlukan Secrets Manager Secrets Secrets Secrets Secrets saat mengonfigurasi GitLab pipeline. Untuk informasi selengkapnya, lihat Buat AWS Secrets Manager rahasia.
-
GitLab Buat penyedia OIDC Anda di konsol IAM.
Pada langkah ini, Anda akan membuat penyedia OIDC GitLab Anda di konsol IAM. Untuk informasi selengkapnya, lihat Membuat penyedia identitas dan dokumentasi OpenID Connect (OIDC). GitLab
Saat membuat penyedia OIDC di konsol IAM, gunakan konfigurasi berikut:
-
Atur
provider URL
ke GitLab instance Anda. Misalnya,gitlab.example.com
. -
Atur
audience
atauaud
kests.amazonaws.com
.
-
-
Buat peran dan kebijakan IAM
Anda harus membuat peran dan kebijakan IAM. Peran ini diasumsikan oleh GitLab with AWS Security Token Service (STS). Lihat Membuat peran menggunakan kebijakan kepercayaan khusus untuk informasi selengkapnya.
-
Di konsol IAM, gunakan pengaturan berikut saat membuat peran IAM:
-
Atur
Trusted entity type
keWeb identity
. -
Atur
Group
keyour GitLab group
. -
Setel
Identity provider
ke URL penyedia yang sama (GitLab instance) yang Anda gunakan di langkah 2. -
Setel
Audience
ke audiens yang sama dengan yang Anda gunakan di langkah 2.
-
Anda juga harus membuat kebijakan IAM untuk mengizinkan GitLab akses ke AWS Secrets Manager. Anda dapat menambahkan kebijakan ini ke kebijakan kepercayaan Anda. Untuk informasi selengkapnya, lihat Membuat kebijakan IAM.
-
Integrasi dengan AWS Secrets Manager GitLab
Setelah menyelesaikan prasyarat, Anda dapat mengonfigurasi untuk menggunakan GitLab Secrets Manager untuk melindungi kredensialnya.
Konfigurasikan GitLab pipeline untuk menggunakan Secrets Manager
Anda harus memperbarui file konfigurasi GitLab CI/CD
-
Penonton token diatur ke STS.
-
ID rahasia Secrets Manager.
-
Peran IAM yang ingin Anda asumsikan oleh GitLab Runner saat menjalankan pekerjaan di pipeline. GitLab
-
Di Wilayah AWS mana rahasia disimpan.
GitLab mengambil rahasia dari Secrets Manager dan menyimpan nilai dalam file sementara. Path ke file ini disimpan dalam CI/CD variabel, mirip dengan variabel tipe file CI/CD
Berikut ini adalah cuplikan file YAMAL untuk file konfigurasi GitLab CI/CD:
variables: AWS_REGION:
us-east-1
AWS_ROLE_ARN: 'arn:aws:iam::111122223333
:role/gitlab-role
' job: id_tokens: AWS_ID_TOKEN: aud: 'sts.amazonaws.com' secrets: DATABASE_PASSWORD: aws_secrets_manager: secret_id: "arn:aws:secretsmanager:us-east-1
:111122223333
:secret:secret-name
"
Untuk informasi selengkapnya, lihat dokumentasi integrasi GitLab Secrets Manager
Secara opsional, Anda dapat menguji konfigurasi OIDC Anda di. GitLab Lihat GitLab dokumentasi untuk menguji konfigurasi OIDC
Pemecahan Masalah
Berikut ini dapat membantu Anda memecahkan masalah umum yang mungkin Anda temui saat mengintegrasikan Secrets Manager dengan. GitLab
GitLab Masalah saluran pipa
Jika Anda mengalami masalah GitLab pipeline, pastikan hal berikut:
-
File YAMAL Anda diformat dengan benar. Untuk informasi lebih lanjut, lihat GitLabdokumentasi
. -
GitLab Pipeline Anda mengasumsikan peran yang benar, memiliki izin yang sesuai, dan akses ke rahasia yang benar AWS Secrets Manager .
Sumber daya tambahan
Sumber daya berikut dapat membantu Anda memecahkan masalah dengan GitLab dan: AWS Secrets Manager