웹사이트 검색

Jenkins에 AWS 사용자 액세스 키와 비밀 키를 저장하는 방법


이 페이지에서

  1. 전제 조건
  2. 무엇을 할 것인가?\n
  3. Cloudbees AWS 자격 증명 플러그인 설치\n
  4. Jenkins 자격 증명에 AWS 액세스 및 비밀 키 저장
  5. AWS 단계 플러그인 설치\n
  6. 파이프라인을 생성하고 생성한 자격 증명을 테스트합니다.\n
  7. 결론

Jenkins 자격 증명에 AWS 키를 안전하게 저장할 수 있습니다. Jenkins 서버에서 AWS와 상호 작용하려는 경우 Jenkins 파이프라인의 키를 공개적으로 사용하는 대신 AWS IAM 사용자 키를 Jenkins에 안전하게 저장할 수 있습니다. "CloudBees AWS Credentials" Jenkins 플러그인을 사용하면 Jenkins Credentials API 내에 AWS IAM 사용자 자격 증명을 저장할 수 있습니다. 그런 다음 파이프라인에서 이 자격 증명을 사용하고 "withAWS" 단계를 통해 파이프라인에 주입할 수 있습니다. "withAWS" 단계를 사용하려면 "AWS 단계 플러그인" 플러그인을 설치해야 합니다.

이 기사에서는 "CloudBees AWS Credentials" 플러그인을 설치하고 이 플러그인을 사용하여 AWS IAM 사용자 비밀 키와 액세스 키를 Jenkins에 저장합니다. "awsStep"을 사용하여 생성한 자격 증명을 삽입할 수 있도록 "AWS Steps Plugin"을 설치합니다. 생성한 자격 증명을 테스트하기 위해 파이프라인 내에서 S3 개체 업로드 및 개체 다운로드 작업을 수행합니다.

전제 조건

  1. S3 버킷에 대한 읽기/쓰기 액세스 권한이 있는 액세스 키와 보안 키가 있는 AWS IAM 사용자(AWS에서 IAM 사용자를 생성하는 방법을 알아보려면 여기를 클릭).\n
  2. S3 버킷(AWS에서 S3 버킷을 만드는 방법을 알아보려면 여기를 클릭하세요.)\n
  3. Jenkins 서버(Jenkins 서버 생성 방법을 알아보려면 \How to install Jenkins using a war file on AWS EC2 Ubuntu instance?\ 검색)

우리는 무엇을 할 것인가?

  1. Cloudbees AWS 자격 증명 플러그인을 설치합니다.\n
  2. Jenkins 자격 증명에 AWS 액세스 및 비밀 키를 저장합니다.\n
  3. AWS 단계 플러그인을 설치합니다.\n
  4. 파이프라인을 생성하고 생성한 자격 증명을 테스트합니다.\n

Cloudbees AWS 자격 증명 플러그인 설치

http://:8080/jenkins에서 Jenkins에 로그인합니다.

여기에 http://52.87.233.129:8080/jenkins/가 있습니다.

다음과 같이 대시보드가 표시됩니다. 왼쪽 패널에서 "Jenkins 관리"를 클릭합니다.

여기서 "시스템 구성"에서 "플러그인 관리"를 클릭하여 필요한 플러그인을 설치합니다.

업데이트, 사용 가능, 설치됨 및 고급의 4개 탭이 표시됩니다. 플러그인을 검색하려면 "사용 가능" 탭을 클릭하십시오.

"사용 가능" 탭 아래의 검색 상자에서 "cloudbees secret manager"를 검색합니다. 받은 플러그인 결과 "Cloudbees AWS Credentials"의 확인란을 선택하고 "다시 시작하지 않고 설치"를 클릭하면 Jenkins를 다시 시작하지 않고 플러그인을 설치할 수 있습니다.

플러그인이 설치되면 다음과 같이 "Success" 메시지가 표시됩니다.

Jenkins 자격 증명에 AWS 액세스 및 보안 키 저장

이제 AWS 자격 증명을 저장할 준비가 되었습니다.

기본 대시보드로 돌아가 "Jenkins 관리"를 클릭합니다.

이제 "Security" 아래의 "Manage Credentials"를 클릭하여 AWS Secret key와 Access key를 저장합니다.

"Jenkins로 범위가 지정된 저장소" --> "인증 정보 추가"에서 "글로벌"을 클릭합니다.

이 페이지에서 비밀을 저장할 수 있습니다. 종류 드롭다운을 클릭하고 AWS를 선택합니다. 비밀의 이름, 설명, 액세스 키 ID 및 비밀 액세스 키를 지정합니다. 비밀을 저장하려면 확인을 클릭하십시오.

이제 시크릿을 사용할 수 있음을 알 수 있습니다.

AWS 단계 플러그인 설치

다음 단계는 "Pipeline AWS Steps" 플러그인을 설치하는 것입니다. 기본 대시보드로 돌아가 Jenkins 관리 --> 플러그인 관리를 클릭합니다.

"Available" 탭에서 "AWS Steps"를 검색합니다. 플러그인 "파이프라인: AWS 단계"를 선택하고 "다시 시작하지 않고 설치"를 클릭합니다. 그러면 Jenkins를 다시 시작하지 않고 플러그인이 설치됩니다.

플러그인이 성공적으로 설치되면 다음과 같은 성공 메시지가 표시됩니다.

파이프라인을 생성하고 생성한 자격 증명을 테스트합니다.

이제 새 작업을 생성해 보겠습니다. 이 작업에서는 생성한 보안 비밀을 사용하려고 합니다.

기본 대시보드로 돌아가 "새 항목"을 클릭합니다.

작업에 이름을 지정하고 작업 유형으로 "파이프라인"을 선택합니다. "확인"을 클릭하면 파이프라인 유형의 작업이 생성됩니다.

"Build Triggers"를 클릭하고 "Pipeline"까지 아래로 스크롤한 다음 "Pipeline script"를 선택하고 텍스트 상자에 다음 코드를 추가합니다.

이것은 1단계 "테스트 AWS 자격 증명"이 있는 파이프라인입니다. 이 단계에서는 "withAWS"를 사용하고 여기에 보안 이름을 지정합니다. 그 안에 "hello Jenkins" 메시지가 포함된 샘플 파일 "hello.txt"를 생성합니다. 그러면 이 파일이 내 계정의 \devopslee\ S3 버킷에 업로드됩니다.

devopslee 대신 버킷 이름을 지정해야 합니다.

파일이 업로드되었는지 확인하기 위해 "downloadedHello.txt"로 다운로드하고 "cat" 명령을 사용하여 인쇄해 봅니다.

이 모든 단계가 성공했다면 우리가 만든 사용자 인증 정보를 사용하여 비밀 키와 액세스 키를 성공적으로 사용할 수 있었다는 의미입니다.

pipeline {
    agent any
    stages {
        stage('test AWS credentials') {
            steps {
                withAWS(credentials: 'jenkins-test-user', region: 'us-east-1') {
                    sh 'echo "hello Jenkins">hello.txt'
                    s3Upload acl: 'Private', bucket: 'devopslee', file: 'hello.txt'
                    s3Download bucket: 'devopslee', file: 'downloadedHello.txt', path: 'hello.txt'
                    sh 'cat downloadedHello.txt'
                }
            }
        }
    }
}

이제 위의 파이프라인을 테스트하려면 파이프라인으로 이동하여 "지금 빌드"를 클릭합니다. 그러면 파이프라인이 실행됩니다.

빌드 히스토리 --> 콘솔 출력을 클릭하십시오.

여기 콘솔 출력에서 파일이 성공적으로 생성, 업로드, 다운로드 및 읽은 것을 확인할 수 있습니다.

즉, 자격 증명에 저장한 액세스 키와 암호를 사용하여 S3 버킷을 성공적으로 인증할 수 있었습니다.

결론

이 문서에서는 Jenkins에 AWS Steps Plugin 플러그인을 설치했습니다. Jenkins Credentials를 사용하여 AWS IAM 사용자 비밀 및 액세스 키를 Jenkins에 저장했습니다. 또한 객체를 S3 버킷에 업로드 및 다운로드하여 생성한 자격 증명을 테스트하는 Jenkins 파이프라인을 생성했습니다.