Lustreポリシーを使用したファイル・ストレージ
Oracle Cloud Infrastructure Identity and Access Management (IAM)サービスを使用して、Lustreリソースを使用してファイル・ストレージのポリシーを作成します。
このトピックでは、Lustreサービスによるファイル・ストレージへのアクセスを制御するためのポリシーの書込みの詳細を説明します。詳細は、IAMポリシーの概要を参照してください。
ポリシー構文の概要
ポリシー・ステートメント全体の構文:
allow <subject> to <verb>
<resource-type> in <location> where <condition>
たとえば、次のように指定できます。
<subject>として、グループまたは動的グループの名前またはOCID。または、any-userを使用して、テナンシ内のすべてのユーザーを含めることができます。<subject>に1つ以上の権限のアクセス権を付与するため、<verb>として、inspect、read、useおよびmanage。inspect、read、use、manageと進むに連れて、アクセス権のレベルは一般に高くなり、付与される権限は累積されます。たとえば、useには、readに加えて更新する権限が含まれます。resource-typeにはリソースのファミリ(virtual-network-familyなど)。または、vcnsやsubnetsなど、ファミリ内の個々のリソースを指定できます。<location>として、コンパートメントの名前またはOCID。または、tenancyを使用して、テナンシ全体を含めることができます。
リソース・タイプ
Lustreリソースを使用してファイル・ストレージへのアクセス権をユーザーに付与するには、Lustreリソース・タイプを使用してファイル・ストレージでIAMポリシーを作成します。
集約リソース・タイプ
-
lustre-file-family
<verb> lustre-file-familyを使用するポリシーは、個々のリソース・タイプごとに個別の<verb> <individual resource-type>ステートメントを使用して記述することと同じです。
lustre-file-familyに含まれる個々のリソース・タイプについて、各動詞でカバーされているAPI操作の詳細は、動詞とリソース・タイプの組合せの詳細の各表を参照してください。
個別のリソース・タイプ
Lustreリソースを含むファイル・ストレージにアクセスするには、次の各リソース・タイプを使用します:
-
lustre-file-system -
lfs-work-request
詳細は、ポリシーの例を参照してください。
サポートされる変数
File Storage with Lustreサービスは、すべての一般的な変数とここにリストされている変数をサポートしています。
OCIサービスでサポートされる一般的な変数の詳細は、すべてのリクエストの一般的な変数に関する項を参照してください。
| 変数 | 変数タイプ | ソース |
|---|---|---|
target.lustre-file-system.id | エンティティ(OCID) | リクエスト |
動詞+リソース・タイプの組合せの詳細
ポリシーの作成には、様々なOracle Cloud Infrastructure動詞とリソース・タイプを使用できます。
次の表に、各動詞のFile Storage with Lustreでカバーされている権限およびAPI操作を示します。アクセスのレベルは、inspectからread、use、manageの順に累積します。表セル内のプラス記号(+)は、その直前のセルと比較して増分アクセスを示しますが、「余分なし」は増分アクセスを示しません。
| 動詞 | 権限 | 完全に対象となるAPI | 一部カバーされたAPI |
|---|---|---|---|
| inspect | LUSTRE_FILE_SYSTEM_INSPECT | | なし |
| 読取り | INSPECT + LUSTRE_FILE_SYSTEM_READ | INSPECT + | なし |
| 使用 | READ + LUSTRE_FILE_SYSTEM_UPDATE | READ + | なし |
| 管理 | USE + LUSTRE_FILE_SYSTEM_CREATE LUSTRE_FILE_SYSTEM_DELETE LUSTRE_FILE_SYSTEM_MOVE | USE + | なし |
| 動詞 | 権限 | 完全に対象となるAPI | 一部カバーされたAPI |
|---|---|---|---|
| inspect | LFS_WORK_REQUEST_INSPECT | ListWorkRequestLogs | なし |
| 読取り | INSPECT + LFS_WORK_REQUEST_READ | INSPECT + | なし |
| 使用 | READ + なし | READ + なし | なし |
| 管理 | USE + LFS_WORK_REQUEST_DELETE | USE + | なし |
API操作ごとに必要な権限
次の表は、OCI Database with PostgreSQLのAPI操作を論理的な順序で、リソース・タイプ別にグループ化したものです。
リソース・タイプは、lustre-file-systemおよびlfs-work-requestです。
権限の詳細は、権限を参照してください。
| API操作 | 操作の使用に必要な権限 |
|---|---|
ListLustreFileSystems | LUSTRE_FILE_SYSTEM_INSPECT |
GetLustreFileSystem | LUSTRE_FILE_SYSTEM_READ |
CreateLustreFileSystem | LUSTRE_FILE_SYSTEM_CREATE |
UpdateLustreFileSystem | LUSTRE_FILE_SYSTEM_UPDATE |
DeleteLustreFileSystem | LUSTRE_FILE_SYSTEM_DELETE |
ChangeLustreFileSystemCompartment | LUSTRE_FILE_SYSTEM_MOVE |
ListObjectStorageLinks | LFS_OBJECT_STORAGE_LINK_INSPECT |
GetObjectStorageLink | LFS_OBJECT_STORAGE_LINK_READ |
CreateObjectStorageLink | LFS_OBJECT_STORAGE_LINK_CREATE |
DeleteObjectStorageLink | LFS_OBJECT_STORAGE_LINK_DELETE |
ChangeObjectStorageLinkCompartment | LFS_OBJECT_STORAGE_LINK_MOVE |
ListSyncJobs | LFS_OBJECT_STORAGE_LINK_INSPECT |
GetSyncJob | LFS_OBJECT_STORAGE_LINK_READ |
StartExportToObject | LFS_EXPORT_TO_OBJECT |
StartImportFromObject | LFS_IMPORT_FROM_OBJECT |
StopExportToObject | LFS_EXPORT_TO_OBJECT |
StopImportFromObject | LFS_IMPORT_FROM_OBJECT |
ListWorkRequests | LFS_WORK_REQUEST_INSPECT |
GetWorkRequest | LFS_WORK_REQUEST_READ |
CancelWorkRequest | LFS_WORK_REQUEST_DELETE |
ListWorkRequestErrors | LFS_WORK_REQUEST_INSPECT |
ListWorkRequestLogs | LFS_WORK_REQUEST_INSPECT |
オブジェクト・ストレージとLustre間の双方向同期のポリシー
Lustreファイル・システムがデータをObject Storageと同期するには、その前に特定の権限を付与する必要があります。これを行うには、Lustreファイル・システムがオブジェクト・ストレージ・バケット内のオブジェクトを読み取って管理できるようにするIdentity and Access Management (IAM)ポリシーを作成します。
- オブジェクト・ストレージ・バケットの表示(選択用)
- オブジェクト・ストレージ・リンクの作成、更新および管理
- Lustreファイル・システムでジョブを起動および停止する機能。
- 指定されたオブジェクト・ストレージ・バケット内のオブジェクトの読取りおよび管理(データ同期用)。
オブジェクト・ストレージ・バケットには明示的な権限は必要ありません。かわりに、オブジェクトの読取りおよび管理権限をLustreリソースに付与することで、バケットへのアクセスを制御します。
ポリシーの例
次の例を使用して、ファイル・システムに必要なポリシーおよび独自のキーでファイル・システムを暗号化する場合に必要となるポリシーに加えて、共通ポリシーを作成します。
グループにファイルシステムの使用を許可するが、削除を許可しない
allow group lfsadminusers to use lustre-file-family in compartment <file_system_compartment>
動的グループを使用したオブジェクト・ストレージ双方向同期ポリシー
resource.type='lustrefilesystem'動的グループの定義を特定のLustreコンパートメントのみに拡張するには、次を使用します:
All {resource.type = 'lustrefilesystem', resource.compartment.id = '<comp_ocid>'}動的グループにテナンシの任意のオブジェクト・ストレージ・バケットへのアクセス権を付与するには、次を使用します:
allow dynamic-group lustre-fs-group to read buckets in tenancy
allow dynamic-group lustre-fs-group to manage objects in tenancy
テナンシ内の単一のLustreコンパートメントへのアクセス権を動的グループに付与するには、次を使用します:
allow dynamic-group lustre-fs-group to read buckets in compartment <comp id or name e.g. cell:compute-data>
allow dynamic-group lustre-fs-group to manage objects in compartment <comp id or name e.g. cell:compute-data>
動的グループを使用しないオブジェクト・ストレージ双方向同期ポリシー
allow any-user to read buckets in compartment <comp id or name e.g. cell:compute-data> where ALL { request.principal.type = 'lustrefilesystem'}
allow any-user to manage objects in compartment <comp id or name e.g. cell:compute-data> where ALL { request.principal.type = 'lustrefilesystem'}request.principal.type = 'lustrefilesystem'条件を削除しないでください。ユーザーや他のサービスではなく、Lustreファイル・システム・リソースへのアクセスのみを制限します。allow any-user to read buckets in compartment <comp id or name e.g. cell:compute-data> where ALL { request.principal.type = 'lustrefilesystem' , target.bucket.tag.<tag-namespace>.<tag-key> = <"tag-value">}
allow any-user to manage objects in compartment <comp id or name e.g. cell:compute-data> where ALL { request.principal.type = 'lustrefilesystem' , target.bucket.tag.<tag-namespace>.<tag-key> = <"tag-value">}