19.6. 共有セキュリティーグループの設定

1 つ以上の Red Hat OpenStack Platform (RHOSP) プロジェクトがデータを共有できるようにするには、RHOSP Networking サービス (neutron)RBAC ポリシー機能を使用してセキュリティーグループを共有できます。OpenStack クライアントを使用して、セキュリティーグループと Networking サービスのロールベースアクセス制御 (RBAC) ポリシーを作成します。

インスタンスの作成時にセキュリティーグループをインスタンスに直接適用することや、実行中のインスタンスのポートに適用することができます。

注記

インスタンスの作成中に、ロールベースのアクセス制御 (RBAC) 共有セキュリティーグループをインスタンスに直接適用することはできません。RBAC 共有セキュリティーグループをインスタンスに適用するには、最初にポートを作成し、共有セキュリティーグループをそのポートに適用してから、そのポートをインスタンスに割り当てる必要があります。セキュリティーグループのポートへの追加 を参照してください。

前提条件

  • 共有する RHOSP プロジェクトが少なくとも 2 つある。
  • プロジェクトの 1 つ現在のプロジェクトで、別のプロジェクト ターゲットプロジェクトと共有するセキュリティーグループを作成している。

    以下の例では、ping_ssh セキュリティーグループが作成されます。

    例:

    $ openstack security group create ping_ssh

手順

  1. セキュリティーグループが含まれる現在のプロジェクトのオーバークラウドにログインします。
  2. ターゲットプロジェクトの名前または ID を取得します。

    $ openstack project list
  3. RHOSP プロジェクト間で共有するセキュリティーグループの名前または ID を取得します。

    $ openstack security group list
  4. 前のステップの識別子を使用して、openstack network rbac create コマンドを使用して RBAC ポリシーを作成します。

    以下の例では、ターゲットプロジェクトの ID は 32016615de5d43bb88de99e7f2e26a1e です。セキュリティーグループの ID は 5ba835b7-22b0-4be6-bdbe-e0722d1b5f24 です。

    例:

    $ openstack network rbac create --target-project \
    32016615de5d43bb88de99e7f2e26a1e --action access_as_shared \
    --type security_group 5ba835b7-22b0-4be6-bdbe-e0722d1b5f24

    --target-project

    セキュリティーグループへのアクセスを必要とするプロジェクトを指定します。

    ヒント

    --target-project <target-project> 引数の代わりに --target-all-projects を使用して、すべてのプロジェクト間でデータを共有できます。デフォルトでは、admin ユーザーのみがこの特権を持ちます。

    --action access_as_shared
    プロジェクトを実行できるものを指定します。
    --type
    ターゲットオブジェクトがセキュリティーグループであることを示します。
    5ba835b7-22b0-4be6-bdbe-e0722d1b5f24
    は、アクセスが許可される特定のセキュリティーグループの ID です。

そのポートにバインドできるだけでなく、OpenStack クライアントの security group コマンドを実行すると、ターゲットプロジェクトはセキュリティーグループにアクセスできます。他のユーザー (管理者および所有者以外) はセキュリティーグループにアクセスすることはできません。

ヒント

ターゲットプロジェクトのアクセス権を削除するには、openstack network rbac delete コマンドを使用して、アクセスを許可する RBAC ポリシーを削除します。

関連情報