AWS RAM と IAM の連携について - AWS Resource Access Manager

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

AWS RAM と IAM の連携について

デフォルトでは、IAM プリンシパルには AWS RAM リソースを作成または変更するためのアクセス許可はありません。IAM プリンシパルがリソースを作成または変更してタスクを実行できるようにするには、以下の手順のいずれかを実行します。これらのアクションは、特定のリソースおよび API アクションを使用するアクセス許可を付与します。

アクセスを提供するには、ユーザー、グループ、またはロールにアクセス許可を追加します。

AWS RAM は、多くのユーザーのニーズに対応するうえで役立ついくつもの AWS マネージドポリシーを提供します。これらの詳細については、「AWS の AWS RAM 管理ポリシー」を参照してください。

ユーザーに付与するアクセス許可を細かく制御する必要がある場合、IAM コンソールで独自のポリシーを構築できます。ポリシーを作成して IAM ロールとユーザーにアタッチする方法については、「AWS Identity and Access Management ユーザーズガイド」の「IAM でのポリシーとアクセス許可」を参照してください。

以降のセクションでは、IAM アクセス許可ポリシーを構築するための AWS RAM 固有の詳細について説明します。

ポリシーの構造

IAM アクセス許可ポリシーは 効果、アクション、リソース、および条件を含む JSON ドキュメントです。通常、IAM ポリシーは以下の形式をとります。

{ "Statement":[{ "Effect":"<effect>", "Action":"<action>", "Resource":"<arn>", "Condition":{ "<comparison-operator>":{ "<key>":"<value>" } } }] }

エフェクト

効果文は、ポリシーでアクションを実行するプリンシパルアクセスを許可するか拒否するかを示します。指定できる値は、Allow および Deny などです。

アクション

アクション文は、ポリシーで許可または拒否する AWS RAM API アクションを指定します。許可されるアクションの詳細な一覧については、IAM ユーザーガイド の「AWS Resource Access Manager で定義されるアクション」を参照してください。

リソース

リソース文は、ポリシーの影響を受ける AWS RAM リソースを指定します。ステートメント内でリソースを指定するには、一意の Amazon リソースネーム (ARN) を使用する必要があります。許可されるリソースの詳細な一覧については、IAM ユーザーガイド の「AWS Resource Access Manager で定義されるリソース」を参照してください。

条件

条件ステートメントはオプションです。これらを使用すると、ポリシーが適用される条件をさらに絞り込めます。AWS RAM では次の条件キーがサポートされています。

  • aws:RequestTag/${TagKey} - サービスリクエストに指定されたタグキーを含むタグが存在し、指定された値を持っているかどうかをテストします。

  • aws:ResourceTag/${TagKey}— サービスリクエストの対象となるリソースに、ポリシーで指定したタグキーが付いたタグがアタッチされているかどうかをテストします。

    次の条件例では、サービスリクエストで参照されているリソースに、キー名「Owner」、値「Dev Team」のタグがアタッチされているかどうかを確認します。

    "Condition" : { "StringEquals" : { "aws:ResourceTag/Owner" : "Dev Team" } }
  • aws:TagKeys - リソース共有の作成またはタグ付けに使用すべきタグキーを指定します。

  • ram:AllowsExternalPrincipals - サービスリクエスト内のリソース共有が外部プリンシパルとの共有を許可しているかどうかをテストします。外部プリンシパルの例として、AWS Organizations における組織外の AWS アカウント があります。False でのテストにパスした場合は、このリソースシェアを同じ組織内のアカウントでのみ共有できます。

  • ram:PermissionArn - サービスリクエストで指定されたアクセス許可 ARN が、ポリシーで指定した ARN 文字列と一致するかどうかをテストします。

  • ram:PermissionResourceType - サービスリクエストで指定されたアクセス許可が、ポリシーで指定したリソースタイプで有効かどうかをテストします。リソースタイプは、共有可能なリソースタイプの一覧に示す形式に従って指定する必要があります。

  • ram:Principal - サービスリクエストで指定されたプリンシパルの ARN が、ポリシーで指定した ARN 文字列と一致するかどうかをテストします。

  • ram:RequestedAllowsExternalPrincipals - サービスリクエストに allowExternalPrincipals パラメータが含まれているかどうか、またその引数がポリシーで指定した値と一致するかどうかをテストします。

  • ram:RequestedResourceType - 処理対象リソースのリソースタイプが、ポリシーで指定したリソースタイプ文字列と一致するかどうかをテストします。リソースタイプは、共有可能なリソースタイプの一覧に示す形式に従って指定する必要があります。

  • ram:ResourceArn - サービスリクエストの処理対象リソースの ARN が、ポリシーで指定した ARN と一致するかどうかをテストします。

  • ram:ResourceShareName - サービスリクエストの処理対象リソースの名前が、ポリシーで指定した文字列と一致するかどうかをテストします。

  • ram:ShareOwnerAccountId - サービスリクエストの処理対象リソースのアカウント ID 番号が、ポリシーで指定した文字列と一致するかどうかをテストします。