このページでは、バケット IP フィルタリング ルールを更新する方法について説明します。
必要なロール
バケットの IP フィルタリング ルールを更新するために必要な権限を取得するには、バケットに対するストレージ管理者(roles/storage.admin
)ロールを付与するよう管理者に依頼してください。このロールには、バケットの IP フィルタリング ルールを更新するために必要な権限が含まれています。
必要な権限を正確に確認するには、[必要な権限] セクションを開きます。
必要な権限
storage.buckets.update
storage.buckets.setIpFilter
カスタムロールを使用して、これらの権限を取得することもできます。他の事前定義ロールでこれらの権限を取得することもできます。どのロールがどの権限に関連付けられているかを確認するには、Cloud Storage に適用される IAM のロールをご覧ください。
プロジェクトにロールを付与する手順については、プロジェクトへのアクセス権を管理するをご覧ください。
バケットの IP フィルタリング ルールを更新する
コマンドライン
-
In the Google Cloud console, activate Cloud Shell.
At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.
受信リクエストのルールを定義する JSON ファイルを作成します。バケット IP フィルタリング ルールの構成方法の例については、バケット IP フィルタリング構成をご覧ください。
{ "mode": "Enabled", "publicNetworkSource": { "allowedIpCidrRanges": [RANGE_CIDR, ... ] }, "vpcNetworkSources": [ {"network": "projects/PROJECT_ID/global/networks/NETWORK_NAME", "allowedIpCidrRanges": [RANGE_CIDR, ... ] }, ... ] }
ここで
mode
は、IP フィルタ構成のモードです。有効な値はEnabled
とDisabled
です。Enabled
に設定すると、IP フィルタリング ルールがバケットに適用されます。バケットへの受信リクエストは、これらのルールに対して評価されます。Disabled
に設定すると、受信したすべてのリクエストがバケットにアクセスできます。RANGE_CIDR
は、バケットへのアクセスが許可されているパブリック ネットワークの IPv4 または IPv6 アドレス範囲です。1 つ以上のアドレス範囲をリストとして入力できます。PROJECT_ID
は、Virtual Private Cloud(VPC)ネットワークが存在するプロジェクト ID です。複数の VPC ネットワークを構成するには、各ネットワークが配置されているプロジェクトを指定する必要があります。NETWORK_NAME
は、バケットへのアクセスが許可されている VPC ネットワークの名前です。複数の VPC ネットワークを構成するには、各ネットワークの名前を指定する必要があります。
バケットの IP フィルタリング ルールを更新するには、開発環境で
gcloud alpha storage buckets update
コマンドを実行します。gcloud alpha storage buckets update gs://BUCKET_NAME --ip-filter-file=IP_FILTER_CONFIG_FILE
ここで
BUCKET_NAME
はバケットの名前です。例:my-bucket
IP_FILTER_CONFIG_FILE
は、前の手順で作成した JSON ファイルです。
REST API
JSON API
gcloud CLI のインストールと初期化を行います。これにより、
Authorization
ヘッダーのアクセス トークンを生成できます。バケットの設定を含む JSON ファイルを作成します。この設定には、バケットの
name
構成フィールドとipFilter
構成フィールドを含める必要があります。バケット IP フィルタリング ルールの構成方法の例については、 バケット IP フィルタリング構成をご覧ください。{ "name": "BUCKET_NAME" "ipFilter": { "mode": "Enabled", "publicNetworkSource": { "allowedipCidrRanges": [RANGE_CIDR, ... ] }, "vpcNetworkSources": [ {"network": "projects/PROJECT_ID/global/networks/NETWORK_NAME", "allowedipCidrRanges": [RANGE_CIDR, ... ] }, ... ] } }
ここで
mode
は、IP フィルタ構成の状態です。有効な値はEnabled
とDisabled
です。Enabled
に設定すると、IP フィルタリング ルールがバケットに適用され、バケットへのすべての受信リクエストがこれらのルールに対して評価されます。Disabled
に設定すると、受信したすべてのリクエストが、評価なしでバケットとそのデータにアクセスできます。RANGE_CIDR
は、バケットへのアクセスが許可されているパブリック ネットワークの IPv4 または IPv6 アドレス範囲です。1 つ以上のアドレス範囲をリストとして入力できます。PROJECT_ID
は、VPC ネットワークが存在するプロジェクト ID です。複数の VPC ネットワークを構成するには、各ネットワークが配置されているプロジェクトを指定する必要があります。NETWORK_NAME
は、バケットへのアクセスが許可されている VPC ネットワークの名前です。複数の VPC ネットワークを構成するには、各ネットワークの名前を指定する必要があります。
cURL
を使用して PATCH bucket リクエストで JSON API を呼び出します。curl -X PATCH --data-binary @JSON_FILE_NAME \ -H "Authorization: Bearer $(gcloud auth print-access-token)" \ -H "Content-Type: application/json" \ "https://storage.googleapis.com/storage/v1/b?project=PROJECT_IDENTIFIER&projection=full"
ここで
JSON_FILE_NAME
は、前の手順で作成した JSON ファイルの名前です。PROJECT_IDENTIFIER
は、バケットが関連付けられているプロジェクトの ID または番号です。(例:my-project
)です。
次のステップ
使ってみる
Google Cloud を初めて使用する場合は、アカウントを作成して、実際のシナリオでの Cloud Storage のパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。
Cloud Storage を無料で試す