AWS Identity and Access Management
ユーザーガイド

ポリシーを使用したアクセス制御

ポリシーを使用して、IAM や AWS のすべてのサービスのリソースへのアクセスをコントロールできます。

AWS で ポリシーを使用してアクセスをコントロールするには、AWS がアクセスを許可する方法を理解する必要があります。AWS はリソースの集合で構成されています。IAM ユーザーはリソースです。Amazon S3 バケットはリソースです。AWS API、AWS CLI、または AWS マネジメントコンソール を使用してオペレーション (ユーザーの作成など) を実行する場合、このオペレーションに対するリクエストを送信します。リクエストでは、アクション、リソース、プリンシパルエンティティ (ユーザーまたはロール)、プリンシパルアカウント、および必要なリクエスト情報を指定します。これらのすべての情報により、コンテキストが提供されます。

次に、AWS はユーザー (プリンシパルエンティティ) が認証され (サインイン済み)、指定されたリソースで指定されたアクションの実行が許可されている (アクセス許可がある) ことを確認します。認可時、AWS は、リクエストのコンテキストに該当するすべてのポリシーをチェックします。通常、ポリシーは JSON ドキュメントとして AWS に保存され、プリンシパルエンティティのアクセス許可を指定します。ポリシーのタイプと用途の詳細については、「ポリシーとアクセス許可」を参照してください。

AWS は、リクエストの各部分がポリシーで許可されている場合のみ、リクエストを許可します。このプロセスの図を表示するには、「IAM の詳細を理解します。」を参照してください。AWS でリクエストを承認するかどうかの決定方法の詳細については、「 ポリシーの評価論理」を参照してください。

IAM ポリシーを作成するときは、以下へのアクセスを制御できます。

  • AWS のプリンシパル – リクエストを行うユーザー (プリンシパル) がどの操作を行うことができるかをコントロールします。

  • IAM ID – どの IAM ID (グループ、ユーザー、ロール) にどのようにアクセスできるかをコントロールします。

  • IAM ポリシー – だれがカスタマー管理ポリシーを作成、編集、削除でき、だれがすべての管理ポリシーをアタッチおよびデタッチできるかをコントロールします。

  • AWS リソース – アイデンティティベースのポリシーまたはリソースベースのポリシーを使用してだれがリソースにアクセスできるかをコントロールします。

  • AWS アカウント – リクエストを特定のアカウントのメンバーのみに許可するかどうかコントロールします。

ポリシーは、誰が AWS リソースにアクセスできるか、またそれらのリソース上でどのようなアクションを実行できるかを指定することを可能にします。すべての IAM ユーザーには、初期状態ではアクセス許可はありません。言い換えると、デフォルト設定では、ユーザーは何もできず、そのユーザーのアクセスキーを参照することすらできません。ユーザーに何かの操作を実行するアクセス許可を付与する場合は、そのユーザーにアクセス許可を追加できます (つまり、ポリシーをユーザーにアタッチします)。または、目的のアクセス許可を持つグループにユーザーを追加できます。

例えば、自らのアクセスキーをリスト化するためのユーザー権限を付与することができます。また、権限を拡大し、各ユーザーが自らのキーを作成、更新、および削除できるようにすることもできます。

グループだとそれらのアクセス権限をグループに付与することで、グループ内のすべてのユーザーに権限を与えることができます。たとえば、AWS アカウントのリソースに対してすべての IAM アクションを実行するアクセス許可を Administrators グループに付与できます。その他の例: AWS アカウントの Amazon EC2 インスタンスを定義するアクセス許可を Managers グループに付与できます。

ユーザー、グループ、およびロールに基本的な権限を委任する方法については、「他の IAM リソースにアクセスするのに必要なアクセス許可」を参照してください。基本的な権限を示すポリシーのさらに多くの例については、「IAM リソースの管理に関するポリシーの例」を参照してください。

プリンシパルへのアクセスの制御

リクエスト元 (プリンシパル) に許可される操作を制御するには、ポリシーを使用します。そのためには、リクエスト元のアイデンティティ (ユーザー、ユーザーのグループ、またはロール) にアイデンティティベースのポリシーをアタッチする必要があります。また、アクセス許可の境界を使用して、エンティティ (ユーザーまたはロール) に付与することのできるアクセス許可の上限を設定することもできます。

たとえば、CloudWatch、Amazon DynamoDB、Amazon EC2、および Amazon S3 に対するフルアクセスをユーザー Zhang Wei に許可するとします。この場合、2 つの異なるポリシーを作成し、後で別のユーザーにアクセス許可セットの 1 つが必要になった場合に、ポリシーを分割できます。または、両方のアクセス許可を 1 つのポリシーにまとめて、このポリシーを Zhang Wei という IAM ユーザーにアタッチできます。また、Zhang が属しているグループや、Zhang が引き受けることができるロールにポリシーをアタッチすることもできます。その結果、Zhang が S3 バケットのコンテンツを表示する場合、リクエストは許可されます。新しい IAM ユーザーを作成しようとすると、必要なアクセス許可がないため、このリクエストは拒否されます。

S3 バケット CompanyConfidential へのアクセスを完全に遮断するには、Zhang に対してアクセス許可の境界を設定できます。そのためには、Zhang に付与するアクセス許可の上限を決定します。この場合、ユーザーの操作を制御するために、アクセス許可ポリシーを使用します。ここで必要なことは、ユーザーが機密バケットにアクセスしないことだけです。したがって、以下のポリシーを使用して Zhang の境界を定義し、Amazon S3 と他のいくつかのサービスに対するすべての AWS アクションを許可する一方で、S3 バケット CompanyConfidential へのアクセスを拒否します。このアクセス許可の境界では、一切の IAM アクションが許可されないため、Zhang は自分 (または他のいかなるユーザー) の境界も削除できません。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "SomeServices", "Effect": "Allow", "Action": [ "cloudwatch:*", "dynamodb:*", "ec2:*", "s3:*" ], "Resource": "*" }, { "Sid": "NoConfidentialBucket", "Effect": "Deny", "Action": "s3:*", "Resource": [ "arn:aws:s3:::CompanyConfidential/*", "arn:aws:s3:::CompanyConfidential" ] } ] }

このようなポリシーをユーザーのアクセス許可の境界として割り当てる場合、境界自体はアクセス許可を付与しないことに注意してください。アイデンティティベースのポリシーで IAM エンティティに付与することのできるアクセス許可の上限を設定します。アクセス許可の境界の詳細については、「IAM エンティティのアクセス許可の境界」を参照してください。

前述の手順の詳細については、以下のリソースを参照してください。

アイデンティティへのアクセスの制御

IAM ポリシーを使用して、グループ経由ですべてのユーザーにアタッチするポリシーを作成することで、アイデンティティに対してユーザーが実行できる操作を制御できます。これを行うには、アイデンティティに対して実行できる操作や、アイデンティティにアクセスできるユーザーを制限するポリシーを作成します。

たとえば、AllUsers という名前のグループを作成し、そのグループをすべてのユーザーにアタッチできます。グループを作成するときに、前のセクションで説明したように、認証情報をローテーションするアクセス許可をすべてのユーザーに付与できます。次に、ポリシーの条件にユーザー名が含まれていない限り、グループを変更するアクセス許可を拒否するポリシーを作成できます。ただし、ポリシーのその部分では、リストされたユーザーを除くすべてのユーザーへのアクセスが拒否されます。また、グループのすべてのユーザーに、すべてのグループ管理アクションを許可するアクセス許可も含める必要があります。最後に、このポリシーをグループにアタッチし、すべてのユーザーに適用されるようにします。その結果、ポリシーで指定されていないユーザーがグループに変更を加えようとすると、リクエストは拒否されます。

ビジュアルエディタを使用してこのポリシーを作成するには

  1. AWS マネジメントコンソール にサインインし、IAM コンソール(https://console.aws.amazon.com/iam/)を開きます。

  2. 左側のナビゲーションペインで、[ポリシー] を選択します。

    初めて [ポリシー] を選択する場合には、[管理ポリシーにようこそ] ページが表示されます。[Get Started] を選択します。

  3. [Create policy] を選択します。

  4. [Visual editor (ビジュアルエディタ)] タブで、まず [Choose a service (サービスの選択)] を選択します。次に、[IAM] を選択します。

  5. [アクションの選択] を選択し、検索ボックスに「group」と入力します。ビジュアルエディタで、group という語を含むすべての IAM アクションが表示されます。すべてのチェックボックスをオンにします。

  6. [リソース] を選択して、ポリシーのリソースを指定します。選択したアクションに基づいて、[グループ]、[group-path (グループパス)]、[ユーザー] の各リソースタイプが表示されます。

    • グループ – [Add ARN (ARN の追加)] を選択します。[リソース] で、[すべて] の横にあるチェックボックスをオンにします。[Group Name With Path (パス付きグループ名)] にグループ名として「AllUsers」と入力します。次に、[Add (追加)] を選択します。

    • [group-path (グループパス)] – [すべて] の横にあるチェックボックスをオンにします。

    • [ユーザー] – [すべて] の横にあるチェックボックスをオンにします。

    選択したアクションの 1 つである ListGroups は、特定のリソースの使用をサポートされていません。そのアクションに対して [All resources (すべてのリソース)] を選択する必要はありません。[JSON] タブでポリシーを保存するか、ポリシーを表示すると、IAM によって自動的に新しいアクセス許可ブロックが作成され、すべてのリソースでこのアクションにアクセス許可が付与されることがわかります。

  7. 別のアクセス許可ブロックを追加するには、[Add additional permissions (さらにアクセス許可を追加する)] を選択します。

  8. [サービスロールの選択]、[IAM] の順に選択します。

  9. [アクションの選択]、[Switch to deny permissions (アクセス許可の拒否に切り替え)] の順に選択します。この操作を行うと、ブロック全体を使用してアクセス許可が拒否されます。

  10. 検索ボックスに「group」と入力します。ビジュアルエディタで、group という語を含むすべての IAM アクションが表示されます。次のアクションの横にあるチェックボックスをオンにします。

    • CreateGroup

    • DeleteGroup

    • RemoveUserFromGroup

    • AttachGroupPolicy

    • DeleteGroupPolicy

    • DetachGroupPolicy

    • PutGroupPolicy

    • UpdateGroup

  11. [リソース] を選択して、ポリシーのリソースを指定します。選択したアクションに基づいて、[グループ] リソースタイプが表示されます。[Add ARN (ARN の追加)] を選択します。[リソース] で、[すべて] の横にあるチェックボックスをオンにします。[Group Name With Path (パス付きグループ名)] にグループ名として「AllUsers」と入力します。次に、[Add (追加)] を選択します。

  12. [Specify request conditions (optional) (リクエスト条件の指定 (オプション))]、[Add condition (条件の追加)] の順に選択します。次の値をフォームに入力します。

    • [Key (キー)] – [aws:username] を選択します。

    • [限定条件] – [Default (デフォルト)] を選択します。

    • [演算子] – [StringNotEquals] を選択します。

    • [Value (値)] – 「srodriguez」と入力し、[Add another condition value (別の条件値の追加)] を選択します。「mjackson」と入力し、[Add another condition value (別の条件値の追加)] を選択します。「adesai」と入力し、[Add (追加)] を選択します。

    この条件により、呼び出しを実行しているユーザーがリストに含まれていない場合、アクセスは指定したグループ管理アクションに対して拒否されます。これによりアクセス許可が明示的に拒否されるため、ユーザーにアクションの呼び出しを許可した以前のブロックは上書きされます。リストのユーザーはアクセスを拒否され、最初のアクセス許可ブロックでアクセス許可を付与されるため、ユーザーはグループを完全に管理できます。

  13. 完了したら、[ポリシーの確認] を選択します。

    注記

    いつでも [Visual editor (ビジュアルエディタ)] タブと [JSON] タブを切り替えることができます。ただし、[Visual editor (ビジュアルエディタ)] タブで [ポリシーの確認] を変更または選択した場合、IAM はポリシーを再構成してビジュアルエディタに合わせて最適化することがあります。詳細については、「ポリシーの再構成」を参照してください。

  14. [Review policy (ポリシーの確認)] ページで、[Name (名前)] に「LimitAllUserGroupManagement」と入力します。[Description (説明)] に「Allows all users Read-only access to a specific group, and allows only specific users access to make changes to the group」と入力します。ポリシー概要を確認し、意図したアクセス許可を付与したことを確認します。次に、[ポリシーの作成] を選択して新しいポリシーを保存します。

  15. グループにポリシーをアタッチします。詳細については、「IAM ID のアクセス許可の追加および削除」を参照してください。

また、この JSON ポリシードキュメント例を使用して、同じポリシーを作成できます。詳細については、「[JSON] タブでのポリシーの作成」を参照してください。

例 すべてのユーザーに特定のグループへの読み取り専用アクセスを許可し、特定のユーザーのみにグループへの変更を行うアクセス許可を許可するポリシー例

{ "Version": "2012-10-17", "Statement": [ { "Sid": "AllowAllUsersToListAllGroups", "Effect": "Allow", "Action": "iam:ListGroups", "Resource": "arn:aws:iam::*:*" }, { "Sid": "AllowAllUsersToViewAndManageThisGroup", "Effect": "Allow", "Action": [ "iam:CreateGroup", "iam:DeleteGroup", "iam:ListGroupPolicies", "iam:UpdateGroup", "iam:GetGroup", "iam:RemoveUserFromGroup", "iam:AddUserToGroup", "iam:ListGroupsForUser", "iam:AttachGroupPolicy", "iam:DetachGroupPolicy", "iam:ListAttachedGroupPolicies", "iam:GetGroupPolicy", "iam:DeleteGroupPolicy", "iam:PutGroupPolicy" ], "Resource": [ "arn:aws:iam::*:user/*", "arn:aws:iam::*:group/AllUsers" ] }, { "Sid": "LimitGroupManagementAccessToSpecificUsers", "Effect": "Deny", "Action": [ "iam:CreateGroup", "iam:RemoveUserFromGroup", "iam:DeleteGroup", "iam:AttachGroupPolicy", "iam:UpdateGroup", "iam:DetachGroupPolicy", "iam:DeleteGroupPolicy", "iam:PutGroupPolicy" ], "Resource": "arn:aws:iam::*:group/AllUsers", "Condition": { "StringNotEquals": { "aws:username": [ "srodriguez", "mjackson", "adesai" ] } } } ] }

ポリシーへのアクセスの制御

ユーザーが AWS 管理ポリシーを適用する方法を制御できます。これを行うには、すべてのユーザーにこのポリシーをアタッチします。理想的には、グループを使用してこれを行うことができます。

たとえば、IAMUserChangePasswordPowerUserAccess の AWS 管理ポリシーのみを新しい IAM ユーザー、グループ、またはロールにアタッチするポリシーを作成できます。

カスタマー管理ポリシーの場合、それらのポリシーを作成、更新、削除できるユーザーを制御できます。プリンシパルエンティティ (ユーザー、グループ、ロール) との間でポリシーをアタッチおよびデタッチできるユーザーを制御できます。ユーザーにどのエンティティのどのポリシーのアタッチまたはデタッチを許可するかも制御できます。

たとえば、アカウント管理者にポリシーを作成、更新、削除する権限を付与できます。次に、チームリーダーまたはその他の制限付き管理者に、管理対象となるプリンシパルエンティティのポリシーをアタッチおよびデタッチする権限を付与します。

詳細については、以下のリソースを参照してください。

カスタマー管理ポリシーを作成、更新、削除する権限の制御

IAM ポリシーを使用して、だれが AWS アカウントのカスタマー管理ポリシーを作成、更新、削除できるかをコントロールできます。ポリシーまたはポリシーのバージョンの作成、更新、削除に直接関連する API オペレーションを以下に示します。

前述のリストの API オペレーションは、許可または拒否できるアクション、つまり IAM ポリシーを使用して付与できるアクセス許可に対応しています。

次のポリシー例を考えます。この例では、AWS アカウントのすべてのカスタマー管理ポリシーのデフォルトバージョンを作成、更新 (新しいポリシーバージョンの作成)、削除、および設定することをユーザーに許可します。このポリシーの例では、ユーザーにポリシーの一覧表示とポリシーの取得も許可しています。この例の JSON ポリシードキュメントを使用してポリシーを作成する方法については、「[JSON] タブでのポリシーの作成」を参照してください。

例 すべてのポリシーの作成、更新、削除、一覧表示、取得、デフォルトバージョンの設定を許可するポリシー

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "iam:CreatePolicy", "iam:CreatePolicyVersion", "iam:DeletePolicy", "iam:DeletePolicyVersion", "iam:GetPolicy", "iam:GetPolicyVersion", "iam:ListPolicies", "iam:ListPolicyVersions", "iam:SetDefaultPolicyVersion" ], "Resource": "*" } }

指定した管理ポリシーのみに適用するポリシーを作成して、これらの API オペレーションの使用を制限することもできます。たとえば、特定のカスタマー管理ポリシーのみを対象にして、ユーザーにデフォルトバージョンの設定とポリシーバージョンの削除を許可することが考えられます。これは、権限を付与するポリシーの Resource エレメントにポリシー ARN を指定することで実行できます。

次のポリシー例では、ポリシーバージョンを削除してデフォルトバージョンを設定することをユーザーに許可します。ただし、これらのアクションが許可されるのは、パス /TEAM-A/ が含まれているカスタマー管理ポリシーに限られます。カスタマー管理ポリシー ARN は、ポリシーの Resource 要素で指定されています(この例では、ARN にパスとワイルドカードが含まれているため、パス /TEAM-A/ を含むすべてのカスタマー管理ポリシーに一致します)。この例の JSON ポリシードキュメントを使用してポリシーを作成する方法については、「[JSON] タブでのポリシーの作成」を参照してください。

カスタマー管理ポリシーの名前にパスを使用する場合の詳細については、「分かりやすい名前とパス」を参照してください。

例 特定のポリシーのみを対象にして、ポリシーバージョンの削除とデフォルトバージョンの設定を許可するポリシー

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "iam:DeletePolicyVersion", "iam:SetDefaultPolicyVersion" ], "Resource": "arn:aws:iam::ACCOUNT-ID-WITHOUT-HYPHENS:policy/TEAM-A/*" } }

管理ポリシーをアタッチおよびデタッチする権限の制御

また、IAM ポリシーを使用して、ユーザーが特定の管理ポリシーのみで作業することを許可できます。実際には、ユーザーがどのアクセス許可を他のプリンシパルエンティティに付与できるかをコントロールできます。

プリンシパルエンティティの管理ポリシーのアタッチとデタッチに直接関連する API オペレーションを以下に示します。

指定した管理ポリシーおよびプリンシパルエンティティのみに適用するポリシーを作成して、これらの API オペレーションの使用を制限することができます。たとえば、指定した管理ポリシーのみを対象にして、ユーザーに管理ポリシーのアタッチを許可することが考えられます。あるいは、指定したプリンシパルエンティティのみを対象にして、ユーザーに管理ポリシーのアタッチを許可することも考えられます。

以下のポリシー例では、ユーザーに、パス /TEAM-A/ を含むグループとロールのみに対して管理ポリシーのアタッチを許可します。グループとロールの ARN はポリシーの Resource 要素で指定します(この例では、ARN にはパスとワイルドカード文字が含まれているため、パス /TEAM-A/ を含むすべてのグループとロールに一致します)。この例の JSON ポリシードキュメントを使用してポリシーを作成する方法については、「[JSON] タブでのポリシーの作成」を参照してください。

例 特定のグループまたはロールのみに対する管理ポリシーのアタッチを許可するポリシー

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "iam:AttachGroupPolicy", "iam:AttachRolePolicy" ], "Resource": [ "arn:aws:iam::ACCOUNT-ID-WITHOUT-HYPHENS:group/TEAM-A/*", "arn:aws:iam::ACCOUNT-ID-WITHOUT-HYPHENS:role/TEAM-A/*" ] } }

前の例のアクションをさらに制限して、特定のポリシーにのみ影響を与えられるようにすることができます。つまり、ポリシーに条件を追加することで、ユーザーがどのアクセス許可を他のプリンシパルエンティティにアタッチできるかをコントロールできます。

次の例では、条件により、アタッチしたポリシーが指定したポリシーのいずれかに一致した場合のみに AttachGroupPolicyAttachRolePolicy の権限を許可します。条件では、iam:PolicyARN 条件キーを使用して、どのポリシーをアタッチできるかを決定しています。次のポリシー例は、前の例を拡張したものです。この例では、パス /TEAM-A/ が含まれている管理ポリシーを、パス /TEAM-A/ が含まれているグループとロールにのみアタッチすることをユーザーに許可します。この例の JSON ポリシードキュメントを使用してポリシーを作成する方法については、「[JSON] タブでのポリシーの作成」を参照してください。

{ "Version": "2012-10-17", "Statement": { "Effect": "Allow", "Action": [ "iam:AttachGroupPolicy", "iam:AttachRolePolicy" ], "Resource": [ "arn:aws:iam::ACCOUNT-ID-WITHOUT-HYPHENS:group/TEAM-A/*", "arn:aws:iam::ACCOUNT-ID-WITHOUT-HYPHENS:role/TEAM-A/*" ], "Condition": {"ArnLike": {"iam:PolicyARN": "arn:aws:iam::ACCOUNT-ID-WITHOUT-HYPHENS:policy/TEAM-A/*"} } } }

このポリシーでは、ARN にワイルドカード文字が含まれているため、ArnLike 条件演算子を使用します。特定の ARN については、ArnEquals 条件演算子を使用します。ArnLike および ArnEquals の詳細については、「ポリシー要素リファレンス」の「条件の種類」セクションの「Amazon リソースネーム (ARN) の条件演算子」を参照してください。

たとえば、アクションの使用を制限して、指定した管理ポリシーのみを対象にすることもできます。これは、権限を付与するポリシーの Condition エレメントにポリシー ARN を指定することで実行できます。たとえば、カスタマー管理ポリシーの ARN を指定するには、次のようにします。

"Condition": {"ArnEquals": {"iam:PolicyARN": "arn:aws:iam::123456789012:policy/POLICY-NAME"} }

または、ポリシーの Condition 要素で AWS 管理ポリシーの ARN を指定することもできます。AWS 管理ポリシーの ARN では、以下の例に示すように、アカウント ID の代わりにポリシー ARN で aws という特別なエイリアスを使用します。

"Condition": {"ArnEquals": {"iam:PolicyARN": "arn:aws:iam::aws:policy/AmazonEC2FullAccess"} }

リソースへのアクセスのコントロール

アイデンティティベースのポリシーまたはリソースベースのポリシーを使用してリソースにアクセスできるユーザーを制御できます。アイデンティティベースのポリシーでは、ポリシーをアイデンティティにアタッチし、そのアイデンティティがアクセスできるリソースを指定します。リソースベースのポリシーでは、制御するリソースにポリシーをアタッチします。ポリシーでは、リソースにアクセスできるプリンシパルを指定します。ポリシーの両方のタイプの詳細については、「アイデンティティベースおよびリソースベースのポリシー」を参照してください。

詳細については、以下のリソースを参照してください。

リソース作成者であっても自動的にアクセス権限を有するわけではない

AWS アカウントのルートユーザー 認証情報を使用してサインインする場合、そのアカウントに属するリソースであらゆるアクションを実行する権限があります。ただし、それは IAM ユーザーには当てはまりません。IAM ユーザーはリソースを作成するためのアクセス許可を付与されることはありますが、そのユーザーの権限は、たとえ自ら作成したリソースに対するものであっても、明示的に付与された権限に限定されます。つまり、IAM ロールなどのリソースを作成するだけでは、そのロールを編集または削除するアクセス許可は自動的には与えられません。さらに、アクセス許可は、アカウント所有者またはユーザー権限を管理するアクセス許可を付与されたその他のユーザーによって、いつでも無効にすることができます。

特定のアカウント内のプリンシパルへのアクセスの制御

お客様は自らのアカウント内の IAM ユーザーに対し、お客様のリソースへのアクセス権限を直接付与できます。別のアカウントのユーザーがお客様のリソースへのアクセスを必要としている場合は、IAM ロールを作成できます。ロールは、アクセス許可を含むが、特定のユーザーに関連付けられていないエンティティです。これにより他のアカウントのユーザーはロールを引き受けて、ロールに割り当てられた権限に応じてリソースにアクセスできます。詳細については、「所有している別の AWS アカウントへのアクセスを IAM ユーザーに許可」を参照してください。

注記

一部のサービス (Amazon S3、Amazon SNS、Amazon SQS など) は、「アイデンティティベースおよびリソースベースのポリシー」に説明されているリソースベースのポリシーをサポートしています。これらのサービスでは、ロールを使用する代わりに、共有するリソース (バケット、トピック、またはキュー) にポリシーをアタッチできます。リソースベースポリシーは、リソースへのアクセス許可を持つ AWS アカウントを指定できます。