オブジェクト・ストレージおよびアーカイブ・ストレージの詳細
このトピックでは、アーカイブ・ストレージおよびオブジェクト・ストレージへのアクセスを制御するポリシーの書込みの詳細を説明します。
オブジェクト・ライフサイクル・ポリシー機能では、オブジェクトをアーカイブおよび削除する権限をオブジェクト・ストレージ・サービスに付与する必要があります。詳細は、オブジェクト・ライフサイクル・ポリシーの使用を参照してください。
リソース・タイプ
個々のリソース・タイプ
objectstorage-namespaces
buckets
objects
集約リソース・タイプ
object-family
<verb> object-familyを使用するポリシーは、個々のリソース・タイプごとに個別の<verb> <individual resource-type>ステートメントを使用して記述することと同じです。
object-familyに含まれる個々のリソース・タイプについて、各動詞でカバーされているAPI操作の詳細は、動詞とリソース・タイプの組合せの詳細の表を参照してください。
サポートされている変数
オブジェクト・ストレージは、すべての一般的な変数(すべてのリクエストの一般的な変数を参照)と次のリストにある変数をサポートしています。
| このリソース・タイプの操作... | この変数を使用できます | 変数タイプ | コメント | 
|---|---|---|---|
| bucketsおよびobjects | target.bucket.name | 文字列とパターン | この変数を使用して、特定のバケットへのアクセスを制御します。重要:条件の一致では、大文字と小文字が区別されません。「BucketA」と「bucketA」という名前のバケットがある場合、条件 where target.bucket.name="BucketA"は両方に適用されます。ポリシーのリソース名に潜在的な問題が発生しないようにするには、リソースに個別の名前を付けます。 | 
| bucketsおよびobjects | target.bucket.tag.<TagNamespace>.<TagKeyDefinition> | 文字列 | この変数を使用して、特定のタグを持つバケットへのアクセスを制御します。ユーザーによるオブジェクトのオブジェクト・ストレージ・バケットへの書込みを参照してください。重要:この変数は、 ListBucketなどの複数のバケットを含むCreateBucket操作には使用できません。 | 
| objects | target.object.name | 文字列とパターン | この変数を使用して、特定のオブジェクトまたはオブジェクト・パターンへのアクセスを制御します。 | 
request.ipv4.ipaddressおよびrequest.vcn.id変数は非推奨です。これらの変数を使用するかわりに、ネットワーク・ソースを作成して、IPアドレス範囲または特定のVCN IDを指定します。その後、ポリシーでそのネットワーク・ソースを使用して、許可されたネットワークからのリクエストのみにアクセスを制限できます。詳細は、ネットワーク・ソースの概要を参照してください。動詞とリソース・タイプの組合せの詳細
次の表に、各動詞でカバーされている権限およびAPI操作を示します。アクセス・レベルは、inspect > read > use > manageの順に累積されます。たとえば、リソースを使用できるグループは、そのリソースを検査して読み取ることもできます。表セル内のプラス記号(+)は、その上のセルと比較して増分アクセスを示しますが、「余分なし」は増分アクセスを示しません。
object-familyリソース・タイプの場合
| 動詞 | 権限 | 完全に対象となるAPI | 部分的に対象となるAPI | 
|---|---|---|---|
| read | OBJECTSTORAGE_NAMESPACE_READ | GetNamespace | なし | 
| use | OBJECTSTORAGE_NAMESPACE_READ | GetNamespace | なし | 
| manage | OBJECTSTORAGE_NAMESPACE_READ OBJECTSTORAGE_NAMESPACE_UPDATE | GetNamespace(オプションのcompartmentIdパラメータ付き)
 
 | なし | 
| 動詞 | 権限 | 完全に対象となるAPI | 部分的に対象となるAPI | 
|---|---|---|---|
| inspect | BUCKET_INSPECT | 
 
 | なし | 
| read | INSPECT + BUCKET_READ | INSPECT + 
 
 
 
 
 
 
 
 | なし | 
| use | READ + BUCKET_UPDATE | READ + 
 
 
 | PutObjectLifecyclePolicy | 
| manage | USE + BUCKET_CREATE BUCKET_DELETE PAR_MANAGE RETENTION_RULE_MANAGE RETENTION_RULE_LOCK (オプションのルール・ロックを使用している場合) | USE + 
 
 
 
 
 
 
 
 
 | 
 | 
| 動詞 | 権限 | 完全に対象となるAPI | 部分的に対象となるAPI | 
|---|---|---|---|
| inspect | OBJECT_INSPECT | 
 
 
 | なし | 
| read | INSPECT + OBJECT_READ | INSPECT + 
 | なし | 
| use | READ + OBJECT_OVERWRITE | READ + 
 | READ + 
 
 | 
| manage | USE + OBJECT_CREATE OBJECT_DELETE OBJECT_VERSION_DELETE OBJECT_RESTORE OBJECT_UPDATE_TIER | USE + 
 
 
 
 
 
 
 
 
 
 | 
 
 | 
各API操作に必要な権限
次の表は、API操作を論理的な順序で、リソース・タイプ別にグループ化して示しています。
権限の詳細は、権限を参照してください。
| API操作 | 操作の使用に必要な権限 | 
|---|---|
| GetNamespace | APIには権限が必要なく、コール元のネームスペースを返します。APIを使用して資格証明を検証します。 オプションの | 
| GetNamespaceMetadata | OBJECTSTORAGE_NAMESPACE_READ | 
| UpdateNamespaceMetadata | OBJECTSTORAGE_NAMESPACE_UPDATE | 
| CreateBucket | BUCKET_CREATE 操作にKMSキーIDが指定されている場合は、次の追加の権限が必要です。 
 | 
| UpdateBucket | BUCKET_UPDATE 顧客管理キー暗号化バケットの場合、objectstorage-<location>サブジェクトにもKEY_ENCRYPTおよびKEY_DECRYPTが必要です。 | 
| GetBucket | BUCKET_READ 顧客管理キー暗号化バケットの場合、objectstorage-<location>サブジェクトにはKEY_DECRYPTが必要です。 | 
| HeadBucket | BUCKET_INSPECT 顧客管理キー暗号化バケットの場合、objectstorage-<location>サブジェクトにはKEY_DECRYPTが必要です。 | 
| ListBuckets | BUCKET_INSPECT | 
| DeleteBucket | BUCKET_DELETE | 
| ReencryptBucket | BUCKET_UPDATE objectstorage-<location>サブジェクトには、KEY_ENCRYPTおよびKEY_DECRYPTも必要です。 | 
| PutObject | 必要な権限は、オブジェクトがすでにバケットに存在するかどうかに応じて異なります。 
 顧客管理キー暗号化バケットの場合、objectstorage-<location>サブジェクトにはKEY_ENCRYPTが必要です。 | 
| RenameObject | OBJECT_CREATEとOBJECT_OVERWRITE | 
| GetObject | OBJECT_READ 顧客管理キー暗号化バケットの場合、objectstorage-<location>サブジェクトにはKEY_DECRYPTが必要です。 | 
| HeadObject | OBJECT_READまたはOBJECT_INSPECT 顧客管理キー暗号化バケットの場合、objectstorage-<location>サブジェクトにはKEY_DECRYPTが必要です。 | 
| DeleteObject | OBJECT_DELETE | 
| DeleteObjectVersion | OBJECT_VERSION_DELETE | 
| ListObjects | OBJECT_INSPECT | 
| ListObjectVersions | OBJECT_INSPECT | 
| ReencryptObject | OBJECT_READ, OBJECT_OVERWRITE 顧客管理キー暗号化バケットの場合、次の権限が必要です: 
 | 
| RestoreObjects | OBJECT_RESTORE | 
| UpdateObjectStorageTier | OBJECT_UPDATE_TIER | 
| CreateMultipartUpload | OBJECT_CREATEとOBJECT_OVERWRITE 顧客管理キー暗号化バケットの場合、objectstorage-<location>サブジェクトにはKEY_ENCRYPTが必要です。 | 
| UploadPart | OBJECT_CREATEとOBJECT_OVERWRITE 顧客管理キー暗号化バケットの場合、objectstorage-<location>サブジェクトにはKEY_ENCRYPTが必要です。 | 
| CommitMultipartUpload | BUCKET_READ、OBJECT_CREATE、OBJECT_READおよびOBJECT_OVERWRITE | 
| ListMultipartUploadParts | OBJECT_INSPECT | 
| ListMultipartUploads | BUCKET_READ | 
| AbortMultipartUpload | OBJECT_DELETE | 
| CreatePreauthenticatedRequest | PAR_MANAGE | 
| GetPreauthenticatedRequest | PAR_MANAGEまたはBUCKET_READ | 
| ListPreauthenticatedRequests | PAR_MANAGEまたはBUCKET_READ | 
| DeletePreauthenticatedRequest | PAR_MANAGE | 
| PutObjectLifecyclePolicy | BUCKET_UPDATE、OBJECT_CREATEおよびOBJECT_DELETE また、objectstorage-<location>サブジェクトには、BUCKET_INSPECT、BUCKET_READ、OBJECT_INSPECTも必要です。 ライフサイクル・ポリシーが適用されるバケットが顧客管理キー暗号化バケットである場合、objectstorage-<location>サブジェクトにもKEY_ENCRYPTおよびKEY_DECRYPTが必要です。 
 | 
| GetObjectLifecyclePolicy | BUCKET_READ 顧客管理キー暗号化バケットの場合、objectstorage-<location>サブジェクトにはKEY_DECRYPTが必要です。 | 
| DeleteObjectLifecyclePolicy | BUCKET_UPDATE 顧客管理キー暗号化バケットの場合、objectstorage-<location>サブジェクトにもKEY_ENCRYPTおよびKEY_DECRYPTが必要です。 | 
| CreateRetentionRule | BUCKET_UPDATEおよびRETENTION_RULE_MANAGE (およびRETENTION_RULE_LOCK) 顧客管理キー暗号化バケットの場合、objectstorage-<location>サブジェクトにもKEY_ENCRYPTおよびKEY_DECRYPTが必要です。 | 
| GetRetentionRule | BUCKET_READ | 
| ListRetentionRule | BUCKET_READ | 
| UpdateRetentionRule | BUCKET_UPDATEおよびRETENTION_RULE_MANAGE (およびRETENTION_RULE_LOCK) 顧客管理キー暗号化バケットの場合、objectstorage-<location>サブジェクトにもKEY_ENCRYPTおよびKEY_DECRYPTが必要です。 | 
| DeleteRetentionRule | BUCKET_UPDATEおよびRETENTION_RULE_MANAGE 顧客管理キー暗号化バケットの場合、objectstorage-<location>サブジェクトにもKEY_ENCRYPTおよびKEY_DECRYPTが必要です。 | 
| CopyObjectRequest | OBJECT_READ、および必要な2番目のユーザー権限はオブジェクトがバケットにすでに存在するかどうかに応じて異なります。 
 また、objectstorage-<location>サブジェクトにはOBJECT_READが必要です。 顧客管理キー暗号化バケットの場合、objectstorage-<location>サブジェクトにもKEY_ENCRYPT、KEY_DECRYPTが必要です。 | 
| GetWorkRequest | OBJECT_READ | 
| ListWorkRequests | OBJECT_INSPECT | 
| CancelWorkRequest | OBJECT_DELETE | 
| CreateReplicationPolicy | OBJECT_READ、OBJECT_CREATE、OBJECT_OVERWRITE、OBJECT_INSPECT、OBJECT_DELETE、OBJECT_RESTORE、BUCKET_READおよびBUCKET_UPDATE objectstorage-<location>サブジェクトは、ユーザーと同じ権限を持っている必要があります。 | 
| GetReplicationPolicy | BUCKET_READ | 
| DeleteReplicationPolicy | OBJECT_READ、OBJECT_CREATE、OBJECT_OVERWRITE、OBJECT_INSPECT、OBJECT_DELETE、OBJECT_RESTORE、BUCKET_READおよびBUCKET_UPDATE | 
| ListReplicationPolicies | BUCKET_READ | 
| ListReplicationSources | BUCKET_READ | 
| MakeBucketWritable | OBJECT_READ、OBJECT_CREATE、OBJECT_OVERWRITE、OBJECT_INSPECT、OBJECT_DELETE、BUCKET_READおよびBUCKET_UPDATE |