このページでは、Cloud Storage のマネージド フォルダの概要について説明します。マネージド フォルダは、IAM ロールを付与できるフォルダの一種です。これにより、バケット内に存在する特定のオブジェクト グループに対してきめ細かいアクセス制御を行うことができます。マネージド フォルダは、Cloud Storage 内のリソースとして存在します。フラットな名前空間で動作するシミュレートされたフォルダとは異なります。
マネージド フォルダに対する IAM
マネージド フォルダに IAM ポリシーを適用すると、そのポリシーで付与されたアクセス権は、接頭辞としてマネージド フォルダの名前を持つバケット内のオブジェクトにも適用されます。たとえば、example-bucket/example-managed-folder/
という名前のマネージド フォルダに対する Storage オブジェクト閲覧者(roles/storage.objectViewer
)ロールをプリンシパルに付与した場合、プリンシパルは example-managed-folder
内の任意のオブジェクトを表示できます(example-bucket/example-managed-folder/example-object.txt
など)。マネージド フォルダをネストすると、IAM ポリシーによって付与される権限も適用されます。
マネージド フォルダは、均一なバケットレベルのアクセスが有効になっているバケットでのみ作成できます。
マネージド フォルダの詳細については、次のページをご覧ください。
マネージド フォルダ名
マネージド フォルダに付ける名前は次の要件を満たす必要があります。
マネージド フォルダ名には、有効な Unicode 文字を任意のシーケンスで含めることができます(UTF-8 エンコードの場合は 1~1,024 バイトの長さ)。
マネージド フォルダ名に、改行またはラインフィード文字を含めることはできません。
マネージド フォルダ名は
/
で終わる必要があります。マネージド フォルダ名に使用できる/
は 15 個までです。つまり、マネージド フォルダは最大 15 レベルまでネストできます。マネージド フォルダ名を
.well-known/acme-challenge/
で始めることはできません。マネージド フォルダの名前を
.
または..
にすることはできません。
マネージド フォルダ名に次のものは使用しないことを強くおすすめします。
XML 1.0 で不正な制御文字(#x7F~#x84 および #x86~#x9F): マネージド フォルダを一覧表示するときにこれらの文字が原因で XML リストに問題が発生します。
[
、]
、*
、?
文字: Google Cloud CLI はこれらの文字をワイルドカードとして解釈するため、マネージド フォルダ名に含めると、ツールを使用してワイルドカード オペレーションを実行することが難しくなるか、不可能になる場合があります。また、*
と?
は Windows のファイル名で有効な文字ではありません。機密情報または個人を特定できる情報(PII): マネージド フォルダ名は、オブジェクト データよりも広範囲に表示されます。たとえば、オブジェクトの URL やバケット内のオブジェクトを一覧表示するときなどに表示されます。
考慮事項
マネージド フォルダを使用する場合は、次の点に注意してください。
マネージド フォルダは、シミュレートされたフォルダの代わりに作成できます。つまり、マネージド フォルダを作成して、オブジェクトの接頭辞に基づいて名前を付けることができます(ただし、その名前を使用するマネージド フォルダがまだない場合)。たとえば、
my-folder/object.txt
という既存のオブジェクトがある場合でも、my-folder/
という名前のマネージド フォルダを作成できます。マネージド フォルダmy-folder/
に対する IAM ポリシーは、名前の接頭辞としてmy-folder/
を持つすべてのオブジェクトに適用されます。親マネージド フォルダを作成する前に、子マネージド フォルダを作成できます。たとえば、
my-folder-A/
という名前のマネージド フォルダを作成せずに、my-folder-A/my-folder-B/
という名前のマネージド フォルダを作成できます。デフォルトでは、オブジェクトや他の子マネージド フォルダを含む空でないマネージド フォルダは削除できません。
Delete
ManagedFolder JSON API リクエストでallowNonEmpty
パラメータを使用する場合は、このルールをバイパスできます。
次のステップ
シミュレートされたフォルダについて学習する。
Cloud Storage バケットにオブジェクトをアップロードする。