Giithub Action의 OpenID Connect를 사용한 AWS 인증
ID 공급자 만들기(AWS)
IAM ID 공급업체에서 제작
다음과 같이 설정합니다.
공급자 유형: Open ID Connect
공급자:token.actions.githubusercontent.com
대상자:sts.amazonaws.com
이곳의 공급업체는 vstoken이다.actions.githubusercontent.컴이 아니라 토큰이야.actions.githubusercontent.최신 비디오
또한 대상자는sigstore에도 많지만 이하github의 issue에 따라sts.amazonaws.com이 정답인 것 같아요.
IAM 스크롤 막대 제작(AWS)
다음과 같이 설정합니다.
엔티티 유형:웹 ID
ID 공급자: token.actions.githubusercontent.com
Audience: sts.amazonaws.com
그런 다음 액세스 권한 및 이름을 결정하여 설정합니다.
github의access token 만들기
github의 icon부터 Setting→Developer setting→personal access tokens 이동
Generate new token으로 토큰 만들기 (임의의 이름)
github Action을 설명하는 yaml 파일(github)
다음과 같이 기술하다.
# 名前は適当に
name: test
on:
main branch
#ルールも適当に
push:
branches: [ main ]
permissions:
id-token: write
contents: write
jobs:
build:
steps:
- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@master
with:
aws-region: ap-northeast-1
role-to-assume: arn:aws:iam::010922940107:role/{role_name}
role-session-name: MySessionName
- run: aws sts get-caller-identity
# 以下はS3にあげる処理。基本的に認証が通れば、aws cliで操作できるようになる
- name: Deploy to S3
run: |
aws s3 cp {blahblahblah} ${{ secrets.AWS_BUCKET_NAME }} --recursive
working-directory: {hogehoge}
permissions 부분이 없으면 오류 발생github 편집기에서 편집했지만 id-token이 대응하지 않은 것 같아서 오류가 발생하여 조사를 시작했습니다.결과적으로 편집기는 지원하지 않습니다.
만약 이렇게 액션을 진행한다면, 보통aws에 인증되고 방문할 것입니다.
AWS의 액세스 토큰이 필요하지 않으므로 쉽습니다!!
실패했지!!
참고 자료
결과적으로 github의 issue가 가장 유용하다.다음 issue가 최신 정보일 수도 있습니다. 오류가 발생하면 여기에서 검색하는 것이 좋습니다.
Could not load credentials from any providers #271
아래의 문장은 일본어로 이해하기 쉬우니 개요적인 작법 등을 참고할 수 있다
GiitHub Action ID 토큰을 사용하여 AWS 리소스에 액세스
[GiitHub Actions]aws/configure-aws-credentials를 사용하여 OIDC 공급업체를 통해SwitchRole
Reference
이 문제에 관하여(Giithub Action의 OpenID Connect를 사용한 AWS 인증), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/ifhito/articles/81493443cae854텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)