投稿

ラベル(aws)が付いた投稿を表示しています

dotNet Core APIでS3ファイル(apk)をダウンロードする

AWS S3ライブラリーを使って、AWS S3のバケットからAPKファイルをダウンロードしたのでメモしておく。 using System; using System.Collections.Generic; using System.IO; using System.Linq; using System.Net.Mime; using System.Threading.Tasks; using Amazon; using Amazon.S3; using Amazon.S3.Model; using Microsoft.AspNetCore.Mvc; namespace WebApi.Controllers { [ApiController] [Route("api/[controller]")] // [Route("[controller]")] public class S3Controller : ControllerBase { private const string bucketName = "hoge"; // private const string keyName = "hoge.jpg"; private const string keyName = "HelloWorld.apk"; // Specify your bucket region (an example region is shown). private static readonly RegionEndpoint bucketRegion = RegionEndpoint.USEast2; private static IAmazonS3 client; // APKをダウンロード [HttpGet("apk")] public async Task<IActionResult> GetApkFileAsync() { client = new AmazonS3Client(bucketRegion); //string res = await ReadObjectDataAsync(); //System.Net...

S3 BucketへのアクセスをPlicyで制御する

S3のファイルアクセスについて、メモしておく。 したいこと ・Bucketにあるファイルだけにアクセスする。 ・ユーザーはだれでもいい。 ・特定のIPAddressにのみ権限を与える。 すること 1. バケットの制御 一旦、ブロックパブリックアクセスで全て公開した、バケットポリシーで制限する。 ・ブロックパブリックアクセス  →全てオフ(ブロックしない。公開する。) ・アクセスコントロールリスト  →何もしない。 ・バケットポリシー  →以下の設定を行う。 S3 Policy { "Version": "2012-10-17", "Id": "Policy2222222", "Statement": [ { "Sid": "StmtNotAccess", "Effect": "Deny", "Principal": "*", "Action": "*", "Resource": "arn:aws:s3:::<backetname>/*", "Condition": { "NotIpAddress": { "aws:SourceIp": "XXX.XXX.XXX.XXX/32" } } }, { "Sid": "Stmt1594450691768", "Effect": "Allow", ...

Ubuntu20.04LTS上でEC2 APIを使うまで

イメージ
ec2-api-tools を利用することになったのでメモっておく。 まずは、キーペアの作成を行う。 キーペアを作成することで、端末からapiを使ってec2にアクセスするために必要となる プライベートキー(private-key.pem)とシークレットキー(certificate.pem)を入手、生成することができる。 AIMのユーザー画面の認証情報タブで「アクセスキーの作成」ボタンを押下し、アクセスキーをダウンロードする。(private-key.pem) そのprivate-keyをもとにopensslコマンドを使ってCertificate keyを作成する。 $ openssl req -new -x509 -nodes -sha256 -days 365 -key private-key.pem -outform PEM -out certificate.pem You are about to be asked to enter information that will be incorporated into your certificate request. What you are about to enter is what is called a Distinguished Name or a DN. There are quite a few fields but you can leave some blank For some fields there will be a default value, If you enter '.', the field will be left blank. ----- Country Name (2 letter code) [AU]:JP State or Province Name (full name) [Some-State]:Osaka Locality Name (eg, city) []:Osaka Organization Name (eg, company) [Internet Widgits Pty Ltd]:Private Organizational Unit Name (eg, section) []:Private Common Name ...