Amazon のアイデンティティベースのポリシーの例 GameLift - Amazon GameLift

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

Amazon のアイデンティティベースのポリシーの例 GameLift

デフォルトでは、ユーザーとロールには Amazon GameLift リソースを作成または変更するアクセス許可がありません。また、、 AWS Command Line Interface (AWS CLI) AWS Management Console、または を使用してタスクを実行することはできません AWS API。必要なリソースに対してアクションを実行するアクセス許可をユーザーに付与するには、IAM管理者はIAMポリシーを作成できます。その後、管理者はIAMポリシーをロールに追加し、ユーザーはロールを引き受けることができます。

これらのポリシードキュメント例を使用して IAM ID ベースのJSONポリシーを作成する方法については、IAM「 ユーザーガイド」のIAM「ポリシーの作成」を参照してください。

ARNs 各リソースタイプの の形式など GameLift、Amazon で定義されるアクションとリソースタイプの詳細については、「サービス認証リファレンス」の「Amazon のアクション、リソース、および条件キー GameLift」を参照してください。

ポリシーのベストプラクティス

ID ベースのポリシーは、アカウント内の Amazon GameLift リソースを作成、アクセス、または削除できるかどうかを決定します。これらのアクションを実行すると、 AWS アカウントに料金が発生する可能性があります。アイデンティティベースポリシーを作成したり編集したりする際には、以下のガイドラインと推奨事項に従ってください:

  • AWS マネージドポリシーを開始し、最小権限のアクセス許可に移行 – ユーザーとワークロードへのアクセス許可の付与を開始するには、多くの一般的なユースケースのアクセス許可を付与するAWS マネージドポリシーを使用します。これらは で使用できます AWS アカウント。ユースケースに固有の AWS カスタマー管理ポリシーを定義することで、アクセス許可をさらに減らすことをお勧めします。詳細については、IAM「 ユーザーガイド」の「 AWS 管理ポリシーAWS 」または ジョブ機能の 管理ポリシーを参照してください。

  • 最小権限のアクセス許可を適用する – IAMポリシーでアクセス許可を設定する場合、タスクの実行に必要なアクセス許可のみを付与します。これを行うには、特定の条件下で特定のリソースに対して実行できるアクションを定義します。これは、最小特権アクセス許可とも呼ばれています。IAM を使用してアクセス許可を適用する方法の詳細については、IAM「 ユーザーガイド」の「 のポリシーとアクセス許可IAM」を参照してください。

  • IAM ポリシーの条件を使用してアクセスをさらに制限する – ポリシーに条件を追加して、アクションとリソースへのアクセスを制限できます。例えば、ポリシー条件を記述して、すべてのリクエストを を使用して送信する必要があることを指定できますSSL。また、 などの特定の を通じてサービスアクションが使用されている場合は AWS のサービス、 条件を使用してサービスアクションへのアクセスを許可することもできます AWS CloudFormation。詳細については、IAM「 ユーザーガイド」のIAMJSON「ポリシー要素: 条件」を参照してください。

  • IAM Access Analyzer を使用してIAMポリシーを検証し、安全で機能的なアクセス許可を確保する – IAM Access Analyzer は、ポリシーがポリシー言語 (JSON) とIAMベストプラクティスに準拠するように、新規および既存のIAMポリシーを検証します。IAM Access Analyzer には、安全で機能的なポリシーの作成に役立つ 100 を超えるポリシーチェックと実用的なレコメンデーションが用意されています。詳細については、IAM「 ユーザーガイド」のIAM「Access Analyzer ポリシーの検証」を参照してください。

  • 多要素認証が必要 (MFA) – でIAMユーザーまたはルートユーザーを必要とするシナリオがある場合は AWS アカウント、 をオンにMFAしてセキュリティを強化します。API オペレーションが呼び出されるMFAタイミングを要求するには、ポリシーにMFA条件を追加します。詳細については、IAM「 ユーザーガイド」のMFA「保護APIアクセスの設定」を参照してください。

のベストプラクティスの詳細についてはIAM、「 ユーザーガイド」の「 のセキュリティのベストプラクティスIAM」を参照してください。 IAM

Amazon GameLift コンソールの使用

Amazon GameLift コンソールにアクセスするには、最小限のアクセス許可のセットが必要です。これらのアクセス許可により、 内の Amazon GameLift リソースの詳細を一覧表示および表示できます AWS アカウント。最小限必要な許可よりも制限が厳しいアイデンティティベースのポリシーを作成すると、そのポリシーを持つエンティティ (ユーザーまたはロール) に対してコンソールが意図したとおりに機能しません。

これらのエンティティが引き続き Amazon GameLift コンソールを使用できるようにするには、次の例と の構文を使用して、ユーザーとグループにアクセス許可を追加します管理者アクセス許可の例。詳細については、「Amazon のユーザーアクセス許可を設定する GameLift」を参照してください。

AWS CLI または AWS API オペレーション GameLift を介して Amazon を操作するユーザーには、コンソールの最小限のアクセス許可は必要ありません。代わりに、ユーザーが実行する必要のあるオペレーションのみにアクセスを制限できます。例えば、ゲームクライアントに代わって行動するプレイヤーユーザーは、ゲームセッションをリクエストしたり、プレイヤーをゲームに参加させたり、その他のタスクを実行するためのアクセスを必要とします。

すべての Amazon GameLift コンソール機能を使用するために必要なアクセス許可の詳細については、「」の「管理者のアクセス許可構文」を参照してください管理者アクセス許可の例

自分の権限の表示をユーザーに許可する

この例では、IAMユーザーがユーザー ID にアタッチされているインラインポリシーとマネージドポリシーを表示できるようにするポリシーを作成する方法を示します。このポリシーには、コンソールで、または AWS CLI または を使用してプログラムでこのアクションを実行するアクセス許可が含まれています AWS API。

{ "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": "NavigateInConsole", "Effect": "Allow", "Action": [ "iam:GetGroupPolicy", "iam:GetPolicyVersion", "iam:GetPolicy", "iam:ListAttachedGroupPolicies", "iam:ListGroupPolicies", "iam:ListPolicyVersions", "iam:ListPolicies", "iam:ListUsers" ], "Resource": "*" } ] }

ゲームセッションへのプレイヤーのアクセスを許可する

プレイヤーをゲームセッションに参加させるには、ゲームクライアントとバックエンドサービスにアクセス許可が必要です。これらのシナリオのポリシー例については、「プレイヤーユーザーアクセス許可の例」を参照してください。

1 つの Amazon GameLift キューへのアクセスを許可する

次の例では、特定の Amazon GameLift キューへのアクセス権をユーザーに付与します。

このポリシーは、gamelift:UpdateGameSessionQueuegamelift:DeleteGameSessionQueue および gamelift:DescribeGameSessionQueues のアクションでキューの送信先を追加、更新、削除するアクセス許可をユーザーに付与します。図に示すように、このポリシーは Resource 要素を使用して、単一のキュー gamesessionqueue/examplequeue123 へのアクセスを制限します。

{ "Version":"2012-10-17", "Statement":[ { "Sid":"ViewSpecificQueueInfo", "Effect":"Allow", "Action":[ "gamelift:DescribeGameSessionQueues" ], "Resource":"arn:aws:gamelift:::gamesessionqueue/examplequeue123" }, { "Sid":"ManageSpecificQueue", "Effect":"Allow", "Action":[ "gamelift:UpdateGameSessionQueue", "gamelift:DeleteGameSessionQueue" ], "Resource":"arn:aws:gamelift:::gamesessionqueue/examplequeue123" } ] }

タグに基づいて Amazon GameLift フリートを表示する

ID ベースのポリシーの条件を使用して、タグに基づいて Amazon GameLift リソースへのアクセスを制御できます。この例は、Owner タグがユーザーのユーザー名と一致した場合にフリートの表示を許可するポリシーを作成する方法を示しています。このポリシーでは、このオペレーションをコンソールで実行するために必要なアクセス許可も付与します。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "ListFleetsInConsole", "Effect": "Allow", "Action": "gamelift:ListFleets", "Resource": "*" }, { "Sid": "ViewFleetIfOwner", "Effect": "Allow", "Action": "gamelift:DescribeFleetAttributes", "Resource": "arn:aws:gamelift:*:*:fleet/*", "Condition": { "StringEquals": {"gamelift:ResourceTag/Owner": "${aws:username}"} } } ] }

Amazon S3 でゲームビルドファイルにアクセスする

ゲームサーバーを Amazon と統合したら GameLift、ビルドファイルを Amazon S3 にアップロードします。Amazon がビルドファイル GameLift にアクセスするには、次のポリシーを使用します。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": [ "s3:GetObject", "s3:GetObjectVersion" ], "Resource": "arn:aws:s3:::bucket-name/object-name" } ] }

Amazon GameLift ゲームファイルのアップロードの詳細については、「」を参照してくださいAmazon 用のカスタムサーバービルドをデプロイする GameLift