AWS リソースの共有 - AWS Resource Access Manager

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS リソースの共有

を使用して所有しているリソースを共有するには AWS RAM、次の操作を行います。

メモ
  • リソースを所有 AWS アカウント する 以外のプリンシパルとリソースを共有しても、リソースを作成したアカウント内のリソースに適用されるアクセス許可やクォータは変更されません。

  • AWS RAM はリージョナルサービスです。共有するプリンシパルは、リソース共有が作成された AWS リージョン でのみリソース共有にアクセスできます。

  • リソースによっては、共有に関する特別な考慮事項と前提条件があります。詳細については、「共有可能な AWS リソース」を参照してください。

AWS Organizations内でリソース共有を有効にする

アカウントが によって管理されている場合 AWS Organizations、そのアカウントを利用してリソースをより簡単に共有できます。組織の有無にかかわらず、ユーザーは個々のアカウントに共有できます。ただし、アカウントが組織内にある場合には、各アカウントを列挙しなくても、個々のアカウント、または組織内または OU 内のすべてのアカウントとの共有が可能です。

組織内でリソースを共有するには、まず AWS RAM コンソールまたは AWS Command Line Interface (AWS CLI) を使用して共有を有効にする必要があります AWS Organizations。組織内のリソースを共有する場合、 AWS RAM はプリンシパルに招待を送信しません。組織内のプリンシパルは、招待状を交換せずに共有リソースにアクセスできます。

組織内でリソース共有を有効にすると、 は というサービスにリンクされたロール AWS RAM を作成しますAWSServiceRoleForResourceAccessManager。このロールは AWS RAM サービスによってのみ引き受けることができ、 AWS 管理ポリシー を使用して、それが属する組織に関する情報を取得する AWS RAM アクセス許可を付与しますAWSResourceAccessManagerServiceRolePolicy

組織全体または とリソースを共有する必要がなくなった場合はOUs、リソース共有を無効にすることができます。詳細については、「AWS Organizations とのリソース共有の無効化」を参照してください。

最小アクセス許可

以下の処理を実行するには、次のアクセス許可を持つ組織の管理アカウントのプリンシパルでサインインする必要があります。

  • ram:EnableSharingWithAwsOrganization

  • iam:CreateServiceLinkedRole

  • organizations:enableAWSServiceAccess

  • organizations:DescribeOrganization

要件
  • これらの手順は、組織の管理アカウントのプリンシパルとしてサインインしている場合のみ実行できます。

  • その組織で、すべての機能が有効になっている必要があります。詳細については、「AWS Organizations ユーザーガイド」の「組織内のすべての機能の有効化」を参照してください。

重要

AWS RAM コンソールまたは enable-sharing-with-aws-organization AWS CLI コマンドを使用して AWS Organizations 、 との共有を有効にする必要があります。これにより、AWSServiceRoleForResourceAccessManager サービスにリンクされたロールが確実に作成されます。 AWS Organizations コンソールまたは enable-aws-service-access AWS CLI コマンドを使用して で信頼 AWS Organizations されたアクセスを有効にすると、AWSServiceRoleForResourceAccessManagerサービスにリンクされたロールは作成されず、組織内でリソースを共有することはできません。

Console
組織内でリソース共有を有効にするには
  1. AWS RAM コンソールで設定ページを開きます。

  2. 共有を有効にする AWS Organizationsを選択し、設定の保存を選択します。

AWS CLI
組織内でリソース共有を有効にするには

enable-sharing-with-aws-organization コマンドを使用します。

このコマンドは任意の で使用でき AWS リージョン、 AWS RAM がサポートされている AWS Organizations すべてのリージョンで との共有を可能にします。

$ aws ram enable-sharing-with-aws-organization { "returnValue": true }

リソース共有を作成する

所有するリソースを共有するには、リソース共有を作成します。プロセスの概要を次に示します。

  1. 共有するリソースを追加します。

  2. 共有に含める各リソースタイプで、リソースタイプで使用する管理アクセス許可を指定します。

    • 使用可能な AWS 管理アクセス許可、既存のカスタマー管理アクセス許可のいずれかから選択するか、新しいカスタマー管理アクセス許可を作成できます。

    • AWS マネージドアクセス許可は、標準のユースケースに対応するため AWS に によって作成されます。

    • カスタマー管理アクセス許可を使用すると、セキュリティやビジネスニーズに合わせて独自の管理アクセス許可をカスタマイズできます。

    注記

    選択した管理アクセス許可に複数のバージョンがある場合、 AWS RAM は自動的にデフォルトバージョンをアタッチします。アタッチできるのは、デフォルトとして指定されているバージョンのみです。

  3. リソースにアクセスできるようにしたいプリンシパルを指定します。

考慮事項
  • 後で共有に含めた AWS リソースを削除する必要がある場合は、まず、そのリソースを含むリソース共有からリソースを削除するか、リソース共有を削除することをお勧めします。

  • リソース共有に含めることができるリソースタイプの一覧は「共有可能な AWS リソース」で確認できます。

  • 共有できるのは自分が所有するリソースのみです。自分が共有先になっているリソースを共有リソースにすることはできません。

  • AWS RAM はリージョナルサービスです。リソースを他の AWS アカウント内のプリンシパルと共有する場合、プリンシパルはリソースが作成されたのと同じ AWS リージョン から各リソースにアクセスする必要があります。サポートされているグローバルリソースについては、そのリソースのサービスコンソールとツールで AWS リージョン サポートされている任意の からそれらのリソースにアクセスできます。このようなリソース共有とそのグローバルリソースは、指定されたホームリージョンである米国東部 (バージニア北部) us-east-1 の AWS RAM コンソールとツールでのみ表示できます。 AWS RAM および グローバルリソースの詳細については、「」を参照してくださいリージョナルリソースの共有とグローバルリソースの共有の比較

  • 共有元のアカウントが の組織の一部 AWS Organizations であり、組織内での共有が有効になっている場合、組織内で共有しているプリンシパルには、招待を使用せずにリソース共有へのアクセスが自動的に付与されます。組織のコンテキスト外で共有するアカウントのプリンシパルは、リソース共有に参加するための招待を受け取り、招待を受け入れた後でのみ、共有リソースへのアクセス権が付与されます。

  • サービスプリンシパルと共有する場合、他のプリンシパルをリソース共有に関連付けることはできません。

  • 組織の一部であるアカウントまたはプリンシパル間で共有する場合、組織のメンバーシップを変更すると、リソース共有へのアクセスに動的に影響します。

    • AWS アカウント を組織またはリソース共有にアクセスできる OU に追加すると、その新しいメンバーアカウントは自動的にリソース共有にアクセスできます。その後、共有先のアカウント管理者は、アカウント内の個々のプリンシパルに、共有内のリソースへのアクセス権を付与できます。

    • 組織またはリソース共有へのアクセス権を持つ OU からアカウントを削除する場合、そのアカウントのすべてのプリンシパルは、リソース共有からアクセス可能なリソースへのアクセス許可を自動的に失います。

    • メンバーアカウント、またはメンバーアカウントのIAMロールまたはユーザーと直接共有し、そのアカウントを組織から削除すると、そのアカウントのプリンシパルは、そのリソース共有を通じてアクセスされたリソースにアクセスできなくなります。

    重要

    組織または OU と共有し、スコープにリソース共有を所有するアカウントが含まれる場合、共有アカウントのすべてのプリンシパルは、共有内のリソースに自動的にアクセスできるようになります。付与されるアクセスは、共有に関連付けられている管理アクセス許可によって定義されます。これは、 が共有内の各リソースに AWS RAM アタッチするリソースベースのポリシーが を使用するためです"Principal": "*"。詳細については、「の使用に伴う影響 "Principal": "*" リソースベースのポリシーの」を参照してください。

    他のコンシューマーアカウントのプリンシパルは、共有のリソースにすぐにはアクセスできません。他のアカウントの管理者は、まず ID ベースのアクセス許可ポリシーを適切なプリンシパルにアタッチする必要があります。これらのポリシーは、リソース共有内の個々のリソースARNsの Allow へのアクセスを許可する必要があります。これらのポリシーのアクセス許可は、リソース共有に関連付けられた管理アクセス許可で指定されているアクセス許可を超えることはできません。

  • アカウントがメンバーである組織と、その組織OUsからリソース共有にのみ追加できます。自分の組織外の OUsまたは 組織をプリンシパルとしてリソース共有に追加することはできません。ただし、個々の 、 AWS アカウント またはサポートされているサービスの場合は、組織外のIAMロールとユーザーをプリンシパルとしてリソース共有に追加できます。

    注記

    すべてのリソースタイプをIAMロールやユーザーと共有できるわけではありません。これらのプリンシパルと共有できるリソースの詳細については、「共有可能な AWS リソース」を参照してください。

  • 次のリソースタイプについては、7 日以内に共有への招待を受け入れる必要があります。7 日以内に招待を受け入れない場合、招待は期限切れになり、自動的に辞退したことになります。

    重要

    以下のリストに含まれていない共有リソースタイプについては、12 時間以内にリソース共有への招待を受け入れる必要があります。12 時間が経過すると、招待は期限切れになり、リソース共有のエンドユーザープリンシパルとの関連付けが解除されます。エンドユーザーは招待を受け入れることができなくなります。

    • Amazon Aurora – DB クラスター

    • Amazon EC2 – キャパシティ予約と専用ホスト

    • AWS License Manager – ライセンス設定

    • AWS Outposts – ローカルゲートウェイルートテーブル、アウトポスト、サイト

    • Amazon Route 53 – 転送ルール

    • Amazon VPC – 顧客所有のIPv4アドレス、プレフィックスリスト、サブネット、トラフィックミラーターゲット、トランジットゲートウェイ、トランジットゲートウェイマルチキャストドメイン

Console
リソース共有を作成するには
  1. AWS RAM コンソールを開きます。

  2. AWS RAM リソース共有は特定の に存在するため AWS リージョン、コンソールの右上隅 AWS リージョン にあるドロップダウンリストから適切な を選択します。グローバルリソースを含むリソース共有を表示するには、 AWS リージョン を米国東部 (バージニア北部)、 () に設定する必要がありますus-east-1。グローバルリソース共有の詳細については、「リージョナルリソースの共有とグローバルリソースの共有の比較」を参照してください。リソース共有にグローバルリソースを含める場合は、指定されたホームリージョンである米国東部 (バージニア北部) us-east-1 を選択する必要があります。

  3. を初めて使用する場合は AWS RAM、ホームページからリソース共有の作成を選択します。それ以外の場合、[Shared by me : Resource shares] (自分が共有: リソース共有) から [Create resource share] (リソース共有の作成) を選択します。

  4. [Step 1: Specify resource share details] (ステップ 1: リソース共有の詳細を指定する) で、以下の手順に従います。

    1. [Name] (名前) に、リソース共有のわかりやすい名前を入力します。

    2. [Resources] (リソース) で、リソース共有に追加するリソースを以下のように選択します。

      • [Select resource type] (ターゲットリソースの選択) で、共有するリソースのタイプを選択します。そうすることで、共有可能なリソースのリストが、選択したタイプのリソースのみに絞り込まれます。

      • リソースのリストで、共有する個々のリソースの横にあるチェックボックスをオンにします。選択したリソースが [Selected resources] (選択済みリソース) に移動します。

        特定のアベイラビリティゾーンに関連付けられているリソースを共有する場合、アベイラビリティゾーン ID (AZ ID) を使用すると、アカウント間でこれらのリソースの場所を判別するのに役立ちます。詳細については、「AWS リソースのアベイラビリティーゾーン ID」を参照してください。

    3. (オプション) タグをアタッチするには、[Tags] (タグ) にタグのキーと値を入力します。[Add new tag] (新しいタグを追加) を選択して、他のユーザーを追加します。この手順を必要なだけ繰り返します。これらのタグは、リソース共有内のリソースには適用されず、リソース共有自体にのみ適用されます。

  5. [Next (次へ)] を選択します。

  6. ステップ 2: 管理アクセス許可を各リソースタイプに関連付けるには、 によって作成された管理アクセス許可 AWS をリソースタイプに関連付けるか、既存のカスタマー管理アクセス許可を選択するか、サポートされているリソースタイプに対して独自のカスタマー管理アクセス許可を作成します。詳細については、「管理アクセス許可のタイプ」を参照してください。

    [カスタマー管理アクセス許可の作成] を選択して、共有ユースケースの要件を満たすカスタマー管理アクセス許可を作成します。詳細については、「カスタマー管理アクセス許可を作成する」を参照してください。プロセスが完了したら Refresh icon を選択し、[管理アクセス許可] ドロップダウンリストから新しいカスタマー管理アクセス許可を選択します。

    注記

    選択した管理アクセス許可に複数のバージョンがある場合、 AWS RAM はデフォルトバージョンを自動的にアタッチします。デフォルトとして指定されたバージョンのみをアタッチできます。

    管理アタッチで許可されているアクションを表示するには、[この管理アタッチのポリシーテンプレートを表示] を展開します。

  7. [Next (次へ)] を選択します。

  8. 手順 3: プリンシパルにアクセス権限を付与する」で、以下を行います。

    1. デフォルトでは、誰とでも共有を許可するが選択されています。つまり、それをサポートするリソースタイプでは、組織外の AWS アカウント とリソースを共有できます。これは、Amazon VPCサブネットなど、組織内でのみ共有できるリソースタイプには影響しません。サポートされているリソースタイプの一部をIAMロールやユーザーと共有することもできます。

      組織内のプリンシパルのみにリソース共有を制限するには、[自分の組織内でのみ共有を許可] を選択します。

    2. [Principals] (プリンシパル) について、以下の操作をします。

      • 組織、組織単位 (OU)、または組織の一部 AWS アカウント である を追加するには、組織構造の表示を有効にします。そうすると組織図が表示されます。次に、追加する各プリンシパルの横にあるチェックボックスをオンにします。

        重要

        組織または OU と共有し、スコープにリソース共有を所有するアカウントが含まれる場合、共有アカウントのすべてのプリンシパルは、共有内のリソースに自動的にアクセスできるようになります。付与されるアクセスは、共有に関連付けられている管理アクセス許可によって定義されます。これは、 が共有内の各リソースに AWS RAM アタッチするリソースベースのポリシーが を使用するためです"Principal": "*"。詳細については、「の使用に伴う影響 "Principal": "*" リソースベースのポリシーの」を参照してください。

        他のコンシューマーアカウントのプリンシパルは、共有のリソースにすぐにはアクセスできません。他のアカウントの管理者は、まず ID ベースのアクセス許可ポリシーを適切なプリンシパルにアタッチする必要があります。これらのポリシーは、リソース共有内の個々のリソースARNsの Allow へのアクセスを許可する必要があります。これらのポリシーのアクセス許可は、リソース共有に関連付けられた管理アクセス許可で指定されているアクセス許可を超えることはできません。

        • 組織 (o- で始まる ID) を選択した場合、組織内のすべての AWS アカウント のプリンシパルがリソース共有にアクセスできます。

        • OU を選択した場合 (ID は で始まるou-)、 AWS アカウント その OU のすべての とその子のプリンシパルOUsはリソース共有にアクセスできます。

        • 個人を選択した場合 AWS アカウント、そのアカウントのプリンシパルのみがリソース共有にアクセスできます。

        注記

        [Display organizational structure] (組織構造の表示) トグルが表示されるのは、 AWS Organizations とのが有効になっていて、組織の管理アカウントにサインインしているときのみです。

        この方法を使用して、組織 AWS アカウント 外の 、または IAMロールやユーザーを指定することはできません。代わりに、組織構造の表示をオフにし、ドロップダウンリストとテキストボックスを使用して ID または を入力する必要がありますARN。

      • 組織外のプリンシパルARNを含む ID または でプリンシパルを指定するには、プリンシパルごとにプリンシパルタイプを選択します。次に、ID (、組織 AWS アカウント、または OU の場合) または ARN ( IAMロールまたはユーザーの場合) を入力し、追加を選択します。使用可能なプリンシパルタイプと ID およびARN形式は次のとおりです。

        • AWS アカウント – を追加するには AWS アカウント、12 桁のアカウント ID を入力します。例えば:

          123456789012

        • 組織 – 組織 AWS アカウント 内のすべての を追加するには、組織の ID を入力します。例えば:

          o-abcd1234

        • [Organizational unit (OU)] (部門単位 (OU)) — OU を追加するには、OU の ID を入力します。例えば:

          ou-abcd-1234efgh

        • IAM role – IAMロールを追加するには、ロールARNの を入力します。次の構文を使用します。

          arn:partition:iam::account:role/role-name

          例えば:

          arn:aws:iam::123456789012:role/MyS3AccessRole

          注記

          IAM ロールARNの一意の を取得するには、IAMコンソールでロールのリストを表示しget-role AWS CLI コマンドまたは GetRoleAPIアクションを使用します。

        • IAM ユーザー – IAM ユーザーを追加するには、ユーザーの ARN を入力します。次の構文を使用します。

          arn:partition:iam::account:user/user-name

          例えば:

          arn:aws:iam::123456789012:user/bob

          注記

          ARN IAM ユーザーの一意の を取得するには、 IAMコンソールでユーザーのリストを表示し、 get-user AWS CLI コマンド、または GetUser API アクション。

      • サービスプリンシパル — サービスプリンシパルを追加するには、[プリンシパルタイプの選択] ドロップボックスで [サービスプリンシパル] を選択します。 AWS サービスプリンシパル名を入力します。次の構文を使用します。

        • service-id.amazonaws.com

          例えば:

          pca-connector-ad.amazonaws.com

    3. [Selected principals] (選択されたプリンシパル) について、指定したプリンシパルがリストに入っていることを確認します。

  9. [Next (次へ)] を選択します。

  10. [Step 4: Review and create] (ステップ 4: 確認して作成する) で、リソース共有に関する設定の詳細を見直します。任意のステップについて設定を変更するには、戻りたいステップに対応するリンクを選択して必要なだけ変更を加えます。

  11. リソース共有を確認し終わった、[Create resource share] (リソース共有の作成) を選択します。

    リソースとプリンシパルの関連付けが完了するまでに数分かかることがあります。リソース共有を使用する前にこのプロセスを完了させてください。

  12. リソースとプリンシパルの追加および削除、リソース共有へのカスタムタグの適用はいつでもできます。リソース共有に含まれるリソースタイプのうち、デフォルトの管理アクセス許可以外をサポートするタイプについては、管理アクセス許可を変更できます。リソースを共有する必要がなくなったら、リソース共有を削除できます。詳細については、「所有する AWS リソースの共有」を参照してください。

AWS CLI
リソース共有を作成するには

を使用するcreate-resource-share コマンド。次のコマンドは、組織 AWS アカウント 内のすべての と共有されるリソース共有を作成します。共有には AWS License Manager ライセンス設定が含まれており、そのリソースタイプのデフォルトの管理アクセス許可が付与されます。

注記

このリソース共有のリソースタイプでカスタマー管理アクセス許可を使用する場合は、既存のカスタマー管理アクセス許可を使用するか、新しいカスタマー管理アクセス許可を作成します。カスタマー管理ARNアクセス許可の を書き留めて、リソース共有を作成します。詳細については、「カスタマー管理アクセス許可を作成する」を参照してください。

$ aws ram create-resource-share \ --region us-east-1 \ --name MyLicenseConfigShare \ --permission-arns arn:aws:ram::aws:permission/AWSRAMDefaultPermissionLicenseConfiguration \ --resource-arns arn:aws:license-manager:us-east-1:123456789012:license-configuration:lic-abc123 \ --principals arn:aws:organizations::123456789012:organization/o-1234abcd { "resourceShare": { "resourceShareArn": "arn:aws:ram:us-east-1:123456789012:resource-share/12345678-abcd-09876543", "name": "MyLicenseConfigShare", "owningAccountId": "123456789012", "allowExternalPrincipals": true, "status": "ACTIVE", "creationTime": "2021-09-14T20:42:40.266000-07:00", "lastUpdatedTime": "2021-09-14T20:42:40.266000-07:00" } }