MaxCompute は、認証のために次の 3 種類の ID をサポートしています:Alibaba Cloud アカウント (root ユーザー)、Resource Access Management (RAM) ユーザー、および RAM ロール。
日常的な MaxCompute 操作には Alibaba Cloud アカウントを使用しないでください。このアカウントにはすべてのリソースに対する無制限のコントロール権限があり、AccessKey ペアが漏洩した場合、すべてのリソースが危険にさらされます。日常的なアクセスには RAM ユーザーまたは RAM ロールを使用してください。
ID タイプの選択
以下の表を参考に、ご利用のシナリオに合った ID タイプを選択してください。
| ID タイプ | 認証情報 | シナリオ |
|---|---|---|
| Alibaba Cloud アカウント | コンソールログインまたは AccessKey ペア | 初期設定およびアカウントレベルの管理専用 — 日常的な使用には不適切 |
| RAM ユーザー | AccessKey ペアまたはコンソールログイン | 継続的かつ権限範囲が限定されたアクセスが必要な人間のチームメンバー |
| RAM ロール | Security Token Service (STS) トークン | 自動化されたワークロード、サービス間アクセス、および企業向けシングルサインオン (SSO) |
Alibaba Cloud アカウントの使用
Alibaba Cloud アカウントの所有者は、そのアカウント配下のすべてのリソースに対して完全な操作権限を持ちます。
コンソールアクセス
またはDataWorks コンソールに Alibaba Cloud アカウントでログインします。コンソールから、MaxCompute の有効化、プロジェクトの作成、データの管理、ユーザーの管理、およびデータ分析が可能です。
プログラムによるアクセス
任意: まだ AccessKey ペアをお持ちでない場合は、Alibaba Cloud アカウントを作成し、本人確認を完了したうえで AccessKey ペアを作成してください。「本人確認」および「Alibaba Cloud アカウントの作成」をご参照ください。
AccessKey ペアは、AccessKey ID と AccessKey Secret で構成されます。AccessKey ID は AccessKey ペアの識別に使用され、AccessKey Secret はリクエストの署名計算に使用されます。両方の値は厳重に秘密にしてください。ペアをローテーションするには、新しいペアを作成して既存のペアを無効化します。AccessKey ペアを有効または無効にした後、反映されるまで約 15 分かかります。
以下のいずれかの方法を使用します。
| 方法 | 方法 |
|---|---|
| MaxCompute クライアント (odpscmd) | odps_config.ini に AccessKey ペアを設定して接続します。「MaxCompute クライアントのインストールと設定」をご参照ください。 |
| SDK | Java 向け SDK または Python 向け SDK で AccessKey ペアを使用します。 |
RAM ユーザーの使用
RAM ユーザーは Alibaba Cloud アカウント配下に作成される ID です。MaxCompute へのスコープ付きかつ継続的なアクセスが必要なチームメンバーに RAM ユーザーを割り当てます。
デフォルトでは、MaxCompute プロジェクトは Alibaba Cloud アカウントシステムのみを認識します。RAM ユーザーがプロジェクトにアクセスできるようにするには、まずそのプロジェクトで RAM アカウントシステムを有効化する必要があります。
MaxCompute が RAM ユーザーを認証する際、ユーザーの ID は確認しますが、RAM で設定された権限定義は適用しません。MaxCompute プロジェクトは RAM アカウントシステムの ID のみを認識し、元の RAM 権限は認識しません。
ステップ 1:RAM アカウントシステムの有効化(任意)
ご利用の MaxCompute プロジェクトで RAM アカウントシステムがまだ有効化されていない場合は、以下の手順を実行します。
MaxCompute クライアント (odpscmd) にログインします。
以下のコマンドを実行して RAM アカウントシステムを追加します。
add accountprovider ram;RAM アカウントシステムがアクティブであることを確認します。出力結果に
ramが含まれている必要があります。list accountproviders;
ステップ 2:RAM ユーザーの作成とプロジェクトへの追加
RAM ユーザーを作成し、必要な権限を付与します。「RAM ユーザーの準備」をご参照ください。
RAM ユーザーを MaxCompute プロジェクトに追加し、ロールを割り当てます。「ワークスペースメンバーを追加してロールを割り当てる」をご参照ください。
RAM ロールの使用
RAM ロールは Alibaba Cloud アカウント内の仮想 ID です。RAM ユーザーとは異なり、RAM ロールにはアカウント、ログインパスワード、または AccessKey ペアがありません。信頼できるエンティティがこのロールを引き受けることで、一時的な STS トークンを取得し、認証を行います。
RAM ロールは以下の 2 つのシナリオに適しています。
ロールベースの SSO: Alibaba Cloud がサービスプロバイダ (SP) として機能し、企業のアイデンティティ管理システムが ID プロバイダー (IdP) として機能します。従業員は特定の RAM ロールを使用して Alibaba Cloud にログインします。企業はローカル IdP でユーザーを管理し、Alibaba Cloud との同期は不要です。
サービス間アクセス: 信頼できる Alibaba Cloud サービスが RAM ロールを引き受けることで、MaxCompute へのアクセス権限を付与します。MaxCompute は RAM ロールの権限を RAM ユーザーと同様に管理します。これには、データオブジェクトの作成、ジョブの実行、データの書き込みおよび読み取りの権限が含まれます。
RAM ロールアクセスの設定
RAM ロールを作成し、信頼ポリシーを定義します。信頼できるエンティティに応じて以下のガイドを選択してください。作成後に信頼ポリシーを編集する場合は、「RAM ロールの信頼ポリシーの編集」をご参照ください。
RAM ロールを MaxCompute プロジェクトに追加します。「RAM ロールの追加 (プロジェクトレベル)」をご参照ください。
信頼できるエンティティを設定して、ロールを偽装し、STS トークンを使用して MaxCompute にアクセスできるようにします。詳細については、「概要」をご参照ください。
次のステップ
RAM ユーザーの準備 — MaxCompute アクセス用の RAM ユーザーの作成と設定
Alibaba Cloud アカウントの作成 — まだアカウントをお持ちでない場合
MaxCompute クライアントのインストールと設定 — プログラムによるアクセスのための odpscmd のセットアップ