このトピックでは、Resource Access Management (RAM) を使用して Object Storage Service (OSS) および OSS-HDFS のアクセス権限を設定する方法について説明します。カスタムポリシーを作成して、セキュリティやビジネスの要件を満たすことができます。
OSS の権限付与
ポリシーを作成するには、次の手順に従います。
-
[ポリシー] ページで、[ポリシーの作成] をクリックします。
-
[ポリシーの作成] ページで、[JSON エディター] タブを選択します。
-
ポリシードキュメントを入力し、OK をクリックします。
OSS は包括的な権限システムを提供しています。OSS の権限付与ポリシーの詳細については、「RAM ポリシーの概要」をご参照ください。
重要-
クラスター内の Hive または Spark サービスを使用するユーザーの場合、バージョン管理が有効になっているかどうかにかかわらず、ポリシーに
oss:ListObjectVersionsおよびoss:DeleteObjectVersionの権限を含めてください。EMR は、「_temporary」、「.staging」、「.hive-staging」、「__magic」などの一般的な一時ディレクトリで、バージョン管理関連の操作をトリガーします。 -
バケットポリシーを設定する際は、AccessDenied (HTTP 403) エラーを防ぐために、
oss:*(完全制御) 権限を付与してください。
以下の例は、一般的なシナリオにおけるカスタムポリシーです。
フルアクセス
このポリシーは、OSS 内のデータに対する完全制御を付与します。
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "oss:ListObjects", "oss:GetBucketInfo", "oss:PutObject", "oss:GetObject", "oss:DeleteObject", "oss:AbortMultipartUpload", "oss:ListMultipartUploads", "oss:ListParts", "oss:RestoreObject", "oss:ListObjectVersions", "oss:DeleteObjectVersion" ], "Resource": [ "acs:oss:*:*:<yourBucketName>", "acs:oss:*:*:<yourBucketName>/*" ] }, { "Effect": "Allow", "Action": ["oss:ListBuckets"], "Resource": "*" } ] }読み取り専用アクセス
このポリシーは、データ分析やクエリのための読み取り専用アクセスを付与します。
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "oss:ListObjects", "oss:GetBucketInfo", "oss:GetObject", "oss:RestoreObject", "oss:ListObjectVersions" ], "Resource": [ "acs:oss:*:*:<yourBucketName>", "acs:oss:*:*:<yourBucketName>/*" ] }, { "Effect": "Allow", "Action": ["oss:ListBuckets"], "Resource": "*" } ] }バージョン管理
このポリシーは、OSS バケットでバージョン管理が有効になっている場合に使用します。
重要この機能は注意して使用してください。
{ "Version": "1", "Statement": [ { "Effect": "Allow", "Action": [ "oss:ListObjects", "oss:GetBucketInfo", "oss:PutObject", "oss:GetObject", "oss:DeleteObject", "oss:AbortMultipartUpload", "oss:ListMultipartUploads", "oss:ListParts", "oss:RestoreObject", "oss:ListObjectVersions", "oss:GetObjectVersion", "oss:DeleteObjectVersion", "oss:RestoreObjectVersion" ], "Resource": [ "acs:oss:*:*:<yourBucketName>", "acs:oss:*:*:<yourBucketName>/*" ] }, { "Effect": "Allow", "Action": ["oss:ListBuckets"], "Resource": "*" } ] } -
-
[ポリシー名] と Remarks を入力し、OK をクリックします。
OSS-HDFS の権限付与
OSS-HDFS は、HDFS インターフェイスと互換性のある Alibaba Cloud のオブジェクトストレージサービスです。OSS ストレージ上で HDFS セマンティクスが必要な場合は、このサービスを使用します。
-
[ポリシー] ページで、[ポリシーの作成] をクリックします。
-
[ポリシーの作成] ページで、[JSON エディター] タブを選択します。
-
ポリシードキュメントを入力し、OK をクリックします。以下はポリシーの例です。
{ "Version": "1", "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*" ] } ] }説明-
ポリシー内の
.dlsdataパスは、OSS-HDFS 専用のパスです。リソースパスが正しく設定されていることを確認してください。 -
過剰な権限を付与しないように、ビジネス要件に基づいて Action と Resource の範囲を調整してください。
-
-
[ポリシー名] と Remarks を入力し、OK をクリックします。