を使用して認証 AWS Identity and Access Management する - Amazon Location Service

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

を使用して認証 AWS Identity and Access Management する

AWS Identity and Access Management (IAM) は、管理者が AWS リソースへのアクセスを安全に制御 AWS のサービス するのに役立つ です。IAM 管理者は、誰が Amazon Location リソースの使用を認証 (サインイン) および承認 (アクセス許可を付与する) できるかを制御します。IAM は、追加料金なしで使用できる AWS のサービス です。

対象者

AWS Identity and Access Management (IAM) の使用方法は、ロールによって異なります。

アイデンティティを使用した認証

認証とは、ID 認証情報 AWS を使用して にサインインする方法です。、IAM ユーザー AWS アカウントのルートユーザー、または IAM ロールを引き受けることで認証される必要があります。

AWS IAM Identity Center (IAM Identity Center)、シングルサインオン認証、Google/Facebook 認証情報などの ID ソースからの認証情報を使用して、フェデレーティッド ID としてサインインできます。サインインの詳細については、「 AWS サインイン ユーザーガイド」の「 にサインインする方法 AWS アカウント」を参照してください。

プログラムによるアクセスの場合、 は SDK と CLI AWS を提供してリクエストを暗号化して署名します。詳細については、IAM ユーザーガイドAWS 「API リクエストの署名バージョン 4」を参照してください。

AWS アカウント ルートユーザー

を作成するときは AWS アカウント、すべての AWS のサービス および リソースへの完全なアクセス権を持つ AWS アカウント ルートユーザーと呼ばれる 1 つのサインインアイデンティティから始めます。日常的なタスクにはルートユーザーを使用しないことを強くお勧めします。ルートユーザー認証情報を必要とするタスクについては、IAM ユーザーガイドの「ルートユーザー認証情報を必要とするタスク」を参照してください。

フェデレーテッドアイデンティティ

ベストプラクティスとして、人間のユーザーが一時的な認証情報 AWS のサービス を使用して にアクセスするには、ID プロバイダーとのフェデレーションを使用する必要があります。

フェデレーティッド ID は、エンタープライズディレクトリ、ウェブ ID プロバイダー、または ID Directory Service ソースの認証情報 AWS のサービス を使用して にアクセスするユーザーです。フェデレーティッドアイデンティティは、一時的な認証情報を提供するロールを引き受けます。

一元的なアクセス管理を行うには、 をお勧めします AWS IAM Identity Center。詳細については、「AWS IAM Identity Center ユーザーガイド」の「What is IAM Identity Center?」(IAM Identity Center とは?) を参照してください。

IAM ユーザーとグループ

IAM ユーザーは、1 人のユーザーまたはアプリケーションに対して特定のアクセス許可を持つ ID です。長期認証情報を持つ IAM ユーザーの代わりに一時的な認証情報を使用することをお勧めします。詳細については、IAM ユーザーガイド「ID プロバイダーとのフェデレーションを使用して にアクセスすることを人間 AWS のユーザーに要求する」を参照してください。

IAM グループは IAM ユーザーのコレクションを指定し、大量のユーザーのアクセス許可の管理を容易にします。詳細については、IAM ユーザーガイドの「IAM ユーザーのユースケース」を参照してください。

IAM; ロール

IAM ロールは、一時的な認証情報を提供する特定のアクセス許可を持つ ID です。ユーザーから IAM ロール (コンソール) に切り替えるか、 または API オペレーションを呼び出すことで、ロールを引き受けることができます。 AWS CLI AWS 詳細については、「IAM ユーザーガイド」の「ロールを引き受けることができない」を参照してください。

IAM ロールは、フェデレーティッドユーザーアクセス、一時的な IAM ユーザーアクセス許可、クロスアカウントアクセス、クロスサービスアクセス、および Amazon EC2 で実行されているアプリケーションに役立ちます。詳細については、「IAM ユーザーガイド」の「IAM でのクロスアカウントリソースアクセス」を参照してください。

ポリシーを使用したアクセスの管理

でアクセスを制御する AWS には、ポリシーを作成し、ID AWS またはリソースにアタッチします。ポリシーは、アイデンティティまたはリソースに関連付けられている場合のアクセス許可を定義します。 は、プリンシパルがリクエストを行うときにこれらのポリシー AWS を評価します。ほとんどのポリシーは JSON ドキュメント AWS として に保存されます。JSON ポリシードキュメントの詳細については、IAM ユーザーガイドの「JSON ポリシーの概要」を参照してください。

ポリシーを使用して、管理者は、どのプリンシパルがどのリソースに対してどの条件でアクションを実行できるかを定義することで、誰が何にアクセスできるかを指定します。

デフォルトでは、ユーザーやロールに権限はありません。IAM 管理者は IAM ポリシーを作成し、ユーザーが引き受けることができるロールに追加します。IAM ポリシーは、オペレーションの実行に使用される方法に関係なく、アクセス許可を定義します。

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

ID ベースのポリシーは、ID (ユーザー、グループ、またはロール) にアタッチする JSON アクセス許可ポリシードキュメントです。これらのポリシーは、ID が実行できるアクション、リソース、および条件を制御します。アイデンティティベースポリシーの作成方法については、「IAM ユーザーガイド」の「カスタマー管理ポリシーでカスタム IAM アクセス許可を定義する」を参照してください。

ID ベースのポリシーは、インラインポリシー (単一の ID に直接埋め込む) または 管理ポリシー (複数の ID にアタッチされたスタンドアロンポリシー) にすることができます。管理ポリシーとインラインポリシーを選択する方法については、IAM ユーザーガイド「管理ポリシーとインラインポリシーの選択」を参照してください。

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

リソースベースのポリシーは、リソースにアタッチする JSON ポリシードキュメントです。例としては、IAM ロールの信頼ポリシーや Amazon S3 バケットポリシーなどがあります。リソースベースのポリシーをサポートするサービスでは、サービス管理者はポリシーを使用して特定のリソースへのアクセスをコントロールできます。リソースベースのポリシーで、プリンシパルを指定する必要があります。

リソースベースのポリシーは、そのサービス内にあるインラインポリシーです。リソースベースのポリシーでは、IAM の AWS マネージドポリシーを使用できません。

その他のポリシータイプ

AWS は、より一般的なポリシータイプによって付与されるアクセス許可の上限を設定できる追加のポリシータイプをサポートしています。

  • アクセス許可の境界 — アイデンティティベースのポリシーが IAM エンティティに付与できるアクセス許可の上限を設定します。詳細については、「IAM ユーザーガイド」の「IAM エンティティのアクセス許可境界」を参照してください。

  • サービスコントロールポリシー (SCPs) – 内の組織または組織単位の最大アクセス許可を指定します AWS Organizations。詳細については、AWS Organizations ユーザーガイドの「サービスコントロールポリシー」を参照してください。

  • リソースコントロールポリシー (RCPs) – アカウント内のリソースに使用可能なアクセス許可の上限を設定します。詳細については、「AWS Organizations ユーザーガイド」の「リソースコントロールポリシー (RCP)」を参照してください。

  • セッションポリシー – ロールまたはフェデレーティッドユーザーの一時セッションを作成するときにパラメータとして渡される高度なポリシー。詳細については、「IAM ユーザーガイド」の「セッションポリシー」を参照してください。

複数のポリシータイプ

1 つのリクエストに複数のタイプのポリシーが適用されると、結果として作成される権限を理解するのがさらに難しくなります。が複数のポリシータイプが関与する場合にリクエストを許可するかどうか AWS を決定する方法については、「IAM ユーザーガイド」の「ポリシー評価ロジック」を参照してください。

Amazon Location Service と IAM の連携

IAM を使用して Amazon Location へのアクセスを管理する前に、Amazon Location で使用できる IAM 機能について理解しておく必要があります。

Amazon Location およびその他の AWS のサービスがほとんどの IAM 機能と連携する方法の概要については、「IAM ユーザーガイド」のAWS 「IAM と連携する のサービス」を参照してください。

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

アイデンティティベースのポリシーのサポート: あり

アイデンティティベースポリシーは、IAM ユーザー、ユーザーグループ、ロールなど、アイデンティティにアタッチできる JSON 許可ポリシードキュメントです。これらのポリシーは、ユーザーとロールが実行できるアクション、リソース、および条件をコントロールします。ID ベースのポリシーの作成方法については、「IAM ユーザーガイド」の「カスタマー管理ポリシーでカスタム IAM アクセス許可を定義する」を参照してください。

IAM アイデンティティベースのポリシーでは、許可または拒否するアクションとリソース、およびアクションを許可または拒否する条件を指定できます。JSON ポリシーで使用できるすべての要素について学ぶには、「IAM ユーザーガイド」の「IAM JSON ポリシーの要素のリファレンス」を参照してください。

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

Amazon Location のアイデンティティベースポリシーの例を確認するには、「Amazon Location Service のアイデンティティベースのポリシーの例」を参照してください。

Amazon Location 内のリソースベースのポリシー

リソースベースのポリシーのサポート: なし

リソースベースのポリシーは、リソースに添付する JSON ポリシードキュメントです。リソースベースのポリシーには例として、IAM ロールの信頼ポリシーや Amazon S3 バケットポリシーがあげられます。リソースベースのポリシーをサポートするサービスでは、サービス管理者はポリシーを使用して特定のリソースへのアクセスを制御できます。ポリシーがアタッチされているリソースの場合、指定されたプリンシパルがそのリソースに対して実行できるアクションと条件は、ポリシーによって定義されます。リソースベースのポリシーでは、プリンシパルを指定する必要があります。プリンシパルには、アカウント、ユーザー、ロール、フェデレーティッドユーザー、または を含めることができます AWS のサービス。

クロスアカウントアクセスを有効にするには、全体のアカウント、または別のアカウントの IAM エンティティを、リソースベースのポリシーのプリンシパルとして指定します。詳細については、「IAM ユーザーガイド」の「IAM でのクロスアカウントリソースアクセス」を参照してください。

Amazon Location のポリシーアクション

ポリシーアクションのサポート:あり

管理者は JSON AWS ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どのプリンシパルがどのリソースに対してどのような条件下でアクションを実行できるかということです。

JSON ポリシーの Action 要素にはポリシー内のアクセスを許可または拒否するために使用できるアクションが記述されます。このアクションは関連付けられたオペレーションを実行するためのアクセス許可を付与するポリシーで使用されます。

Amazon Location のアクションのリストについては、サービス認可リファレンスの「Amazon Location Service によって定義されるアクション」を参照してください。

Amazon Location のポリシーアクションは、アクションの前にプレフィックスを使用します。

geo

単一のステートメントで複数のアクションを指定するには、アクションをカンマで区切ります。

"Action": [ "geo:action1", "geo:action2" ]

ワイルドカード (*) を使用して複数アクションを指定できます。例えば、Get という単語で始まるすべてのアクションを指定するには次のアクションを含めます。

"Action": "geo:Get*"

Amazon Location のアイデンティティベースポリシーの例を確認するには、「Amazon Location Service のアイデンティティベースのポリシーの例」を参照してください。

Amazon Location のポリシーリソース

ポリシーリソースのサポート: あり

管理者は JSON AWS ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どのプリンシパルがどのリソースに対してどのような条件下でアクションを実行できるかということです。

Resource JSON ポリシー要素はアクションが適用されるオブジェクトを指定します。ベストプラクティスとして、Amazon リソースネーム (ARN) を使用してリソースを指定します。リソースレベルのアクセス許可をサポートしていないアクションの場合、ワイルドカード (*) を使用して、ステートメントがすべてのリソースに適用されることを示します。

"Resource": "*"

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

Amazon Location のアイデンティティベースポリシーの例を確認するには、「Amazon Location Service のアイデンティティベースのポリシーの例」を参照してください。

Amazon Location のポリシー条件キー

サービス固有のポリシー条件キーのサポート: あり

管理者は JSON AWS ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どのプリンシパルがどのリソースに対してどのような条件下でアクションを実行できるかということです。

Condition 要素は、定義された基準に基づいてステートメントが実行されるタイミングを指定します。イコールや未満などの 条件演算子 を使用して条件式を作成して、ポリシーの条件とリクエスト内の値を一致させることができます。すべての AWS グローバル条件キーを確認するには、「IAM ユーザーガイド」のAWS 「グローバル条件コンテキストキー」を参照してください。

Amazon Location の条件キーのリストについては、サービス認可リファレンスの「Amazon Location Service の条件キー」を参照してください。条件キーを使用できるアクションとリソースについては、「Amazon Location Service で定義されるアクション」を参照してください。

Amazon Location では、ポリシーステートメント内の特定のジオフェンスまたはデバイスへのアクセスを許可または拒否できる条件キーをサポートしています。次の条件キーが使用可能です。

  • ジオフェンス アクションで使用する geo:GeofenceIds。タイプは ArrayOfString です。

  • トラッカーアクションで使用する geo:DeviceIds。タイプは ArrayOfString です。

IAM ポリシーの geo:GeofenceIds では、次のアクションを使用できます。

  • BatchDeleteGeofences

  • BatchPutGeofences

  • GetGeofence

  • PutGeofence

IAM ポリシーの geo:DeviceIds では、次のアクションを使用できます。

  • BatchDeleteDevicePositionHistory

  • BatchGetDevicePosition

  • BatchUpdateDevicePosition

  • GetDevicePosition

  • GetDevicePositionHistory

注記

これらの条件キーはBatchEvaluateGeofencesListGeofencesListDevicePositionまたはアクションでは使用できません。

Amazon Location のアイデンティティベースポリシーの例を確認するには、「Amazon Location Service のアイデンティティベースのポリシーの例」を参照してください。

Amazon Location での ACL

ACL のサポート: なし

アクセスコントロールリスト (ACL) は、どのプリンシパル (アカウントメンバー、ユーザー、またはロール) がリソースにアクセスするための許可を持つかを制御します。ACL はリソースベースのポリシーに似ていますが、JSON ポリシードキュメント形式は使用しません。

ABAC と Amazon Location

ABAC (ポリシー内のタグ) のサポート: あり

属性ベースのアクセスコントロール (ABAC) は、タグと呼ばれる属性に基づいてアクセス許可を定義する認可戦略です。IAM エンティティと AWS リソースにタグをアタッチし、プリンシパルのタグがリソースのタグと一致するときにオペレーションを許可するように ABAC ポリシーを設計できます。

タグに基づいてアクセスを管理するには、aws:ResourceTag/key-nameaws:RequestTag/key-name、または aws:TagKeys の条件キーを使用して、ポリシーの 条件要素でタグ情報を提供します。

サービスがすべてのリソースタイプに対して 3 つの条件キーすべてをサポートする場合、そのサービスの値はありです。サービスが一部のリソースタイプに対してのみ 3 つの条件キーのすべてをサポートする場合、値は「部分的」になります。

ABAC の詳細については、「IAM ユーザーガイド」の「ABAC 認可でアクセス許可を定義する」を参照してください。ABAC をセットアップする手順を説明するチュートリアルについては、「IAM ユーザーガイド」の「属性ベースのアクセスコントロール (ABAC) を使用する」を参照してください。

Amazon Location リソースのタグ付けの詳細については、「タグの使用方法」を参照してください。

リソースのタグに基づいてリソースへのアクセスを制限するためのアイデンティティベースポリシーの例を表示するには、「タグに基づいて リソースへのアクセスを制御する」を参照してください。

Amazon Location での一時的な認証情報の使用

一時的な認証情報のサポート: あり

一時的な認証情報は、 AWS リソースへの短期的なアクセスを提供し、フェデレーションまたはスイッチロールの使用時に自動的に作成されます。 AWS では、長期的なアクセスキーを使用する代わりに、一時的な認証情報を動的に生成することをお勧めします。詳細については、IAM ユーザーガイドの「IAM および IAM と連携する一時的なセキュリティ認証情報」を参照してください。 AWS のサービス

Amazon Location のクロスサービスプリンシパル許可

転送アクセスセッション (FAS) のサポート: なし

転送アクセスセッション (FAS) は、 を呼び出すプリンシパルのアクセス許可と AWS のサービス、ダウンストリームサービス AWS のサービス へのリクエストをリクエストする を使用します。FAS リクエストを行う際のポリシーの詳細については、「転送アクセスセッション」を参照してください。

Amazon Location のサービスロール

サービスロールのサポート: なし

サービスロールとは、サービスがユーザーに代わってアクションを実行するために引き受ける IAM ロールです。IAM 管理者は、IAM 内からサービスロールを作成、変更、削除できます。詳細については、「IAM ユーザーガイド」の「AWS のサービスに許可を委任するロールを作成する」を参照してください。

警告

サービスロールの許可を変更すると、Amazon Location の機能が破損する可能性があります。Amazon Location が指示する場合以外は、サービスロールを編集しないでください。

Amazon Location のサービスリンクロール

サービスにリンクされたロールのサポート: なし

サービスにリンクされたロールは、 にリンクされたサービスロールの一種です AWS のサービス。サービスは、ユーザーに代わってアクションを実行するロールを引き受けることができます。サービスにリンクされたロールは に表示され AWS アカウント 、サービスによって所有されます。IAM 管理者は、サービスにリンクされたロールのアクセス許可を表示できますが、編集することはできません。

サービスにリンクされたロールの作成または管理の詳細については、「IAM と提携するAWS のサービス」を参照してください。表の「サービスリンクロール」列に Yes と記載されたサービスを見つけます。サービスにリンクされたロールに関するドキュメントをサービスで表示するには、[はい] リンクを選択します。

認証されていないユーザーに対する Amazon Location Service の仕組み

ウェブやモバイルアプリケーションでのマップ表示など、Amazon Location Service を使用する多くのシナリオでは、IAM でサインインしていないユーザーにアクセスを許可する必要があります。このような認証されていないシナリオでは、2 つのオプションがあります。

  • API キーを使用する — 認証されていないユーザーにアクセス権を付与するには、Amazon Location Service リソースへの読み取り専用アクセスを許可する API キーを作成できます。これは、すべてのユーザーを認証したくない場合に便利です。例えば、Web アプリケーションなどです。API キーに関する詳細については、「API キーを使用して認証する」を参照してください。

  • Amazon Cognito を使用する — API キーに代わる方法として、Amazon Cognito を使用して匿名アクセスを許可する方法があります。Amazon Cognito では、認証されていないユーザーが実行できる操作を定義する IAM ポリシーを使用して、より詳細な認可を作成できます。Amazon Cognito の使用方法の詳細については、「ウェブで Amazon Cognito ID プールを使用する」を参照してください。

認証されていないユーザーにアクセス権を与える方法の概要については、「Amazon Location Service による認証」を参照してください。

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

デフォルトでは、ユーザーとロールには Amazon Location リソースを作成または変更するアクセス許可がありません。IAM 管理者は、リソースで必要なアクションを実行するための権限をユーザーに付与する IAM ポリシーを作成できます。

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

Amazon Location が定義するアクションとリソースタイプ (リソースタイプごとの ARN の形式を含む) の詳細については、サービス認可リファレンスの「Amazon Location Service のアクション、リソース、および条件キー」を参照してください。

ポリシーに関するベストプラクティス

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

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

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

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

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

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

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

Amazon Location コンソールの使用

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

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

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

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

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

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

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

この例では、ユーザーアイデンティティにアタッチされたインラインおよびマネージドポリシーの表示を IAM ユーザーに許可するポリシーの作成方法を示します。このポリシーには、コンソールで、または 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

ARN の形式の詳細については、「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 リソースのタイプとその ARN のリストを確認するには、「サービス認可リファレンス」の「Amazon Location Service で定義されるリソース」を参照してください。どのアクションで各リソースの ARN を指定できるかについては、「Amazon Location Service」 定義されるアクションを参照してください。

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

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

この例では、Tracker1 リソースと Tracker2 リソースへのアクセスを許可することに加えて、次のポリシーにより、Tracker1 リソースと Tracker2 リソースに対する geo:BatchUpdateDevicePosition アクションを使用する権限も許可されます。

{ "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 要素に タグ 情報を含めて、リソースタグに基づいてアクセスを制御します。

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

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

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

ただし、このポリシーでは、Collection タグ、Owner、にそのユーザーのユーザー名の値がある場合にのみ、 Condition 要素を使用してアクセス許可を付与します。

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

    注記

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

{ "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 ユーザーガイド を参照してください。

Amazon Location Service Identity and Access のトラブルシューティング

Amazon Location と IAM の使用に伴って発生する可能性がある一般的な問題の診断や修復には、次の情報を利用してください。

Amazon Location でアクションを実行する認可がありません

アクションを実行する権限がないというエラーが表示された場合は、そのアクションを実行できるようにポリシーを更新する必要があります。

次のエラー例は、mateojackson IAM ユーザーがコンソールを使用して、ある my-example-widget リソースに関する詳細情報を表示しようとしたことを想定して、その際に必要なgeo:GetWidget アクセス許可を持っていない場合に発生するものです。

User: arn:aws:iam::123456789012:user/mateojackson is not authorized to perform: geo:GetWidget on resource: my-example-widget

この場合、geo:GetWidget アクションを使用して my-example-widgetリソースへのアクセスを許可するように、mateojackson ユーザーのポリシーを更新する必要があります。

サポートが必要な場合は、 AWS 管理者にお問い合わせください。サインイン認証情報を提供した担当者が管理者です。

iam:PassRole を実行する権限がありません

iam:PassRole アクションを実行する権限がないというエラーが表示された場合は、ポリシーを更新して Amazon Location にロールを渡せるようにする必要があります。

一部の AWS のサービス では、新しいサービスロールまたはサービスにリンクされたロールを作成する代わりに、そのサービスに既存のロールを渡すことができます。そのためには、サービスにロールを渡す権限が必要です。

次の例のエラーは、marymajor という IAM ユーザーがコンソールを使用して Amazon Location でアクションを実行しようとする場合に発生します。ただし、このアクションをサービスが実行するには、サービスロールから付与された権限が必要です。メアリーには、ロールをサービスに渡す許可がありません。

User: arn:aws:iam::123456789012:user/marymajor is not authorized to perform: iam:PassRole

この場合、Mary のポリシーを更新してメアリーに iam:PassRole アクションの実行を許可する必要があります。

サポートが必要な場合は、 AWS 管理者にお問い合わせください。サインイン資格情報を提供した担当者が管理者です。

自分の 以外のユーザーに Amazon Location リソース AWS アカウント へのアクセスを許可したい

他のアカウントのユーザーや組織外の人が、リソースにアクセスするために使用できるロールを作成できます。ロールの引き受けを委託するユーザーを指定できます。リソースベースのポリシーまたはアクセスコントロールリスト (ACL) をサポートするサービスの場合、それらのポリシーを使用して、リソースへのアクセスを付与できます。

詳細については、以下を参照してください: