Gunakan AWS Secrets Manager di GitLab - AWS Secrets Manager

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 mengambil rahasia ini dari Secrets Manager saat aplikasi Anda menjalankan pekerjaan di pipeline GitLab CI/CD.

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:

  1. 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.

  2. 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:

    1. Atur provider URL ke GitLab instance Anda. Misalnya, gitlab.example.com.

    2. Atur audience atau aud kests.amazonaws.com.

  3. 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.

    1. Di konsol IAM, gunakan pengaturan berikut saat membuat peran IAM:

      • Atur Trusted entity type ke Web identity.

      • Atur Group ke your 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.

    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 Anda dengan informasi berikut:

  • 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 untuk informasi selengkapnya.

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