AWS Global Accelerator の ID とアクセス管理 - AWS Global Accelerator

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

AWS Global Accelerator の ID とアクセス管理

AWS Identity and Access Management (IAM) は、AWS Global Accelerator リソースを含む AWS リソースへのアクセスを管理者が安全に制御するために役立つ AWS のサービスです。管理者は IAM を使用してユーザーを制御する認証済み(サインイン) と承認済み(権限を持つ) がグローバルアクセラレータリソースを使用できるようにします。IAM は追加料金なしで、AWS アカウントに含まれている機能です。

重要

IAM に慣れていない場合は、このページの入門情報を確認し、次に「」を参照してください。IAM の使用開始。必要に応じて、認証とアクセスコントロールの詳細については、認証とは,アクセス制御とは, およびポリシーとは

トピック

概念と用語

認証— AWS にサインインするには、ルートユーザー認証情報 (非推奨)、IAM ユーザー認証情報 (推奨)、または IAM ロールによる一時的認証情報のいずれかを使用する必要があります。これらのエンティティの詳細については、「認証とは」を参照してください。

アクセスコントロール— AWS 管理者は、ポリシーを使用してグローバルアクセラレーターなどの AWS リソースへのアクセスをコントロールします。詳細については、「アクセス制御とは」と「ポリシーとは」を参照してください。

重要

アカウントのすべてのリソースは、その作成者を問わず、アカウントが所有します。リソースを作成するには、アクセス許可が必要です。ただし、リソースを作成しても、そのリソースへのフルアクセスが自動的に許可されるわけではありません。実行するアクションごとに、管理者から明示的にアクセス許可を得る必要があります。管理者は、アクセス許可を随時取り消すこともできます。

IAM の基本的な仕組みを理解するために、以下の用語に精通してください。

リソース

グローバルアクセラレーターや IAM などの AWS のサービスには、通常リソースと呼ばれるオブジェクトが含まれています。ほとんどの場合、サービスでこれらのリソースを作成、管理、および削除できます。IAM リソースには、ユーザー、グループ、ロール、およびポリシーが含まれます。

ユーザー

IAM ユーザーは、認証情報を使用して AWS を操作する人またはアプリケーションです。ユーザーは、AWS マネジメントコンソールにサインインするための名前とパスワード、AWS CLI または AWS API で使用できる最大 2 つのアクセスキーで構成されます。

グループ

IAM グループは、IAM ユーザーのコレクションです。管理者は、グループを使用してメンバーユーザーのアクセス許可を指定できます。これにより、管理者は複数のユーザーのアクセス許可を簡単に管理できます。

ロール

IAM ロールには長期の認証情報 (パスワードやアクセスキー) を関連付けることはできません。どのユーザーでも、アクセス許可があれば、ロールを引き受けることができます。IAM ユーザーは、ロールを引き受けることで、一時的に特定のタスクに対して異なるアクセス許可を取得することができます。フェデレーティッドユーザーは、ロールにマッピングされている外部の ID プロバイダーを使用してロールを引き受けることができます。一部の AWS サービスは、サービスロールお客様の代わりに AWS リソースにアクセスします。

ポリシー

ポリシーは JSON ドキュメントであり、アタッチ先のオブジェクトのアクセス許可を定義します。AWS サポートアイデンティティベースのポリシーアイデンティティ (ユーザー、グループ、またはロール) にアタッチする。一部の AWS サービスでは、リソースベースのポリシーリソースに追加して、プリンシパル (人またはアプリケーション) がそのリソースに対して何ができるかをコントロールできます。グローバルアクセラレータでは、リソースベースのポリシーはサポートされていません。

ID

アイデンティティは、アクセス許可を定義できる IAM リソースです。ユーザー、グループ、およびロールなどがあります。

エンティティ

エンティティは、認証に使用する IAM リソースです。ユーザーやロールなどがあります。

プリンシパル

AWS では、プリンシパルとは、エンティティを使用して AWS にサインインしてリクエストを行う人またはアプリケーションです。プリンシパルは、AWS マネジメントコンソール、AWS CLI、または AWS API を使用してオペレーション (アクセラレーターの削除など) を実行できます。これに伴って、そのオペレーションに対するリクエストが作成されます。リクエストでは、アクションリソースプリンシパルプリンシパルアカウント、その他リクエストに関する情報を指定します。これらのすべての情報により AWS は、contextリクエストをお受けください。AWS は、リクエストのコンテキストに該当するすべてのポリシーをチェックします。AWS は、リクエストの各部分がポリシーで許可されている場合のみ、リクエストを許可します。

認証とアクセスコントロールプロセスの図を表示するには、」IAM の機能について()IAM ユーザーガイド。AWS でリクエストの許可を決定する方法の詳細については、「」を参照してください。ポリシーの評価論理()IAM ユーザーガイド

コンソールアクセス、認証管理、アクセス制御に必要な権限

グローバルアクセラレーターを使用したり、自分や他のユーザーの認証とアクセスコントロールを管理したりするには、適切なアクセス許可を持っている必要があります。

グローバルアクセラレータアクセラレータの作成に必要なアクセス許可

AWS Global Accelerator アクセラレータを作成するには、グローバルアクセラレータに関連付けられたサービスリンクロールを作成する権限が必要です。

Global Accelerator でアクセラレータを作成するための適切なアクセス許可をユーザーに付与するには、次のようなポリシーをユーザーにアタッチします。

注記

より制限された ID ベースのアクセス許可ポリシーを作成している場合、そのポリシーを使用するユーザーはアクセラレーターを作成できません。

{ "Effect": "Allow", "Action": "iam:CreateServiceLinkedRole", "Resource": "*", "Condition": { "StringEquals": { "iam:AWSServiceName": "globalaccelerator.amazonaws.com" } } }, { "Effect": "Allow", "Action": [ "iam:DeleteServiceLinkedRole", "iam:GetServiceLinkedRoleDeletionStatus" ], "Resource": "arn:aws:iam::*:role/aws-service-role/globalaccelerator.amazonaws.com/AWSServiceRoleForGlobalAccelerator*" }

グローバルアクセラレータコンソールの使用に必要なアクセス許可

AWS Global Accelerator コンソールにアクセスするには、AWS アカウントのグローバルアクセラレータリソースに関する詳細を表示して確認するための最低限のアクセス許可が必要です。最小限必要なアクセス許可よりも制限されたアイデンティティベースのアクセス許可ポリシーを作成すると、そのポリシーをアタッチしたエンティティに対してはコンソールが意図したとおりに機能しません。

これらのエンティティが Global Accelerator コンソールまたは API アクションを使用できるように、次の AWS 管理ポリシーもアタッチします (「」を参照)。[JSON] タブでのポリシーの作成:

GlobalAcceleratorReadOnlyAccess GlobalAcceleratorFullAccess

最初のポリシーGlobalAcceleratorReadOnlyAccess、ユーザーがコンソールで情報を表示するか、AWS CLI またはList*またはDescribe*オペレーション.

2 番目のポリシーGlobalAcceleratorFullAccess、アクセラレータを作成または更新する必要があるユーザーに適用されます。フルアクセスポリシーには、FULLグローバルアクセラレータのアクセス許可説明Amazon EC2 および Elastic Load Balancing の権限を付与します。

注記

Amazon EC2 および Elastic Load Balancing に必要なアクセス権限を含まないアイデンティティベースのアクセス権限ポリシーを作成した場合、そのポリシーを持つユーザーは Amazon EC2 および Elastic Load Balancing リソースをアクセラレーターに追加できません。

以下は、フルアクセスポリシーです。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "globalaccelerator:*" ], "Resource": "*" }, { "Effect": "Allow", "Action": [ "ec2:CreateNetworkInterface", "ec2:DescribeNetworkInterfaces", "ec2:DescribeInstances", "ec2:DescribeInternetGateways", "ec2:DescribeSubnets", "ec2:ModifyNetworkInterfaceAttribute", "ec2:DeleteNetworkInterface" ], "Resource": "*" }, { "Effect": "Allow", "Action": "ec2:DeleteSecurityGroup", "Resource": "*", "Condition": { "StringEquals": { "ec2:ResourceTag/AWSServiceName": "GlobalAccelerator" } } }, { "Effect": "Allow", "Action": [ "ec2:CreateSecurityGroup", "ec2:DescribeSecurityGroups" ], "Resource": "*" }, { "Effect": "Allow", "Action": "elasticloadbalancing:DescribeLoadBalancers", "Resource": "*" }, { "Effect": "Allow", "Action": "ec2:CreateTags", "Resource": [ "arn:aws:ec2:*:*:security-group/*", "arn:aws:ec2:*:*:network-interface/*" ] } ] }

認証管理に必要な権限

自分の認証情報 (パスワード、アクセスキー、多要素認証 (MFA) デバイスなど) を管理するには、管理者から必要なアクセス許可を取得する必要があります。これらのアクセス許可が含まれているポリシーを表示するには、「ユーザーに資格情報の自己管理を許可する」を参照してください。

AWS 管理者は、IAM でユーザー、グループ、ロール、ポリシーを管理するために IAM へのフルアクセスが必要です。前提条件AdministratorAccessすべての AWS へのフルアクセスを含む AWS 管理ポリシー。このポリシーは、AWS Billing and Cost Management コンソールへのアクセスを許可しません。また、AWS アカウントのルートユーザー認証情報を必要とするタスクを許可しません。詳細については、「」を参照してください。AWS アカウントのルートユーザーの認証を必要とする AWS タスク()AWS 全般のリファレンス

警告

AWS へのフルアクセスを持つのは、管理者ユーザーに限ります。このポリシーをアタッチされたユーザーは、すべて、認証とアクセスコントロールを完全に管理するアクセス許可と、AWS のすべてのリソースを変更するアクセス許可を付与されます。このユーザーを作成する方法については、「IAM 管理者ユーザーを作成します。」を参照してください。

アクセス制御に必要な権限

管理者から IAM ユーザー認証情報が提供されている場合は、アクセスできるリソースをコントロールするためのポリシーが IAM ユーザーにアタッチされています。AWS Management Console でユーザー ID にアタッチされているポリシーを表示するには、以下のアクセス許可が必要です。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ViewOwnUserInfo", "Effect": "Allow", "Action": [ "iam:GetUserPolicy", "iam:ListGroupsForUser", "iam:ListAttachedUserPolicies", "iam:ListUserPolicies", "iam:GetUser" ], "Resource": [ "arn:aws:iam::*:user/${aws:username}" ] }, { "Sid": "ListUsersViewGroupsAndPolicies", "Effect": "Allow", "Action": [ "iam:GetGroupPolicy", "iam:GetPolicyVersion", "iam:GetPolicy", "iam:ListAttachedGroupPolicies", "iam:ListGroupPolicies", "iam:ListPolicyVersions", "iam:ListPolicies", "iam:ListUsers" ], "Resource": "*" } ] }

追加のアクセス許可が必要な場合は、管理者に依頼し、ポリシーを更新して必要なアクションへのアクセスを許可してもらいます。

グローバルアクセラレータと IAM との連携の理解

サービスでは IAM と連携できます。

アクション

グローバルアクセラレータは、ポリシーでのアクションの使用をサポートしています。これにより、管理者は、グローバルアクセラレータでオペレーションを実行することをエンティティに許可するかどうかをコントロールできます。たとえば、エンティティがGetPolicyAWS API オペレーションを使用してポリシーを表示する場合、管理者はiam:GetPolicyaction.

以下のポリシー例では、ユーザーがCreateAcceleratorオペレーションを使用して、AWS アカウントのアクセラレータをプログラムで作成します。

{ "Version": "2018-08-08", "Statement": [ { "Effect": "Allow", "Action": [ "globalaccelerator:CreateAccelerator" ], "Resource":"*" } ] }
リソースレベルのアクセス許可

グローバルアクセラレータは、リソースレベルのアクセス許可をサポートします。リソースレベルのアクセス許可では、ARN を使用してポリシーで個々のリソースを指定できます。

リソースベースのポリシー

グローバルアクセラレータでは、リソースベースのポリシーはサポートされていません。リソースベースのポリシーでは、サービス内のリソースにポリシーをアタッチできます。リソースベースのポリシーには、Principal要素を使用して、リソースにアクセスできる IAM ID を指定します。

タグに基づいた承認

グローバルアクセラレータは、認証ベースのタグをサポートします。この機能により、ポリシーの条件でリソースタグを使用できます。

一時認証情報

Global Acceleratorer は、一時的な認証情報を使用して、フェデレーションを使用してサインインし、IAM ロールを引き受ける、またはクロスアカウントロールを引き受けることができます。一時的なセキュリティ認証情報を取得するには、AWS STS API オペレーションを呼び出します。AssumeRoleまたはGetFederationToken

サービスにリンクされたロール

グローバルアクセラレータは、サービスにリンクされたロールをサポートします。この機能では、サービスにリンクされたロールをユーザーに代わって引き受けることをサービスに許可します。このロールにより、サービスはユーザーに代わって他のサービスのリソースにアクセスし、アクションを実行できます。サービスにリンクされたロールは、IAM アカウント内に表示され、サービスによって所有されます。IAM 管理者は、サービスにリンクされたロールのアクセス許可を表示できますが、編集することはできません。

サービスロール

グローバルアクセラレータでは、サービスロールはサポートされていません。この機能では、サービスのロールをユーザーに代わって引き受けることをサービスに許可します。このロールにより、サービスはユーザーに代わって他のサービスのリソースにアクセスし、アクションを実行できます。サービスロールは、IAM アカウントに表示され、サービスによって所有されます。つまり、IAM 管理者は、このロールのアクセス許可を変更できます。ただし、これにより、サービスの機能が損なわれる場合があります。

認証とアクセスコントロールのトラブルシューティング

次の情報は、IAM の使用時に発生する可能性がある一般的な問題の診断や修復に役立ちます。

グローバルアクセラレータでアクションを実行する権限がない

AWS マネジメントコンソールから、アクションを実行する権限がないと通知された場合、ユーザー名とパスワードの提供元の管理者に問い合わせる必要があります。

以下の例は、IAM ユーザーの名前がmy-user-nameはコンソールを使用してglobalaccelerator:CreateAcceleratorアクションがありますが、アクセス許可はありません。

User: arn:aws:iam::123456789012:user/my-user-name is not authorized to perform: aws-globalaccelerator:CreateAccelerator on resource: my-example-accelerator

この場合、管理者に依頼し、ポリシーを更新してアクセスを許可してもらいます。my-example-acceleratorリソースを使用してaws-globalaccelerator:CreateAcceleratoraction.

管理者としてグローバルアクセラレータへのアクセスを他のユーザーに許可したい

グローバルアクセラレーターへのアクセスを他のユーザーに許可するには、アクセスを必要とする人またはアプリケーションの IAM エンティティ (ユーザーまたはロール) を作成する必要があります。ユーザーは、このエンティティの認証情報を使用して AWS にアクセスします。次に、グローバルアクセラレータの適切なアクセス許可を付与するポリシーを、そのエンティティにアタッチする必要があります。

すぐに開始するには、「IAM の使用開始」を参照してください。

IAMは専門家にならずに理解したい

IAM の用語、概念、および手順の詳細については、以下のトピックを参照してください。

タグベースのポリシー

IAM ポリシーの設計時に特定のリソースへのアクセスを許可することで、詳細なアクセス許可を設定できます。管理するリソースの数が増えるに従って、このタスクはより困難になります。アクセラレータにタグ付けしてポリシーステートメント条件でタグを使用することにより、このタスクをより容易にすることができます。特定のタグを使用して任意のアクセラレータにアクセス権を一括して付与します。次に、アクセラレーターを作成するとき、または後でアクセラレーターを更新することによって、このタグを関連するアクセラレーターに繰り返し適用します。

注記

条件内でタグを使用することは、リソースとリクエストへのアクセスをコントロールする 1 つの方法です。グローバルアクセラレータでのタグ付けについては、」AWS Global Accelerator でのタグ付け

タグは、リソースにアタッチするか、リクエストでタグ付けをサポートするサービスに渡すことができます。グローバルアクセラレータでは、タグを含めることができるのはアクセラレータだけです。IAM ポリシーを作成するときに、タグ条件キーを使用して以下を制御できます。

  • 既にあるタグに基づいて、どのユーザーがアクセラレータに対してアクションを実行できるか。

  • アクションのリクエストで渡すことができるタグ。

  • リクエストで特定のタグキーを使用できるかどうか。

タグ条件キーの完全な構文とセマンティクスについては、IAM タグを使用してアクセスを制御する()IAM ユーザーガイド

たとえば、グローバルアクセラレータGlobalAcceleratorFullAccess管理ユーザーポリシーは、すべてのリソースに対して任意の Global Accelerator アクションを実行する無制限のアクセス許可をユーザーに付与します。次のポリシーは、この権限を制限し、認証されていないユーザーに対して生産アクセラレーター. お客様の管理者は、管理されたユーザーポリシーに加えて、この IAM ポリシーを未認可の IAM ユーザーにアタッチする必要があります。

{ "Version":"2012-10-17", "Statement":[ { "Effect":"Deny", "Action":"*", "Resource":"*", "Condition":{ "ForAnyValue:StringEquals":{ "aws:RequestTag/stage":"prod" } } }, { "Effect":"Deny", "Action":"*", "Resource":"*", "Condition":{ "ForAnyValue:StringEquals":{ "aws:ResourceTag/stage":"prod" } } } ] }