ここでは、MaxCompute が OSS にアクセスするためのアクセス権限を RAM でカスタマイズする方法を説明します。
外部テーブルの作成時、保存先アクセス OSS アカウントは、プレーンテキストの AccessKeyId
と AccessKeySecret
を入力できますが、アカウント漏洩のリスクがあります。 シナリオによっては、このリスクは許容できないため、MaxCompute は OSS にアクセスするためのより安全な方法を提供します。
MaxCompute は、Alibaba Cloud のアクセス制御サービス (RAM) とトークンサービス (STS) を組み合わせて、アカウントのセキュリティ問題に対処しています。
権限を与えるには 2 つの方法があります。
- MaxCompute と OSS の所有者が同じアカウントの場合、ワンクリック認証操作を RAM コンソールで直接実行できます。
- カスタム認証。
- 最初に、RAM で OSS へのアクセスを MaxCompute に許可する必要があります。
AliyunODPSDefaultRole
やAliyunODPSRoleForOtherUser
などのロール名を作成し、ポリシーの内容を設定します。-- MaxCompute と OSS の所有者が同じアカウントの場合 "Statement ":[ "Action": "STS: apererole ", "Effect": "allow ", "Principal ":{ "Service ":[ "Maid" } "Version": "1" -- MaxCompute と OSS の所有者が同じアカウントでない場合 "Statement ":[ "Action": "STS: apererole ", "Effect": "allow ", "Principal ":{ "Service ":[ "MaxCompute's owner cloud account page" "Version": "1"
- OSS * へのアクセスに必要な権限をロールに付与します。 以下のように設定します。
Version: "1 ", "Statement ":[ "Action ":[ "Oss: listbuckets ", "Oss: GetObject ", "Oss: maid ", "Oss: putobject ", "Oss: deleteobject ", "Oss: maid ", "Oss: listparts" "Resource ":"*", "Effect": "allow" -- 他の権限をカスタマイズ可能
- その後、権限ボックスがロールに付与されます。
- 最初に、RAM で OSS へのアクセスを MaxCompute に許可する必要があります。
注 承認が完了したらロールの詳細を表示してロールの RAN 情報を取得します。 OSS 外部テーブルを作成するときには、この RAN 情報を指定する必要があります。