このトピックでは、Alibaba Cloudアカウントを使用してOSS-HDFSを有効にし、RAMユーザーにOSS-HDFSへのアクセス権限を付与する方法について説明します。
前提条件
RAMユーザーが作成され、RAMユーザーのAccessKeyペアが記録されます。 詳細については、「RAM ユーザーの作成」をご参照ください。
RAMユーザーにEMRクラスターをOSS-HDFSに接続する権限を付与
バージョン要件を満たすE-MapReduce (EMR) クラスターは、デフォルトでOSS-HDFSと統合されています。 RAMユーザーを使用してEMRクラスター内のOSS-HDFSにアクセスし、一般的な操作を実行する場合は、AliyunEMRFullAccessシステムポリシーをRAMユーザーにアタッチするだけです。 システムポリシーには、EMRクラスターがOSS-HDFSにアクセスできるようにするために必要なすべての権限が含まれています。 このようにして、EMRクラスターは、オブジェクトの読み取りと書き込み、メタデータの管理など、必要なすべての操作を実行できます。
RAMユーザーに権限を付与する方法の詳細については、「RAMユーザーに権限を付与する」をご参照ください。
非EMRクラスターをOSS-HDFSに接続する権限をRAMユーザーに付与
RAMユーザーを使用して非EMRクラスターをOSS-HDFSに接続し、一般的な操作を実行する場合は、次のカスタムポリシーをRAMユーザーに添付する必要があります。
次のカスタムポリシーは、JindoSDKがOSS-HDFSと統合および対話し、基本的なオブジェクトの読み取りと書き込みから高度なデータレイク管理まで、必要なすべての操作を実行できるようにするために使用されます。
oss:ListObjects (
"acs:oss:*:*:*")RAMユーザーがバケット内のすべてのオブジェクトを一覧表示できるようにします。 HDFS APIでは、RAMユーザーはポリシーを使用して、ディレクトリ内のオブジェクトとサブディレクトリを表示できます。
oss:GetBucketInfo、oss:PostDataLakeStorageFileOperation、oss:PostDataLakeStorageAdminOperation (対応するリソース:
"*")oss:GetBucketInfo: RAMユーザーがバケットに関する基本情報を照会し、接続を確立してバケットのステータスを確認できます。oss:PostDataLakeStorageFileOperationおよびoss:PostDataLakeStorageAdminOperation: HDFSと互換性のある基本的なオブジェクトの読み書きや高度なメタデータ管理など、OSSデータレイクでの操作を可能にします。
oss:* (対応するリソース:
"acs:oss:*:*:*/.dlsdata"、"acs:oss:*:*:*/.dlsdata *")RAMユーザーが、名前に
. dlsdata /バケット内のプレフィックス。 ほとんどの場合、内部メタデータは. dlsdataOSS-HDFSのパス。 このポリシーは、JindoSDKがすべてのオブジェクト操作を実行し、パス内のオブジェクトまたはディレクトリの作成、削除、変更など、OSS-HDFSに関連する管理要件を満たすことを保証します。
{
"Statement": [
{
"Effect": "Allow",
"Action": "oss:ListObjects",
"Resource": [
"acs:oss:*:*:*"
]
},
{
"Effect": "Allow",
"Action": [
"oss:GetBucketInfo",
"oss:PostDataLakeStorageFileOperation",
"oss:PostDataLakeStorageAdminOperation"
],
"Resource": "*"
},
{
"Effect": "Allow",
"Action": "oss:*",
"Resource": [
"acs:oss:*:*:*/.dlsdata",
"acs:oss:*:*:*/.dlsdata*"
]
}
],
"Version": "1"
}RAMポリシーまたはバケットポリシーを使用して、HDFSの指定されたパスまたはファイルへのアクセスを許可することはできません。
RAMユーザーに権限を付与する方法の詳細については、「RAMユーザーに権限を付与する」をご参照ください。