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

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

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

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

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

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

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

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

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

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

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

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

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

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

Amazon Location コンソールの使用

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

のみを呼び出すユーザーには、最小限のコンソールアクセス許可を付与する必要はありません。 AWS CLI または AWS API。代わりに、実行しようとしているAPIオペレーションに一致するアクションのみへのアクセスを許可します。

ユーザーとロールが Amazon Location コンソールを使用できるようにするには、次のポリシーをエンティティにアタッチします。詳細については、「 ユーザーガイド」の「ユーザーへのアクセス許可の追加IAM」を参照してください。

次のポリシーは、Amazon Location Service コンソールへのアクセスを許可し、 の Amazon Location リソースの詳細を作成、削除、一覧表示、表示できるようにします。 AWS アカウント。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "GeoPowerUser", "Effect": "Allow", "Action": [ "geo:*" ], "Resource": "*" } ] }

または、読み取り専用アクセス権限を付与して、読み取り専用アクセスを容易にすることもできます。読み取り専用権限では、ユーザーがリソースの作成や削除などの書き込み操作を試みると、エラーメッセージが表示されます。例については、「トラッカーリソースの読み取り専用ポリシー」を参照してください。

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

この例では、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": "*" } ] }

ポリシーでの Amazon Location Service リソースの使用

Amazon Location Service リソースに以下のプレフィックスを使用します。

Amazon Location リソースプレフィックス
リソース リソースプレフィックス
マップリソース map
プレースリソース place-index
ルートリソース route-calculator
トラッキングリソース tracker
ジオフェンスコレクションのリソース geofence-collection

次のARN構文を使用します。

arn:Partition:geo:Region:Account:ResourcePrefix/ResourceName

の形式の詳細についてはARNs、「Amazon リソースネーム (ARNs)」および「」を参照してください。 AWS サービス名前空間

  • 以下を使用してARN、指定されたマップリソースへのアクセスを許可します。

    "Resource": "arn:aws:geo:us-west-2:account-id:map/map-resource-name"
  • 特定のアカウントに属するすべての map リソースへのアクセスを指定するには、ワイルドカード (*) を使用します。

    "Resource": "arn:aws:geo:us-west-2:account-id:map/*"
  • リソースの作成を含む、一部の Amazon Location アクションは、特定のリソースで実行できません。このような場合は、ワイルドカード *を使用する必要があります。

    "Resource": "*"

Amazon Location リソースタイプとその のリストを確認するにはARNs、「サービス認証リファレンス」の「Amazon Location Service で定義されるリソース」を参照してください。各リソースARNの を指定できるアクションについては、「Amazon Location Service で定義されるアクション」を参照してください。

デバイスの位置を更新する権限

複数のトラッカーのデバイス位置を更新するには、1 つ以上のトラッカーリソースへのアクセス権をユーザーに付与する必要があります。また、ユーザーがデバイスの位置を一括更新できるようにしたいとします。

この例では、 へのアクセスを許可するだけでなく、Tracker1 また、Tracker2 リソース、次のポリシーは、 に対して geo:BatchUpdateDevicePositionアクションを使用するアクセス許可を付与します。Tracker1 また、Tracker2 リソースの使用料金を見積もることができます。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "UpdateDevicePositions", "Effect": "Allow", "Action": [ "geo:BatchUpdateDevicePosition" ], "Resource": [ "arn:aws:geo:us-west-2:account-id:tracker/Tracker1", "arn:aws:geo:us-west-2:account-id:tracker/Tracker2" ] } ] }

ユーザーが特定のデバイスのデバイス位置のみを更新できるように制限したい場合は、そのデバイス ID に条件キーを追加できます。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "UpdateDevicePositions", "Effect": "Allow", "Action": [ "geo:BatchUpdateDevicePosition" ], "Resource": [ "arn:aws:geo:us-west-2:account-id:tracker/Tracker1", "arn:aws:geo:us-west-2:account-id:tracker/Tracker2" ], "Condition":{ "ForAllValues:StringLike":{ "geo:DeviceIds":[ "deviceId" ] } } } ] }

トラッカーリソースの読み取り専用ポリシー

内のすべてのトラッカーリソースの読み取り専用ポリシーを作成するには AWS アカウント、すべてのトラッカーリソースへのアクセスを許可する必要があります。また、複数の端末の端末位置の取得、単一の端末からの端末位置の取得、位置履歴の取得を可能にするアクションへのアクセス権をユーザーに付与する必要があります。

この例では、次のポリシーは次のアクションにアクセス権限を付与します。

  • geo:BatchGetDevicePosition を使用して複数のデバイスの位置を取得します。

  • geo:GetDevicePosition を使用して 1 つのデバイスの位置を取得します。

  • geo:GetDevicePositionHistory を使用してデバイスの位置履歴を取得します。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "GetDevicePositions", "Effect": "Allow", "Action": [ "geo:BatchGetDevicePosition", "geo:GetDevicePosition", "geo:GetDevicePositionHistory" ], "Resource": "arn:aws:geo:us-west-2:account-id:tracker/*" } ] }

ジオフェンスの作成に関するポリシー

ユーザーにジオフェンスの作成を許可するポリシーを作成するには、ユーザーがジオフェンスコレクションに 1 つ以上のジオフェンスを作成できるようにする特定のアクションへのアクセスを許可する必要があります。

以下のポリシーは、 に対する以下のアクションへのアクセス許可を付与します。Collection:

  • geo:BatchPutGeofence を使用して複数のジオフェンスを作成します。

  • geo:PutGeofence を使用して 1 つのジオフェンスを作成します。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "CreateGeofences", "Effect": "Allow", "Action": [ "geo:BatchPutGeofence", "geo:PutGeofence" ], "Resource": "arn:aws:geo:us-west-2:account-id:geofence-collection/Collection" } ] }

ジオフェンスの読み取り専用ポリシー

のジオフェンスコレクションに保存されているジオフェンスの読み取り専用ポリシーを作成するには AWS アカウントでは、ジオフェンスを保存するジオフェンスコレクションから読み取るアクションへのアクセスを許可する必要があります。

以下のポリシーは、 に対する以下のアクションへのアクセス許可を付与します。Collection:

  • geo:ListGeofences は、指定されたジオフェンスコレクション内のジオフェンスを一覧表示します。

  • geo:GetGeofence は、ジオフェンスコレクションからジオフェンスを取得します。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "GetGeofences", "Effect": "Allow", "Action": [ "geo:ListGeofences", "geo:GetGeofence" ], "Resource": "arn:aws:geo:us-west-2:account-id:geofence-collection/Collection" } ] }

マップリソースをレンダリングする権限

マップをレンダリングするための十分な権限を付与するには、マップタイル、スプライト、グリフ、スタイル記述子へのアクセスを許可する必要があります。

  • geo:GetMapTile は、マップ上のフィーチャを選択的にレンダリングするために使用するマップタイルを取得します。

  • geo:GetMapSprites はPNG、スプライトシートとその中のオフセットを記述する対応するJSONドキュメントを取得します。

  • geo:GetMapGlyphs は、テキストの表示に使用されるグリフを取得します。

  • geo:GetMapStyleDescriptor は、レンダリングルールを含むマップのスタイル記述子を取得します。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "GetTiles", "Effect": "Allow", "Action": [ "geo:GetMapTile", "geo:GetMapSprites", "geo:GetMapGlyphs", "geo:GetMapStyleDescriptor" ], "Resource": "arn:aws:geo:us-west-2:account-id:map/Map" } ] }

検索操作を許可する権限

検索オペレーションを許可するポリシーを作成するには、まず 内の場所インデックスリソースへのアクセスを許可する必要があります。 AWS アカウント。また、ユーザーがジオコーディングでテキストを使用して検索したり、リバースジオコーディングで位置を使用して検索したりできるようにするアクションへのアクセス権を付与する必要があります。

この例では、 へのアクセスを許可するだけでなく、PlaceIndex、次のポリシーは、次のアクションにもアクセス許可を付与します。

  • geo:SearchPlaceIndexForPosition は、特定の位置の近くの場所や興味のあるポイントを検索できます。

  • geo:SearchPlaceIndexForText は、自由形式のテキストを使用して、住所、名前、都市、または地域を検索できます。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "Search", "Effect": "Allow", "Action": [ "geo:SearchPlaceIndexForPosition", "geo:SearchPlaceIndexForText" ], "Resource": "arn:aws:geo:us-west-2:account-id:place-index/PlaceIndex" } ] }

ルート計算ツールの読み取り専用ポリシー

ユーザーがルート計算リソースにアクセスしてルートを計算できるようにする読み取り専用ポリシーを作成できます。

この例では、 へのアクセスを許可するだけでなく、ExampleCalculator、次のポリシーは、次のオペレーションにアクセス許可を付与します。

  • geo:CalculateRoute は、出発位置、目的地位置、および経由地の位置のリストを考慮してルートを計算します。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "RoutesReadOnly", "Effect": "Allow", "Action": [ "geo:CalculateRoute" ], "Resource": "arn:aws:geo:us-west-2:accountID:route-calculator/ExampleCalculator" } ] }

条件キーに基づいてリソースアクセスを制御する

ジオフェンスまたはデバイスの位置を使用するためのアクセスを許可する IAMポリシーを作成する場合、条件演算子を使用して、ユーザーがアクセスできるジオフェンスまたはデバイスをより正確に制御できます。そのためには、ポリシーの Condition 要素にジオフェンス ID またはデバイス ID を含める必要があります。

次のポリシー例は、ユーザーが特定のデバイスのデバイス位置を更新することを許可するポリシーの作成方法を示しています。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "UpdateDevicePositions", "Effect": "Allow", "Action": [ "geo:BatchUpdateDevicePosition" ], "Resource": [ "arn:aws:geo:us-west-2:account-id:tracker/Tracker" ], "Condition":{ "ForAllValues:StringLike":{ "geo:DeviceIds":[ "deviceId" ] } } } ] }

タグに基づいて リソースへのアクセスを制御する

Amazon Location リソースを使用するためのアクセスを許可する IAMポリシーを作成する場合、属性ベースのアクセスコントロールを使用して、ユーザーが変更、使用、または削除できるリソースをより適切に制御できます。そのためには、ポリシーの Condition 要素に タグ 情報を含めて、リソースタグに基づいてアクセスを制御します。

次のポリシー例は、ユーザーにジオフェンスを作成することを許可するポリシーの作成方法を示しています。これにより、 というジオフェンスコレクションに 1 つ以上のジオフェンスを作成するアクセス許可が次のアクションに付与されます。Collection:

  • geo:BatchPutGeofence を使用して複数のジオフェンスを作成します。

  • geo:PutGeofence を使用して 1 つのジオフェンスを作成します。

ただし、このポリシーでは、 Condition要素を使用して、Collection tag、 Ownerには、そのユーザーのユーザー名の値があります。

  • 例えば、 という名前のユーザーが Amazon Location を表示richard-roeしようとする場合 CollectionCollection には Owner=richard-roeまたは のタグを付ける必要がありますowner=richard-roe。それ以外の場合、ユーザーはアクセスを拒否されます。

    注記

    条件キー名では大文字と小文字が区別されないため、条件タグキー OwnerOwnerowner の両方に一致します。詳細については、「 ユーザーガイド」のIAMJSON「ポリシー要素: 条件IAM」を参照してください。

{ "Version": "2012-10-17", "Statement": [ { "Sid": "CreateGeofencesIfOwner", "Effect": "Allow", "Action": [ "geo:BatchPutGeofence", "geo:PutGeofence" ], "Resource": "arn:aws:geo:us-west-2:account-id:geofence-collection/Collection", "Condition": { "StringEquals": {"geo:ResourceTag/Owner": "${aws:username}"} } } ] }

タグ に基づいて AWSリソースにアクセスするためのアクセス許可を定義する方法のチュートリアルについては、「」を参照してください。 AWS Identity and Access Management ユーザーガイド