既存のバケットで IP フィルタリング ルールを作成または更新する

このページでは、既存のバケットでバケット IP フィルタリング ルールを作成または更新する方法について説明します。

必要なロール

バケットの IP フィルタリング ルールを更新するために必要な権限を取得するには、バケットに対するストレージ管理者(roles/storage.admin)ロールを付与するよう管理者に依頼してください。このロールには、バケット IP フィルタリング ルールの更新に必要な権限が含まれています。

必要とされる正確な権限については、「必要な権限」セクションを開いてご確認ください。

必要な権限

  • storage.buckets.update
  • storage.buckets.setIpFilter

カスタムロールを使用して、これらの権限を取得することもできます。他の事前定義ロールでこれらの権限を取得することもできます。どのロールがどの権限に関連付けられているかを確認するには、Cloud Storage に適用される IAM のロールをご覧ください。

バケットのロールの付与については、バケットでの IAM ポリシーの設定と管理をご覧ください。

既存のバケットで IP フィルタリング ルールを作成または更新する

コンソール

  1. Google Cloud コンソールで Cloud Storage の [バケット] ページに移動します。

    [バケット] に移動

  2. バケットのリストで、更新するバケットの名前をクリックします。

  3. [バケットの詳細] ページで、[構成] タブをクリックします。

  4. [権限] セクションで、[IP フィルタリング] に移動します。[ IP フィルタリング構成を編集] をクリックします。

  5. [IP フィルタリング] ページで、[ 構成] をクリックします。

  6. [IP フィルタリングの構成] オーバーレイ ウィンドウで、指定する IP フィルタリング構成に応じて、適切なナビゲーション メニューを使用します。各セクションの手順を完了したら、[続行] をクリックして次のステップに進みます。

パブリック IP アドレス

パブリック IP アドレスからのアクセスを許可するには、次の操作を行います。

  1. [公共のインターネット] をクリックします。

  2. 表示された [公共のインターネット] ペインで、[許可する IP 範囲] フィールドに 1 つ以上の IPv4 アドレス範囲または IPv6 CIDR 範囲を指定します。たとえば、192.0.2.0/242001:db8::/32 です。無効なエントリを指定すると、修正が必要なエントリを示すエラー メッセージが表示されます。

VPC ネットワーク

VPC ネットワークからのアクセスを許可するには、次の操作を行います。

  1. [VPC ネットワーク] をクリックします。

  2. 表示された [VPC ネットワーク] ペインで、ネットワークごとに次の操作を行います。

    1. [VPC ネットワークを追加] をクリックします。
    2. [新しい VPC ネットワーク] セクションで、次の情報を指定します。
      • [プロジェクト ID] フィールドにプロジェクト ID を入力します。
      • [ネットワーク名] フィールドに、ネットワーク名を入力します。
      • [許可する IP 範囲] フィールドに、1 つ以上の IPv4 または IPv6 CIDR 範囲(例: 192.0.2.0/24、2001:db8::/32)を入力します。無効なエントリを指定すると、エラー メッセージに修正が必要なエントリが示されます。
    3. [完了] をクリックします。

追加の設定

信頼できる Google Cloud サービス エージェントと他の組織の VPC ネットワークが IP フィルタリング構成をバイパスできるようにするには、次の操作を行います。

  1. [追加の設定] をクリックします。

  2. 表示された [追加の設定] ペインで、次の操作を行います。

  3. [Google Cloud サービス エージェントのアクセス権] セクションで、次のいずれかのラジオボタンを選択します。

    • サービス エージェントのアクセスを許可する: BigLake、Storage Insights、Vertex AI、BigQuery などの Google Cloud サービスがこのバケットにアクセスする必要がある場合に、IP フィルタリングの検証をバイパスできるようにします。

    • サービス エージェントのアクセスを拒否する: Google Cloud サービス エージェントに IP フィルタルールを適用します。

  4. [(省略可)組織間 VPC アクセス] セクションで、次のいずれかの操作を行います。

    • 別の Google Cloud 組織にある指定された VPC ネットワークからのアクセスを許可するには、切り替えを [許可] の位置にクリックします。

    • Google Cloud 組織外の VPC ネットワークからのアクセスをブロックするには、切り替えを [拒否](デフォルトの状態)の位置にクリックします。

確認

IP フィルタリング構成を確認するには、次の操作を行います。

  1. 表示された [確認] ペインで、[公共のインターネット] または [VPC ネットワーク] の横にある 展開矢印をクリックして、指定した IP 範囲または VPC を確認し、[追加の設定] の構成を確認します。

  2. 設定を変更する必要がある場合は、[戻る] をクリックして、前の構成手順に戻ります。

  3. すべての構成を確認したら、[有効にする] をクリックして IP フィルタリング構成を保存します。

gcloud

  1. Google Cloud CLI バージョン 526.0.0 以降がインストールされていることを確認します。

    gcloud version | head -n1
    
  2. 以前のバージョンの gcloud CLI がインストールされている場合は、バージョンを更新します。

    gcloud components update --version=526.0.0
    
  3. 受信リクエストのルールを定義する JSON ファイルを作成します。バケット IP フィルタリング ルールの構成方法の例と情報については、バケット IP フィルタリングの構成をご覧ください。

        {
          "mode":"MODE",
          "publicNetworkSource":{
              "allowedIpCidrRanges":[
                "RANGE_CIDR",
                "..."
              ]
          },
          "vpcNetworkSources":[
              {
                "network":"projects/PROJECT_ID/global/networks/NETWORK_NAME",
                "allowedIpCidrRanges":[
                    "RANGE_CIDR",
                    "..."
                ]
              },
              "..."
          ],
          "allowCrossOrgVpcs": ALLOW_CROSS_ORG_VPCS,
          "allowAllServiceAgentAccess": ALLOW_ALL_SERVICE_AGENT_ACCESS
        }
        

    ここで

    • MODE は、バケット IP フィルタリング構成のモードです。有効な値は EnabledDisabled です。Enabled に設定すると、IP フィルタリング ルールがバケットに適用されます。バケットへの受信リクエストはすべて、これらのルールに照らして評価されます。Disabled に設定すると、受信したすべてのリクエストがバケットにアクセスできます。

    • RANGE_CIDR は、バケットへのアクセスが許可されているパブリック ネットワークの IPv4 または IPv6 アドレス範囲です。1 つまたは複数のアドレス範囲をリストとして入力できます。

    • PROJECT_ID は、Virtual Private Cloud(VPC)ネットワークが存在するプロジェクト ID です。複数の VPC ネットワークを構成するには、各ネットワークが配置されているプロジェクトを指定する必要があります。

    • NETWORK_NAME は、バケットへのアクセスが許可されている VPC ネットワークの名前です。複数の VPC ネットワークを構成するには、各ネットワークの名前を指定する必要があります。

    • ALLOW_CROSS_ORG_VPCS はブール値であり、vpcNetworkSources で定義された VPC ネットワークが別の組織からのものであることを許可するかどうかを示します。このフィールドは省略可能です。true に設定すると、リクエストで組織間の VPC ネットワークが許可されます。false に設定すると、リクエストで VPC ネットワークがバケットと同じ組織に制限されます。指定しない場合、デフォルト値は false です。このフィールドは、vpcNetworkSources が空でない場合にのみ適用されます。

    • ALLOW_ALL_SERVICE_AGENT_ACCESS は、IP フィルタの構成に関係なく、サービス エージェントがバケットにアクセスできるようにするかどうかを示すブール値です。値が true の場合、他の Google Cloud サービスはサービス エージェントを使用して、IP ベースの検証なしでバケットにアクセスできます。

  4. バケット IP フィルタリング ルールを更新するには、開発環境で gcloud storage buckets update コマンドを実行します。

    gcloud storage buckets update gs://BUCKET_NAME --ip-filter-file=IP_FILTER_CONFIG_FILE

    ここで

    • BUCKET_NAME はバケットの名前です。例: my-bucket
    • IP_FILTER_CONFIG_FILE は、作成した JSON ファイルです。

JSON API

  1. gcloud CLI のインストールと初期化を行います。これにより、Authorization ヘッダーのアクセス トークンを生成できます。

  2. バケットの設定を含む JSON ファイルを作成します。この設定には、バケットの name 構成フィールドと ipFilter 構成フィールドを含める必要があります。バケット IP フィルタリング ルールの構成方法の例と情報については、バケット IP フィルタリングの構成をご覧ください。

    {
      "ipFilter":{
          "mode":"MODE",
          "publicNetworkSource":{
            "allowedIpCidrRanges":[
                "RANGE_CIDR",
                "..."
            ]
          },
          "vpcNetworkSources":[
            {
                "network":"projects/PROJECT_ID/global/networks/NETWORK_NAME",
                "allowedIpCidrRanges":[
                  "RANGE_CIDR",
                  "..."
                ]
            },
            "..."
          ],
          "allowCrossOrgVpcs": ALLOW_CROSS_ORG_VPCS,
          "allowAllServiceAgentAccess": ALLOW_ALL_SERVICE_AGENT_ACCESS
      }
    }

    ここで

    • MODE は、IP フィルタ構成の状態です。有効な値は EnabledDisabled です。Enabled に設定すると、IP フィルタリング ルールがバケットに適用され、バケットへのすべての受信リクエストがこれらのルールに照らして評価されます。Disabled に設定すると、すべての受信リクエストが、評価なしでバケットとそのデータにアクセスできます。

    • RANGE_CIDR は、バケットへのアクセスが許可されているパブリック ネットワークの IPv4 または IPv6 アドレス範囲です。1 つまたは複数のアドレス範囲をリストとして入力できます。

    • PROJECT_ID は、VPC ネットワークが存在するプロジェクト ID です。複数の VPC ネットワークを構成するには、各ネットワークが配置されているプロジェクトを指定する必要があります。

    • NETWORK_NAME は、バケットへのアクセスが許可されている VPC ネットワークの名前です。複数の VPC ネットワークを構成するには、各ネットワークの名前を指定する必要があります。

    • ALLOW_ALL_SERVICE_AGENT_ACCESS は、IP フィルタの構成に関係なく、サービス エージェントがバケットにアクセスできるようにするかどうかを示すブール値です。値が true の場合、他の Google Cloud サービスはサービス エージェントを使用して、IP ベースの検証なしでバケットにアクセスできます。

    • ALLOW_CROSS_ORG_VPCS はブール値であり、vpcNetworkSources リストで定義された VPC ネットワークが別の組織からのものであることを許可するかどうかを示します。このフィールドは省略可能です。true に設定すると、リクエストで組織間の VPC ネットワークが許可されます。false に設定すると、リクエストで VPC ネットワークがバケットと同じ組織に制限されます。指定しない場合、デフォルト値は false です。このフィールドは、vpcNetworkSources が空でない場合にのみ適用されます。

  3. 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/BUCKET_NAME?project=PROJECT_ID"

    ここで

    • JSON_FILE_NAME は、作成した JSON ファイルの名前です。
    • BUCKET_NAME はバケットの名前です。
    • PROJECT_ID は、バケットが関連付けられているプロジェクトの ID です。例: my-project

Google Cloud サービス エージェントのアクセスを管理する

バケットで IP フィルタリング ルールを構成した後でサービス エージェントのアクセス権を更新するには、次の操作を行います。

コンソール

  1. Google Cloud コンソールで Cloud Storage の [バケット] ページに移動します。

    [バケット] に移動

  2. バケットのリストで、更新するバケットの名前をクリックします。

  3. [バケットの詳細] ページで、[構成] タブをクリックします。

  4. [権限] セクションで、[IP フィルタリング] に移動します。[ IP フィルタリング構成を編集] をクリックします。

    [IP フィルタリング] ページが表示されます。

  5. [ Google Cloud サービス エージェントのアクセス権を管理する] セクションで、次のいずれかを行います。

    • サービス エージェントのアクセスを許可する手順は次のとおりです。

      1. [ 無効] をクリックして、設定を [ 有効] に変更します。

      2. アクセスを許可することを確認するには、[有効にする] フィールドに「Enable」と入力します。

    • サービス エージェントのアクセスを拒否する手順は次のとおりです。

      1. [ 有効] をクリックして、設定を [ 無効] に変更します。

      2. アクセスを拒否することを確定するには、[無効にする] フィールドに「Disable」と入力します。

    変更を確認する通知メッセージが表示されます。

gcloud

バケットのサービス エージェント アクセスを更新するには、gcloud storage buckets update コマンドを使用し、allowAllServiceAgentAccess フィールドを true(アクセスを許可)または false(アクセスを拒否)に設定します。詳細な手順については、既存のバケットで IP フィルタリング ルールを作成または更新するをご覧ください。

JSON API

サービス エージェントのアクセス権を更新するには、PATCH リクエストを使用してバケットの ipFilter 構成を更新します。allowAllServiceAgentAccess フィールドを true に設定してアクセスを許可するか、false に設定してアクセスを拒否します。詳細な手順については、既存のバケットで IP フィルタリング ルールを作成または更新するをご覧ください。

組織間の VPC アクセスの管理

バケットで IP フィルタリング ルールを構成した後で組織間の VPC アクセスを更新する手順は次のとおりです。

コンソール

  1. Google Cloud コンソールで Cloud Storage の [バケット] ページに移動します。

    [バケット] に移動

  2. バケットのリストで、更新するバケットの名前をクリックします。

  3. [バケットの詳細] ページで、[構成] タブをクリックします。

  4. [権限] セクションで、[IP フィルタリング] に移動します。[ IP フィルタリング構成を編集] をクリックします。

    [IP フィルタリング] ページが表示されます。

  5. [組織間の VPC アクセスの管理] セクションで、次のいずれかを行います。

    • 組織間 VPC アクセスを許可する手順は次のとおりです。

      1. [ 無効] をクリックして、設定を [ 有効] に変更します。

      2. アクセスを許可することを確認するには、[有効にする] フィールドに「Enable」と入力します。

    • 組織間の VPC アクセスを拒否する手順は次のとおりです。

      1. [ 有効] をクリックして、設定を [ 無効] に変更します。

      2. アクセスを拒否することを確定するには、[無効にする] フィールドに「Disable」と入力します。

    変更を確認する通知メッセージが表示されます。

gcloud

バケットの組織間 VPC アクセスを更新するには、gcloud storage buckets update コマンドを使用して、allowCrossOrgVpcs フィールドを true(アクセスを許可)または false(アクセスを拒否)に設定します。詳細な手順については、既存のバケットで IP フィルタリング ルールを作成または更新するをご覧ください。

JSON API

組織間の VPC アクセスを更新するには、PATCH リクエストを使用してバケットの ipFilter 構成を更新します。allowCrossOrgVpcs フィールドを true に設定してアクセスを許可するか、false に設定してアクセスを拒否します。詳細な手順については、既存のバケットで IP フィルタリング ルールを作成または更新するをご覧ください。

次のステップ

使ってみる

Google Cloud を初めて使用する場合は、アカウントを作成して、実際のシナリオでの Cloud Storage のパフォーマンスを評価してください。新規のお客様には、ワークロードの実行、テスト、デプロイができる無料クレジット $300 分を差し上げます。

Cloud Storage を無料で試す