0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

github actionsとAWSの勉強

Posted at

GitHub Actionsに権限を与えるためにまずIAMのポリシーとロールを作成しないといけない。
下記gemini

{
    "Version": "2012-10-17",
    "Statement": [
        {
            "Sid": "AllowS3Sync",
            "Effect": "Allow", <- S3へのファイル操作を許可
            "Action": [
                "s3:PutObject", <- S3へのアップロード権限
                "s3:ListBucket", <- S3へのファイル一覧の取得権限
                "s3:DeleteObject" <- S3への削除権限
            ],
            "Resource": [
                "arn:aws:s3:::<YOUR_BUCKET_NAME>", <- ListBucket操作は、このバケット自体に対して行われます。
                "arn:aws:s3:::<YOUR_BUCKET_NAME>/*" <- PutObjectやDeleteObject操作はこちらに適用されます。
            ]
        },
        {
            "Sid": "AllowCloudFrontInvalidation",
            "Effect": "Allow", <- クラウドフロントの操作を許可
            "Action": "cloudfront:CreateInvalidation", <- キャッシュクリアの権限
            "Resource": "arn:aws:cloudfront::<YOUR_AWS_ACCOUNT_ID>:distribution/<YOUR_CLOUDFRONT_DISTRIBUTION_ID>" <- クリアするディストリビューションの指定
        }
    ]
}

次にIDプロバイダーを作る
プロバイダータイプがOpenID Connect
プロバイダーのURLがhttps://token.actions.githubusercontent.com
対象者がsts.amazonaws.com

次にロールの作成
ウエブアイデンティティを選択して
IDプロバイダーは作成したやつを選択
Audienceはsts.amazonaws.com
GitHubの情報は自分のやつを入れる

そのロールのARNをGitHubのActions secrets / New secretに入れる

今回はS3とcloudfront使いたかったのでバケット名やディストリビューション名もシークレットに入れるといいらしい

今回は知識がないのでyamlの作成はAIにお願いした

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?