1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

IBM Cloudの「コンテキストベースの制限事項」機能で Cloud Object Storageバケットに、Cloud Pak for Data as a Service からの Private Endpoint経由の通信のみを許可する

Last updated at Posted at 2022-09-30

本記事の目的

本記事では IBM Cloudの「コンテキスト・ベースの制限事項」機能を利用し、特定のCloud Object Storageバケットについて、CP4DaaSクラスタのプライべートIPアドレス範囲からPrivate Endpoint経由の接続のみ許可する設定例を紹介します。

1. 本記事で利用するIBM Cloudの機能について

本記事の設定例で利用するIBM Cloudの機能について紹介します。

1. コンテキストベースの制限事項

2021 年 9 月に追加された機能です。
IBM Cloud リソースに対して、ネットワーク・ロケーション(IP アドレス構造、VPC、サービス参照)に基づくアクセス制限を構成および適用するために使用します。

従来より、IBM Cloud アカウントやユーザー単位での許可IPアドレスを構成可能(Allowing specific IP addresses)でしたが、コンテキストベースの制限事項によってIBM Cloudリソース単位でのよりきめ細かいアクセス制御が可能となりました。

2022年9月現在、コンテキストベースの制限事項に対応しているIBM Cloudサービスは以下となります。
最新のサポート状況は、下記の製品資料をご確認ください。

Service Service type
IAM Access Groups Service Account Management
IAM Access Management Service Account Management
IAM Identity Service Account Management
IAM User Management Account Management
IBM Cloud Object Storage IAM-enabled
Code Engine IAM-enabled
Container Registry IAM-enabled
Key Protect IAM-enabled

コンテキストベースの制限の利用方法

コンテキストベースの制限を利用する際には、ネットワーク・ゾーンルールを定義します。

ネットワークゾーン
対象IBM Cloudリソースへのアクセスを許可するネットワーク・ローケーションを指定します。
ネットワーク・ローケーションとして指定できる項目は、IP アドレス構造、VPC、サービスとなります。

image.png

  • ネットワークゾーンの作成画面
    ネットワークローケーションとして,IPアドレス、VPC、サービスを指定可能です。
    image.png

  • 作成済みネットワークゾーンのリスト画面
    ネットワークゾーン作成時に指定したネットワーク・ローケーション(例ではIPアドレス範囲)が表示されます。
    image.png

ルール
コンテキスト(ネットワークゾーン、エンドポイント)とコンテキストからのアクセスを許可するIBM Cloudリソースを指定します。
image.png

  • ルールの設定項目
    ルールの作成時、以下の各項目について値を設定します。
項目 選択肢 説明
ルールを強制するか 有効 この規則を強制適用します。 アクセス試行の拒否は、 Activity Trackerに報告されます。
無効 この規則を強制適用しません。 アカウント・リソースには制限は適用されません。
Report-only このルールが適用されずに、ユーザーにどのような影響を与えるかをモニターします。 このアカウント内のリソースへのアクセス試行はすべて、 Activity Trackerに記録されます。 ルールを適用する前に、30日間モニターすることをお勧めします。 
サービス コンテキストベースの制限事項に対応したIBM Cloudサービス 先述のコンテキストベースの制限事項に対応しているIBM Cloudサービスを指定可能です。
リソース 「すべてのリソース」または「特定のリソース」 「特定のリソース」を選択すると、条件に合致した特定のサービス・インスタンスのみを指定可能です。
ネットワークゾーン 事前に作成済みの1つ以上のネットワークゾーン IBM Cloudリソースへのアクセスを許可するネットワーク・ローケーションを定義したネットワークゾーンを指定します。
エンドポイント・タイプ Public どこからの要求も受け入れ、発信帯域幅に基づいて課金が評価されます。
Private IBM Cloud 内から送信されるほとんどの要求に使用できます。
Direct Cloud Object Storageで利用可能です。VPC 内のリソースから送信される要求の場合、個人所有の IP (BYOIP) シナリオで使用されます。
  • ルールの作成画面
    任意のルール名を指定し、ルールを強制するか選択します。
    image.png
    対象のIBM Cloudリソースを選択します。
    image.png
    image.png
    エンドポイント・タイプとネットワークゾーンを選択し、保存します。
    image.png
    image.png

  • 作成済みのルールののリスト画面
    image.png

ルール違反のモニタリング

オプションとしてIBM Cloudのサービスとして提供されているActivity Trackerを併用すると、ルールの違反をモニタリングすることができます。
ルールの設定項目「ルールを強制するか」で、有効またはReport-onlyを指定したルールが、モニタリングの対象となります。

IBM CloudのサービスのActivity Trackerを作成する際、ルールを定義したIBM CloudリソースActivity Trackerインスタンスのリージョンを一致させることが必要です。
両者のリージョンが異なると、Activity Trackerはモニタリングすることができません。

また、IAMに関連するAccount Managementタイプのサービスをモニタリングする場合、eu-de(フランクフルト) のActivity Trackerインスタンスの利用が必要となります。

<該当箇所の抜粋>
You must create an instance of the Activity Tracker service in the eu-de region to start tracking IAM events.

2. Private Endpoint

Private Endpointは、IBM Cloudのサービス・エンドポイント対応サービスで利用可能なオプションです。
対応サービスのリソースでPrivate Endpointを有効化すると、IBM Cloudプライベート・ネットワーク経由でのリソース・アクセスが可能になります。
例えば、IBM Cloud上の仮想サーバー(Virtual Server Instance:VSI)にデプロイしたアプリケーションから、IBM Cloud上のCloud Object Storageやデータベース・サービスにアクセスする場合など、IBM Cloud上のリソース同士の通信に利用することができます。
Private Endpointのみを有効化したリソースは、インターネットでルーティング可能な IP アドレスを持たないため、パブリック・インターネットへのアクセスを制限したい場合に役に立ちます。

  • Private Endpointを利用可能なサービス

  • 上記URLより引用:図 1. サービス・エンドポイントを介してルーティングされるトラフィック
    image.png

2. Cloud Object Storageバケットに対してCP4DaaSからPrivate Endpoint経由でのアクセスのみ許可する設定例

データを蓄積用のCloud Object Storageバケット(以下、COSバケット)を作成し、東京リージョンのCP4DaaS製品が使用するクラスタIPアドレスからプライベートエンド・ポイント経由でのアクセスのみ許可する方法を確認します。

  • 実現するイメージ
    image.png

以降の手順は、下記の製品資料の手順を「コンテキスト・ベースの制限事項」に読み替えて実施したものとなります。

1. 東京リージョンのCP4DaaS製品が使用するIPアドレス範囲の確認

  • 東京リージョンのCP4DaaSへログインし、ナビゲーションメニューより「管理」>「クラウド統合」と進みます。
    image.png
  • 「クラウド統合」ページの右上より「ファイアウォール構成」をクリックします。
    image.png
  • 「クラウド・ファイアウォールの構成」ウィンドウが表示されます。2つのチェックボックスを☑します。
  • Private IPsのアドレス範囲を全て控えます。
    image.png

2. COSバケットの準備

  • IBM CloudのWebコンソールより、Cloud Object StorageのUIへ進みます。
  • COSバケットアクセス用にサービス資格情報を新規作成します。
    • 「サービス資格情報」ページを開き、「新規資格情報」をクリックします。
      image.png
    • 任意の名前、役割「ライター」を指定し、詳細オプションをクリックします。
      image.png
    • 「HMAC資格情報を含める」をオンに設定し、「追加」をクリックします。
      image.png
    • 作成されたサービス資格情報のJSONを控えます。
      image.png
  • COSバケットを新規作成します。
    • 「バケット」ページを開き、「バケットのカスタマイズ」 をクリック
      image.png
    • 任意のバケット名・ロケーション・回復力を指定し、バケットを作成します。
      image.png
    • 作成が完了したCOSバケットの詳細画面が表示されます。
    • COSバケットへ分析のデータソース用のCSVファイルをアップロードします。
      image.png
    • COSバケットの詳細画面より「Configuration」>「エンドポイント」へ進み、プライベート・エンドポイント用のURLを控えます。
      image.png
      image.png

3. COSバケット用のコンテキストベースの制限事項の作成

  • COSバケットの詳細画面より「Permission」>「コンテキスト・ベースの制限事項」>「ルールの作成」へ進みます。
    image.png

  • 新規のルールを作成します。

    • 強制 では「有効」を選択し、続行します。
      image.png
    • サービスとして、「Cloud Object Storage」を選択し、続行します。
      image.png
    • リソースとして、「特定のリソース」を選択します。
    • リソースの条件へ以下の3つの条件を指定し、続行します。
      • サービスインスタンス:自分のCOSインスタンス
      • リソースID:作成したバケット名
      • リソース・タイプ:bucket
        image.png
    • エンドポイント・タイプとして以下を指定します。
      • すべてのエンドポイント・タイプを許可しますか:いいえ
      • プライベート・エンドポイントを選択
        image.png
    • ネットワーク・ゾーンのセクションにて「作成」をクリックします。
    • 任意のゾーン名を指定し、「許可されたIPアドレス」へ控えておいたCP4DaaSの製品IPアドレス範囲を全て記載します。その後、次へ進みます。

本手順では、簡単のため、東京リージョンのCP4DaaS製品が使用するクラスタIPアドレスからの接続のみを許可していますが、実際の設定時はCOSバケットにデータをアップロードする環境のIPアドレスの追加も必要です。
この設定が抜けてしまうと、COSバケットへのデータ・アップロードがエラーとなってしまうため、ご注意ください。

image.png

  • 内容を確認し、ネットワーク・ゾーン作成します。
    image.png
  • ルールの作成画面へ戻ります。作成したネットワークゾーンを選択し、追加します。
    image.png
  • ルールの内容を確認し、作成します。
    image.png
  • 作成されたルールが一覧へ表示されます。
    image.png

4. CP4DaaSからCOSバケットへ接続

①東京リージョンのCP4DaaSからPrivate Endpoint経由でCOSバケットへ接続 → 接続OK
許可したコンテキスト(エンドポイント・タイプ、IPアドレス)から接続できることを確認します。

  • 東京リージョンのCP4DaaSへアクセスします。
    image.png
  • テスト用にプロジェクトを新規作成します。
  • プロジェクトへ接続資産を作成します。
    image.png
    image.png
    image.png
    image.png
    控えておいたCOSバケットのエンドポイントURLとサービス資格情報を利用します。
    image.png
  • テスト接続を実行します。接続に成功します。
    image.png

②ダラス・リージョンのCP4DaaSからPrivate Endpoint経由でCOSバケットへ接続 → 接続NG
許可していないコンテキスト(IPアドレス)から接続が失敗することを確認します。

  • ダラス・リージョンのCP4DaaSへアクセスします。
    image.png
  • テスト用にプロジェクトを新規作成します。
  • プロジェクトへ接続資産を作成します。
  • テスト接続を実行します。接続は失敗します。
    テストは正常に終了しませんでした The assets request failed: CDICO0103E: Invalid username or password: Amazon s 3 error: Access Denied (Service: Amazon S3; Status Code: 403; Error Code: AccessDenied; Request ID: 9909c95b-e3c6-49d3-b777- eb0674e9ffb9)
    image.png

期待通りCOSバケットへ、東京のCP4DaaSからPrivate Endpoint経由の接続のみ許可することができました。

参考資料

1
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?