aws/oidc/iamRoleForGha.yaml (43 lines of code) (raw):

AWSTemplateFormatVersion: "2010-09-09" Description: "IAM Role for GHA" Parameters: RepoName: Type: String Default: korosuke613/playground Resources: Role: Type: AWS::IAM::Role Properties: RoleName: GitHub AssumeRolePolicyDocument: Statement: - Effect: Allow Action: sts:AssumeRoleWithWebIdentity Principal: Federated: !Ref GithubOidc Condition: StringLike: vstoken.actions.githubusercontent.com:sub: !Sub repo:${RepoName}:* Policy: Type: AWS::IAM::Policy Properties: PolicyName: GitHubActions Roles: - !Ref Role PolicyDocument: Version: "2012-10-17" Statement: - Effect: Allow Action: - 'sts:GetCallerIdentity' Resource: '*' GithubOidc: Type: AWS::IAM::OIDCProvider Properties: Url: https://vstoken.actions.githubusercontent.com ClientIdList: - !Sub https://github.com/${RepoName} ThumbprintList: [a031c46782e6e6c662c2c87c76da9aa62ccabd8e] Outputs: Role: Value: !GetAtt Role.Arn