Oracle Cloud Infrastructureドキュメント

オブジェクト・ストレージアーカイブ・ストレージ、およびデータ転送の詳細

このトピックでは、アーカイブ・ストレージオブジェクト・ストレージおよびデータ転送へのアクセスを制御するポリシーの記述について説明します。

ヒント

オブジェクト・ライフサイクル・ポリシー機能では、オブジェクト・ストレージ・サービスに権限を付与して、オブジェクトをアーカイブおよび削除する必要があります。
詳細については、「オブジェクト・ライフサイクル・ポリシーの使用」を参照してください。

Resource-Types

個別のリソース・タイプ

objectstorage-namespaces

バケット

objects

集約リソース・タイプ

object-family

<verb> object-familyを使用するポリシーは、個々のリソース・タイプごとに個別の<verb> <individual resource-type>ステートメントを使用してポリシーを作成するのと同じです。

object-familyに含まれている個々のリソース・タイプごとに、各動詞で扱うAPI操作の詳細を調べるには、「動詞+リソース・タイプの組み合わせの詳細」の表を参照してください。

データ転送用の追加個別リソース・タイプ

data-transfer-jobs

サポートされる変数

オブジェクト・ストレージは、すべての一般的な変数(「すべてのリクエストの一般変数」を参照)と、ここにリストされているものをサポートしています:

このリソース・タイプの操作 この変数を使用することができます 変数タイプ コメント
bucketsおよびobjects target.bucket.name 文字列 特定のバケットへのアクセスを制御するには、この変数を使用します。 ポリシーの例については、「ユーザーがオブジェクト・ストレージ・バケットにオブジェクトを書き込めるようにします」を参照してください。 重要: 条件一致では大文字と小文字は区別されません。 "Prod"という名前のバケットと"prod"という名前のバケットがある場合、条件where target.bucket.name="prod"は両方に適用されます。 ポリシー内のリソース名の潜在的な問題を回避するために、リソースに別の名前を付けてください。
bucketsおよびobjects request.vcn.id 文字列 VCNで「サービス・ゲートウェイ」を使用している場合は、この変数を使用して特定の仮想クラウド・ネットワーク(VCN)からのバケットへのアクセスを許可できます。 ポリシーの例は、「タスク4: (オプション)オブジェクト・ストレージ・バケット・アクセスを制限するためにIAMポリシーを更新」を参照してください。
bucketsおよびobjects request.ipv4.ipaddress 文字列 VCNで「サービス・ゲートウェイ」を使用している場合は、この変数を使用して、特定のCIDR範囲のバケットのみにアクセスできます。 ポリシーの例は、「タスク4: (オプション)オブジェクト・ストレージ・バケット・アクセスを制限するためにIAMポリシーを更新」を参照してください。

動詞+リソース・タイプの組み合わせの詳細

次の表は、各動詞が扱うpermissionsおよびAPI操作を示しています。 アクセス・レベルは、inspect > read > use > manageから行くにつれて累積されます。 表のセルのプラス記号(+)は、そのすぐ上のセルと比較してインクリメンタルなアクセスを示しますが、「追加なし」は増分アクセスを示していません。

オブジェクト・ファミリのリソース・タイプ

objectstorage-namespaces
バケット
オブジェクト
data-transfer-jobs

各API操作に必要なアクセス許可

次の表は、API操作をリソースのタイプ別にグループ化した論理的な順序で示しています。

権限については、「アクセス許可」を参照してください。

API操作 操作を使用するために必要な権限
GetNamespace

APIは権限を必要とせず、コール元のネームスペースを返します。 APIを使用して資格証明を検証します。

オプションのcompartmentIdパラメータを含める場合、OBJECTSTORAGE_NAMESPACE_READ権限が必要です。 compartmentIdパラメータを使用してサード・パーティのテナンシのネームスペースを判別します。

GetNamespaceMetadata OBJECTSTORAGE_NAMESPACE_READ
UpdateNamespaceMetadata OBJECTSTORAGE_NAMESPACE_UPDATE
CreateBucket BUCKET_CREATE
UpdateBucket BUCKET_UPDATE
GetBucket BUCKET_READ
HeadBucket BUCKET_INSPECT
ListBuckets BUCKET_INSPECT
DeleteBucket BUCKET_DELETE
PutObject

必要な権限は、オブジェクトがバケットにすでに存在するかどうかによって異なります。

  • その名前のオブジェクトがバケットにまだ存在していない場合は、OBJECT_CREATEが必要です。
  • その名前のオブジェクトがバケット内にすでに存在する場合は、OBJECT_OVERWRITEが必要です。
RenameObject OBJECT_CREATEおよびOBJECT_OVERWRITE
GetObject OBJECT_READ
HeadObject OBJECT_READまたはOBJECT_INSPECT
DeleteObject OBJECT_DELETE
ListObjects OBJECT_INSPECT
RestoreObjects OBJECT_RESTORE
CreateMultipartUpload OBJECT_CREATEおよびOBJECT_OVERWRITE
UploadPart OBJECT_CREATEおよびOBJECT_OVERWRITE
CommitMultipartUpload OBJECT_CREATEおよびOBJECT_OVERWRITE
ListMultipartUploadParts OBJECT_INSPECT
ListMultipartUploads BUCKET_READ
AbortMultipartUpload OBJECT_DELETE
CreatePar PAR_MANAGE
GetPar PAR_MANAGE
ListPars PAR_MANAGE
DeletePar PAR_MANAGE
PutObjectLifecyclePolicy BUCKET_UPDATE、OBJECT_CREATEおよびOBJECT_DELETE
GetObjectLifecyclePolicy BUCKET_READ
DeleteObjectLifecyclePolicy BUCKET_UPDATE
CreateCopyRequest OBJECT_READ、OBJECT_CREATE、OBJECT_OVERWRITE、OBJECT_INSPECT
GetWorkRequest OBJECT_READ
ListWorkRequests OBJECT_INSPECT
CancelWorkRequest OBJECT_DELETE