

# AWS Organizations とセキュリティグループを共有する
<a name="security-group-sharing"></a>

共有セキュリティグループ機能を使用すると、同じ AWS リージョンにある他の AWS Organizations アカウントとセキュリティグループを共有し、それらのアカウントでセキュリティグループを使用できるようになります。

次の図は、共有セキュリティグループ機能を使用して、AWS Organizations 内のアカウント間のセキュリティグループ管理を簡素化する方法を示しています:

![\[共有 VPC サブネット内の他のアカウントとのセキュリティグループ共有の図。\]](http://docs.aws.amazon.com/ja_jp/vpc/latest/userguide/images/sec-group-sharing.png)


この図は、同じ Organization の一部である 3 つのアカウントを示しています。アカウント A は VPC サブネットをアカウント B および C と共有します。アカウント A は、共有セキュリティグループ機能を使用して、アカウント B および C とセキュリティグループを共有します。その後、アカウント B と C は、共有サブネットでインスタンスを起動する際に、そのセキュリティグループを使用します。これにより、アカウント A はセキュリティグループを管理できます。セキュリティグループに対する更新は、アカウント B と C が共有 VPC サブネットで実行しているリソースに適用されます。

**共有セキュリティグループ機能の要件**
+ この機能は、AWS Organizations の同じ Organizations 内のアカウントでのみ使用できます。AWS Organizations で [[リソース共有]](https://docs.aws.amazon.com/ram/latest/userguide/getting-started-sharing.html) が有効になっている必要があります。
+ セキュリティグループを共有するアカウントは、VPC とセキュリティグループの両方を所有している必要があります。
+ デフォルトのセキュリティグループを共有することはできません。
+ デフォルトの VPC にあるセキュリティグループを共有することはできません。
+ 参加者アカウントは共有 VPC にセキュリティグループを作成できますが、それらのセキュリティグループを共有することはできません。
+ IAM プリンシパルがセキュリティグループを AWS RAM と共有するには、最小限の許可セットが必要です。共有セキュリティグループを共有および使用するために必要な許可が IAM プリンシパルに付与されるよう、`AmazonEC2FullAccess` および `AWSResourceAccessManagerFullAccess` マネージド IAM ポリシーを使用します。カスタム IAM ポリシーを使用する場合は、`c2:PutResourcePolicy` および `ec2:DeleteResourcePolicy` アクションが必要です。これらはアクセス許可のみの IAM アクションです。IAM プリンシパルにこれらのアクセス許可が付与されていない場合、AWS RAM を使用してセキュリティグループを共有しようとするとエラーが発生します。

**この機能をサポートするサービス**
+ Amazon API Gateway
+ Amazon EC2
+ Amazon ECS
+ Amazon EFS
+ Amazon EKS
+ Amazon EMR
+ Amazon FSx
+ Amazon ElastiCache
+ AWS Elastic Beanstalk
+ AWS Glue
+ Amazon MQ
+ Amazon SageMaker AI
+ Elastic Load Balancing
  + Application Load Balancer
  + Network Load Balancer

**この機能が既存のクォータに及ぼす影響**

[セキュリティグループのクォータ](amazon-vpc-limits.md#vpc-limits-security-groups)が適用されます。ただし、[ネットワークインターフェイスあたりのセキュリティグループ] のクォータでは、参加者が Elastic Network Interface (ENI) で所有グループと共有グループの両方を使用する場合、所有者と参加者のクォータの最小値が適用されます。

クォータがこの機能によってどのように影響を受けるかを示す例:
+ 所有者アカウントのクォータ: インターフェイスあたり 4 つのセキュリティグループ
+ 参加者アカウントのクォータ: インターフェイスあたり 5 つのセキュリティグループ
+ 所有者は、グループ SG-O1、SG-O2、SG-O3、SG-O4、SG-O5 を参加者と共有します。参加者は、VPC に既に独自のグループを持っています: SG-P1、SG-P2、SG-P3、SG-P4、SG-P5。
+ 参加者が ENI を作成し、自分の所有グループのみを使用する場合、5 つのセキュリティグループ (SG-P1、SG-P2、SG-P3、SG-P4、SG-P5) すべてを関連付けることができます。なぜなら、これが参加者のクォータだからです。
+ 参加者が ENI を作成し、その ENI で共有グループを使用する場合、関連付けることができるグループは最大 4 つのみです。この場合、このような ENI のクォータは、所有者と参加者のクォータの最小値です。考えられる有効な設定は次のようになります:
  + SG-O1、SG-P1、SG-P2、SG-P3
  + SG-O1、SG-O2、SG-O3、SG-O4

## セキュリティグループを共有する
<a name="share-sg-org"></a>

このセクションでは、AWS マネジメントコンソールと AWS CLI を使用して、Organization 内の他のアカウントとセキュリティグループを共有する方法について説明します。

------
#### [ AWS Management Console ]

**セキュリティグループを共有するには**

1. Amazon VPC コンソールの [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) を開いてください。

1. 左のナビゲーションペインで、**[セキュリティグループ]** を選択します。

1. セキュリティグループを選択して、詳細を表示します。

1. [**共有**] タブを選択します。

1. **[セキュリティグループを共有]** を選択します。

1. **[リソースの共有の作成]** を選択します。すると、AWS RAM コンソールが開きます。そこで、セキュリティグループのリソース共有を作成します。

1. リソース共有の **[名前]** を入力します。

1. **[リソース - オプション]** で、**[セキュリティグループ]** を選択します。

1. [セキュリティグループ] をクリックします。セキュリティグループをデフォルトのセキュリティグループにしたり、デフォルトの VPC に関連付けたりすることはできません。

1. [**次へ**] を選択します。

1. プリンシパルによる実行が許可されているアクションを確認し、**[次へ]** を選択します。

1. **[プリンシパル - オプション]** で **[自分の組織内でのみ共有を許可]** を選択します。

1. **[プリンシパル]** で、次のいずれかのプリンシパルタイプを選択し、適切な数値を入力します:
   + **[AWS アカウント]**: Organization 内のアカウントのアカウント番号。
   + **[Organization]**: AWS Organization ID。
   + **[組織単位 (OU)]**: Organization 内の OU の ID。
   + **[IAM ロール]**: IAM ロールの ARN。ロールを作成したアカウントは、このリソース共有を作成するアカウントと同じ Organization のメンバーである必要があります。
   + **[IAM ユーザー]**: IAM ユーザーの ARN。ユーザーを作成したアカウントは、このリソース共有を作成するアカウントと同じ Organization のメンバーである必要があります。
   + **[サービスプリンシパル]**: セキュリティグループをサービスプリンシパルと共有することはできません。

1. **[Add]** (追加) を選択します。

1. [**次へ**] を選択します。

1. **[リソースの共有の作成]** を選択します。

1. **[共有リソース]** で、`Associated` の **[ステータス]** が表示されるまで待ちます。セキュリティグループの関連付けに障害が発生した場合は、上記の制限のいずれかが原因である可能性があります。詳細ページでセキュリティグループの詳細と **[共有中]** タブを表示して、セキュリティグループを共有できない理由に関連するメッセージを確認します。

1. VPC コンソールのセキュリティグループリストに戻ります。

1. 共有したセキュリティグループを選択します。

1. [**共有**] タブを選択します。そこで AWS RAM リソースが表示されるはずです。表示されない場合、リソース共有の作成が失敗した可能性があり、再作成する必要がある場合があります。

------
#### [ Command line ]

**セキュリティグループを共有するには**

1. AWS RAM と共有するセキュリティグループのリソース共有を最初に作成する必要があります。AWS CLI を使用して AWS RAM とのリソース共有を作成するステップについては、「*AWS RAM ユーザーガイド*」の「[AWS RAM でのリソース共有の作成](https://docs.aws.amazon.com/ram/latest/userguide/working-with-sharing-create.html)」を参照してください。

1. 作成されたリソース共有の関連付けを表示するには、[get-resource-share-associations](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/get-resource-share-associations.html) を使用します。

------

これで、セキュリティグループが共有されました。同じ VPC 内の共有サブネットで [ EC2 インスタンスを起動](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/LaunchingAndUsingInstances.html)するときに、セキュリティグループを選択できます。

## セキュリティグループの共有を停止する
<a name="stop-share-sg-org"></a>

このセクションでは、AWS マネジメントコンソールと AWS CLI を使用して、Organization 内の他のアカウントとセキュリティグループの共有を停止する方法について説明します。

------
#### [ AWS Management Console ]

**セキュリティグループの共有を停止するには**

1. Amazon VPC コンソールの [https://console.aws.amazon.com/vpc/](https://console.aws.amazon.com/vpc/) を開いてください。

1. 左のナビゲーションペインで、**[セキュリティグループ]** を選択します。

1. セキュリティグループを選択して、詳細を表示します。

1. [**共有**] タブを選択します。

1. セキュリティグループのリソース共有を選択し、**[共有を停止]** を選択します。

1. **[はい、共有を停止します]** を選択します。

------
#### [ Command line ]

**セキュリティグループの共有を停止するには**

[delete-resource-share](https://awscli.amazonaws.com/v2/documentation/api/latest/reference/ec2/delete-resource-share.html) を使用してリソース共有を削除します。

------

セキュリティグループは共有されなくなりました。所有者がセキュリティグループの共有を停止すると、次のルールが適用されます: 
+ 既存の参加者の Elastic Network Interface (ENI) は、共有解除されたセキュリティグループに対して行われたセキュリティグループルールの更新を引き続き取得します。共有の解除による影響は、参加者が共有解除されたグループと新しい関連付けを作成できなくなることだけです。
+ 参加者は、共有解除されたセキュリティグループを所有している ENI に関連付けることができなくなります。
+ 参加者は、共有解除されたセキュリティグループに引き続き関連付けられている ENI を記述および削除できます。
+ 共有解除されたセキュリティグループに関連付けられている ENI を参加者が引き続き持っている場合、所有者は、共有解除されたセキュリティグループを削除できません。所有者は、参加者がすべての ENI からセキュリティグループの関連付けを解除 (セキュリティグループを削除) した後にのみ、セキュリティグループを削除できます。
+ 参加者は、共有されていないセキュリティグループに関連付けられた ENI を使用して新しい EC2 インスタンスを起動することはできません。