EMR バージョン 3.32 以降、4.5 以降、および 5.x では、メタサービスが ECS アプリケーションロールに置き換えられています。このロールは、クラスターの作成時またはスケールアウト時に、EMR クラスター内の各 ECS インスタンスに自動的に割り当てられます。EMR クラスター上で実行されるアプリケーションは、このロールを使用して他のクラウドサービスとやり取りするための権限を取得します。これにより、アプリケーションは AccessKey なしで Alibaba Cloud リソースにアクセスできるため、設定ファイルに AccessKey を記述する必要がなくなります。
前提条件
必要なロールを承認する必要があります。詳細については、「Alibaba Cloud アカウントロールの承認」をご参照ください。
権限
デフォルトロール [AliyunECSInstanceForEMRRole] には、システムポリシー [AliyunECSInstanceForEMRRolePolicy] が含まれています。次の表に、OSS、Tablestore、および DLF の権限を示します。
|
アクション |
説明 |
|
oss:PutObject |
ファイルやフォルダーなどのオブジェクトをアップロードします。 |
|
oss:GetObject |
ファイルやフォルダーなどのオブジェクトを取得します。 |
|
oss:ListObjects |
オブジェクトを一覧表示します。 |
|
oss:DeleteObject |
指定されたオブジェクトを削除します。 |
|
oss:ListBuckets |
すべてのバケットを一覧表示します。 |
|
oss:AbortMultipartUpload |
マルチパートアップロードイベントを中止します。 |
|
oss:ListMultipartUploads |
進行中のすべてのマルチパートアップロードイベントを一覧表示します。 |
|
oss:RestoreObject |
Archive または Cold Archive ストレージクラスのオブジェクトを復元します。 |
|
oss:GetBucketInfo |
指定されたバケットの情報を取得します。 |
|
oss:ListObjectVersions |
削除マーカーを含む、バケット内のすべてのオブジェクトのバージョンを一覧表示します。 |
|
oss:DeleteObjectVersion |
オブジェクトの指定されたバージョンを削除します。 |
|
oss:PostDataLakeStorageFileOperation |
OSS-HDFS へのアクセス権限を付与します。 |
|
ots:CreateTable |
指定された構造のデータテーブルを作成します。 |
|
ots:DeleteTable |
指定されたデータテーブルを削除します。 |
|
ots:GetRow |
プライマリキーで 1 つのデータ行を読み取ります。 |
|
ots:PutRow |
指定された行にデータを挿入します。 |
|
ots:UpdateRow |
指定された行のデータを更新します。 |
|
ots:DeleteRow |
指定された行を削除します。 |
|
ots:GetRange |
指定されたプライマリキー範囲内のデータを読み取ります。 |
|
ots:BatchWriteRow |
1 つまたは複数のテーブル内の複数の行を挿入、更新、または削除します。 |
|
ots:BatchGetRow |
1 つまたは複数のテーブルから複数の行を読み取ります。 |
|
ots:ComputeSplitPointsBySize |
テーブルを指定されたおおよそのサイズの複数のシャードに論理的に分割し、シャードの分割ポイントとホストの提案を返します。 |
|
ots:StartLocalTransaction |
パーティションキーでローカルトランザクションを開始し、トランザクション ID を返します。 |
|
ots:CommitTransaction |
ローカルトランザクションをコミットします。 |
|
ots:AbortTransaction |
ローカルトランザクションを中止します。 |
|
dlf:BatchCreatePartitions |
複数のパーティションを作成します。 |
|
dlf:BatchCreateTables |
複数のデータテーブルを作成します。 |
|
dlf:BatchDeletePartitions |
複数のパーティションを削除します。 |
|
dlf:BatchDeleteTables |
複数のデータテーブルを削除します。 |
|
dlf:BatchGetPartitions |
複数のパーティションを取得します。 |
|
dlf:BatchGetTables |
複数のデータテーブルを取得します。 |
|
dlf:BatchUpdatePartitions |
複数のパーティションの情報を更新します。 |
|
dlf:BatchUpdateTables |
複数のデータテーブルを更新します。 |
|
dlf:CreateDatabase |
データベースを作成します。 |
|
dlf:CreateFunction |
関数を作成します。 |
|
dlf:CreatePartition |
パーティションを作成します。 |
|
dlf:CreateTable |
データテーブルを作成します。 |
|
dlf:DeleteDatabase |
データベースを削除します。 |
|
dlf:DeleteFunction |
関数を削除します。 |
|
dlf:DeletePartition |
パーティションを削除します。 |
|
dlf:DeleteTable |
データテーブルを削除します。 |
|
dlf:GetDatabase |
データベースを取得します。 |
|
dlf:GetFunction |
関数を取得します。 |
|
dlf:GetPartition |
パーティションを取得します。 |
|
dlf:GetTable |
データテーブルを取得します。 |
|
dlf:ListCatalogs |
データカタログを一覧表示します。 |
|
dlf:ListDatabases |
データベースを一覧表示します。 |
|
dlf:ListFunctionNames |
関数の名前を一覧表示します。 |
|
dlf:ListFunctions |
関数を一覧表示します。 |
|
dlf:ListPartitionNames |
パーティションの名前を一覧表示します。 |
|
dlf:ListPartitions |
パーティションを一覧表示します。 |
|
dlf:ListPartitionsByExpr |
式に基づいて、メタデータテーブル内のパーティションを一覧表示します。 |
|
dlf:ListPartitionsByFilter |
フィルターに基づいて、メタデータテーブル内のパーティションを一覧表示します。 |
|
dlf:ListTableNames |
データテーブルの名前を一覧表示します。 |
|
dlf:ListTables |
データテーブルを一覧表示します。 |
|
dlf:RenamePartition |
パーティションの名前を変更します。 |
|
dlf:RenameTable |
データテーブルの名前を変更します。 |
|
dlf:UpdateDatabase |
データベース情報を更新します。 |
|
dlf:UpdateFunction |
関数情報を更新します。 |
|
dlf:UpdateTable |
データテーブル情報を更新します。 |
|
dlf:UpdateTableColumnStatistics |
メタデータテーブルの列統計情報を更新します。 |
|
dlf:GetTableColumnStatistics |
メタデータテーブルの列統計情報を取得します。 |
|
dlf:DeleteTableColumnStatistics |
メタデータテーブルの列統計情報を削除します。 |
|
dlf:UpdatePartitionColumnStatistics |
パーティションの列統計情報を更新します。 |
|
dlf:GetPartitionColumnStatistics |
パーティションの列統計情報を取得します。 |
|
dlf:DeletePartitionColumnStatistics |
パーティションの列統計情報を削除します。 |
|
dlf:BatchGetPartitionColumnStatistics |
複数のテーブルパーティションの列統計情報を取得します。 |
|
dlf:CreateLock |
メタデータロックを作成します。 |
|
dlf:UnLock |
指定されたメタデータロックを解放します。 |
|
dlf:AbortLock |
メタデータロックを中止します。 |
|
dlf:RefreshLock |
メタデータロックを更新します。 |
|
dlf:GetLock |
メタデータロックを取得します。 |
|
dlf:GetAsyncTaskStatus |
非同期タスクのステータスを取得します。 |
|
dlf:DeltaGetPermissions |
権限のリストを取得します。 |
|
dlf:GetPermissions |
データ権限情報を取得します。 |
|
dlf:GetServiceInfo |
サービス情報を取得します。 |
|
dlf:GetRoles |
ロール情報を取得します。 |
|
dlf:CheckPermissions |
データ権限を検証します。 |
デフォルトのロール AliyunECSInstanceForEMRRole を編集または削除する際は注意してください。編集または削除を行うと、クラスターの作成やジョブの実行に失敗します。
ECS ロールによる一時的な認証情報の利用
STS からの一時的な資格情報を使用して、他のクラウドリソースにアクセスできます。詳細については、「インスタンス RAM ロール」をご参照ください。