オブジェクト・ストレージのセキュリティのガイドライン
Compute Cloud@Customerでは、Object Storageサービスは、あらゆるコンテンツ・タイプの大量の非構造化データを格納し、アクセスを提供します。オブジェクト・ストレージに格納されたコンテンツには、コンピュート・インスタンスによってアクセスでき、データ・センターからCompute Cloud@Customerドメイン名を介してアクセスできます。
Object Storageサービスでは、次のセキュリティ機能が提供されます:
-
Advanced Encryption Standard (AES) 128ビット・アルゴリズムを使用して、ディスク上のデータを暗号化します(保存時)。暗号化はデフォルトでオンになっていて、オフにすることはできません。暗号化キーは、それ自体がマスター暗号化キーによって暗号化されます。
-
クライアント(SDKやCLIなど)とオブジェクト・ストレージのパブリック・エンドポイント間の転送中のデータは、デフォルトでTLS 1.2で暗号化されます。
-
データ整合性は、アップロードされたオブジェクトごとに生成されるチェックサム、およびマルチパート・アップロードの場合は各パートに対して生成されるチェックサムによって促進されます。
-
オブジェクトは、様々な認可レベルで構築された、取消可能な事前認証済リクエストを持つことができます。
-
オブジェクトに対する変更を保持するために、オブジェクト・バージョニングを使用できます。
-
WORM (Write-Once Read-Many)保存ルールは、オブジェクトが元の内容を保持するように設定できます。
-
Compute Cloud@Customerに対して認証されたユーザーは、セキュリティ・ポリシー・フレームワーク内で管理されるオブジェクト・ストレージ・サービスおよびリソースを管理できます。
Object Storageサービスの詳細は、オブジェクト・ストレージを参照してください。
最小特権アクセスの割り当て
Compute Cloud@Customerの場合、IAMリソースはテナンシ内のOCIで管理され、10分ごとなどにCompute Cloud@Customerに同期されます。Compute Cloud@CustomerインフラストラクチャではIAMリソースを管理できません。
ユーザーとグループには、object-family内のリソースタイプ(objectstorage-namespaces、バケット、オブジェクトなど)への最小のアクセス権を割り当てます。
次のIAM動詞を使用すると、オブジェクト・ストレージのアクセス権限を調整できます:
- inspect動詞は最小特権を与えます。これにより、バケットが存在するかどうかを確認し(
HeadBucket
)、コンパートメント内のバケットをリスト(ListBucket
)できます。 - manage verbでは、リソースに対するすべての権限が付与されます。IAMセキュリティ・ポリシーを作成して、適切なバケットおよびオブジェクトに様々なIAMグループへのアクセス権を付与できます。
オブジェクト・ストレージのバケットとオブジェクトに関するIAMの動詞と権限の詳細は、オブジェクト・ストレージ、アーカイブ・ストレージおよびデータ転送の詳細を参照してください。
IAM資格証明がないユーザーの場合は、事前認証済リクエスト(PAR)を使用して、オブジェクトまたはバケットの期限付きアクセス権を付与することをお薦めします。
事前認証済リクエスト 🔗
事前認証済リクエストは、クライアントまたはユーザーがCompute Cloud@Customerにログインする必要なく、オブジェクトおよびバケットへのアクセス権を付与するメカニズムを提供します。その結果、Compute Cloud@Customerでユーザー定義なしでオブジェクトおよびバケットを使用できます。
オブジェクトにアクセスするための適切な権限を持つユーザーは、オブジェクトへの期限付きアクセス権を付与するURLを作成します。これらの権限の詳細は、事前認証済リクエストの使用を参照してください。次の点を確認します。
-
事前認証済リクエストの作成者は、
PAR_MANAGE
権限と、付与するアクセス・タイプに対する適切なIAM権限を持っている必要があります。次のいずれかに対する読取り、書込みまたは読取り/書込みアクセス権を付与する事前認証済リクエストを作成できます:-
バケット内のすべてのオブジェクト
-
バケット内の特定のオブジェクト。
-
指定された接頭辞を持つバケット内のすべてのオブジェクト。
複数のオブジェクトに適用されるリクエストの場合、ユーザーにそれらのオブジェクトのリスト表示を許可するかどうかを決定することもできます。
-
-
バケットへの事前認証済リクエスト・アクセスは、監査ログに記録されます。オブジェクトへの事前認証済リクエスト・アクセスは、サービス・ログに記録されます。
事前認証済リクエストを作成する際にシステムによって提供される一意のURLは、ユーザーがリクエスト・ターゲットにアクセスできる唯一の方法です。URLを耐久ストレージにコピーします。URLは作成時にのみ表示され、オブジェクト・ストレージに格納されておらず、後で取得することはできません。
データ耐久性と整合性 🔗
Object Storageサービスは、格納時にデータの一貫性と無傷の状態を維持するための様々な方法を提供します。次のことに注意してください。
-
認可されたユーザーによる意図しない削除や悪意のある削除を防止することで、データ損失を最小限に抑えることができます。
-
「オブジェクト・バージョニング」を使用して、新しいオブジェクトがアップロードされるたびに、または既存のオブジェクトが上書きされるたびに、オブジェクト・バージョンを自動的に作成します。
-
BUCKET_DELETE
権限およびOBJECT_DELETE
権限は、最小限のユーザーとグループに付与します。削除権限はテナンシ管理者およびコンパートメント管理者にのみ付与します。
-
-
WORM (Write Once Read Many)コンプライアンスには、オブジェクトは削除または変更できないことが求められます。保持ルールを使用してWORMコンプライアンスを実現します。保持ルールはバケット・レベルで構成され、バケット内の個々のオブジェクトすべてに適用されます。保持ルールを削除する(無期限ルール)か、または指定した期間(バインドされたルール)まで、オブジェクトまたはオブジェクト・メタデータを更新、上書きまたは削除できません。
オブジェクト・ストレージ保持ルール機能がレコード管理および保持の規制要件を満たす能力の独立評価については、Cohasset AssociateのSEC 17a-4(f)、 FINRA 4511(c)、 CFTC 1.31(c)-(d) and MiFID II Compliance Assessment PDFドキュメントを参照してください。
-
オブジェクトは、デバイスから返された無効なデータのファントム読取りおよび検出を回避するために、SHA-256チェックサムを使用してZFSファイル・システムに格納されます。
Object Storageは、耐久性のために提供される機能に加えて、データの整合性を確保するメカニズムも提供しています。
-
オブジェクト・ストレージにアップロードされたすべてのオブジェクトについてチェックサムが提供されます。チェックサムは、次の2つの方法で使用できます。
-
格納されたオブジェクトがアップロードされたオブジェクトであることを確認するため
-
取得されたオブジェクトが、最初に格納されたオブジェクトであることを確認します。
-
-
マルチパート・アップロードは、ラージ・オブジェクト・アップロードの効率性と回復性を実現するためにオブジェクト・ストレージ・サービスによって使用されます。マルチパート・アップロードでは、パート・サイズをMiBに指定すると、ラージ・オブジェクトが小さいパートに分割されます。各パートは個別にアップロードされます。その後、Object Storageがすべてのパートを結合し、元のオブジェクトを再作成します。いずれかのパートのアップロードが失敗した場合は、オブジェクト全体ではなく、失敗したパートのみのアップロードを再試行する必要があります。マルチパート・アップロードでは、アップロードの各部分についてチェックサム値が計算され、個々のすべてのチェックサム値に対して1つのチェックサムが計算されて、オブジェクト・アップロードによって報告されたチェックサム値が取得されます。マルチパート・アップロードで返される値を検証するには、オフライン・チェックサム計算と同じプロセスに従います。
オブジェクトが格納されたときに返されるチェックサムを使用すると、オブジェクトのコンテンツが再度ダウンロードされるとき、または元のオブジェクトに対して検証され、アップロードされたオブジェクトの正確性が検証されます。
OSには、チェックサム検証用の様々なツールがあります。オブジェクトのアップロード(またはバケット内のオブジェクトの表示)によって返されるチェックサムは、Base-64でエンコードされた値です。チェックサム比較に使用されるツールによっては、この値を16進数に変換する必要がある場合があります。