これから書くこと
AlibabaのOSS(Object Storage Service、AWSでいうところのS3)でバケットにCSVをアップロードする必要があった。
そもそも不慣れなAlibaba環境で、アクセス制限どうするかをインフラの人と話し合ったので備忘。
認証方式
AccessKey
一番わかりやすいやつ?(個人的には)
アクセスキーとシークレット(パスワード的なやつ)を発行して、使用する。
SDKを使ってプログラムからアクセスする場合は、envとかに持たせておいて使う感じ。
ただ、有効期限とかはないのでセキュリティ的にそこまで優秀じゃないよね、というポジション
STS
何の略かというと、Security Token Service
何がSecurityなのかというと、temporaryなところ。つまりワンタイムパスワード的な使い方をするトークンを発行してくれるサービス。
AccessKeyと違って、都度トークンを発行するためこちらの方がセキュアとのこと。
ちなみにPHPのSDKはSTSのトークンでもアクセスキーと同じように使えた。
RamRoleArn
RamっていうのはAWSでいうところのIAM(だと思ってる違ったらごめんなさい。)
直接ユーザーに紐づけてたSTSトークンの発行を、ロールを介して行うことができる位置付けのもの。
ポリシーとロールを使って汎用的にアクセス制限を定義しながら、適切なユーザーにSTSトークンを発行してあげられる仕組み
EcsRamRole
AlibabaでいうECSはAWSでいうところのEC2。
AWSはElastic Compute CloudだったのでEC2だったが
AlibabaはElastic Compute ServiceなのでECS。
コンテナ用のサービスではない。
RamRoleの概念をEcsに適用したもの
RsaKeyPair
よくある秘密鍵のやつ。なぜか日本リージョン(Alibabaではstation)だけ使える。
Bearer Token
Cloud Call Centre (CCC)で使うやつらしい。
今回はOSSくらいしか触ってないので割愛
Alibaba使ってみた感想
まず日本語の情報は少ないので、英語スラスラ読めないと調査スピードが若干下がる。
ドキュメントページのクオリティも画像パス間違ってて404になってたり、急に簡体字で表示されたりとイマイチ。
あとはサービス名がAWSと違うので、一回一回調べないとドキュメントも読めない。
逆に概念はほぼAWSのコピーのような印象なので、
Ecs → EC2
OSS → S3
みたいな感じで置き換えて考えればあんまり困らなそうだった。
あと現地でのサービス名はAliyunなので注意。