GitHub Enterprise ServerでAWSのIAMとOIDCを利用してActionsであれこれ実行する

GitHub Enterprise ServerでAWSのIAMとOIDCを利用してActionsであれこれ実行する

https://rurukblog.com/post/GitHub-Actions-Terraform/

こういうやつ、GitHub Enterprise Serverでできないと思ってたけど普通にできちゃった。

GitHub Enterprise Serverのドキュメントはこのあたり。

https://docs.github.com/ja/enterprise-server@3.7/actions/deployment/security-hardening-your-deployments/configuring-openid-connect-in-amazon-web-services

2箇所ポイントがあって、1つ目は、プロバイダーURLに https://<YOUR GHES HOSTNAME>/_services/token のように定義することと、2つ目は信頼されたエンティティの定義に下記のように、自分のサーバの情報入れる必要があった。

{
    "Version": "2008-10-17",
    "Statement": [
        {
            "Effect": "Allow",
            "Principal": {
                "Federated": "arn:aws:iam::xxxxx:oidc-provider/<YOUR GHES HOSTNAME>/_services/token"
            },
            "Action": "sts:AssumeRoleWithWebIdentity",
            "Condition": {
                "StringLike": {
                    "<YOUR GHES HOSTNAME>/_services/token:sub": "repo:<your org>/<your repo>:*"
                }
            }
        }
    ]
}

ドキュメントだと、 token.actions.githubusercontent.com ってなってるけど、これ github.com のあたいじゃね?って感じだった。

ほかは、冒頭に提示したサイトと、公式のドキュメントみながらでハマることなく、動いた。

便利便利。

facebook
Twitter
コメントは受け付けていません。
Social Share Buttons and Icons powered by Ultimatelysocial