Amazon のアクセスの設定 CloudSearch - アマゾン CloudSearch

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

Amazon のアクセスの設定 CloudSearch

あなたは使うAWS Identity and Access ManagementAmazon へのアクセスをコントロールするための (IAM) アクセスポリシー CloudSearch 設定サービスと、各検索ドメインのドキュメント、検索、提案サービスが含まれます。アクセスポリシーは、ユーザーやプロセスに対して実行が許可されているアクションを定義するアクセス権限を明示的にリストした JSON ドキュメントです。アクセスポリシーの導入については、AWS IAM ポリシーの概要を参照してください。

あなたはAmazonへのアクセスをコントロールします CloudSearch 設定サービス API およびドメインサービス API は独立しています。例えば、本番ドメインの設定を変更できるユーザーは制限するが、開発やテストのためにチームのメンバーが独自のドメインを作成および管理することは許可することもできます。同様に、開発ドメインやテストドメインはアップロード、検索、提案サービスに対する匿名リクエストを受け入れるように設定するが、本番ドメインはロックしてアプリケーションからの認証リクエストのみを受け入れるようにすることもできます。

AWS がリクエストを受け取ると、リクエストが既知の AWS ユーザーであることを認証してから、関連するポリシーを確認して、そのユーザーにリクエストされたアクションをリクエストされたリソースで実行する権限があるかどうかを判断します。ユーザーに対して明示的にアクションの実行が許可されていない場合は、リクエストは拒否されます。ポリシーの評価時に、AWS によって明示的な拒否が見つかった場合、その拒否はあらゆる明示的で有効な許可に優先します。

重要

認証を有効にするには、Amazon CloudSearch リクエストはアクセスキーで署名する必要があります。唯一の例外は、匿名アクセスにドメインのアップロード、検索、提案サービスを許可する場合です。詳細については、「リクエストへの署名」を参照してください。

Amazon のアクセスポリシーの記述 CloudSearch

アマゾン CloudSearch 両方をサポートユーザーベースのポリシーそしてリソースベースのポリシー:

  • ユーザーベースのポリシーは、特定の IAM ユーザー、グループ、またはロールに添付されます。ユーザーベースのポリシーでは、ユーザーまたはプロセスがアクセスできるアカウント内の検索ドメインと実行できるアクションを指定します。ユーザーベースのポリシーをユーザー、グループ、ロールに添付するには、 コンソール、AWS CLI、または AWS SDK を使用します。Amazon へのアクセスを制御するには、ユーザーベースのポリシーを定義する必要があります CloudSearch 設定サービスのアクション。(ユーザーここでは、必ずしも人物ではなく、単に関連するアクセス権限を持ったアイデンティティのことです。 例えば、ドメインに検索リクエストを送信するための認証情報を持たせる必要があるアプリケーションを表す IAM ユーザーを作成する場合もあります。)

  • リソースベースのポリシーアマゾン用 CloudSearch 特定の検索ドメインにアタッチされている。リソースベースのポリシーは、検索ドメインへのアクセス権限を持つユーザーと、そのユーザーが使用できるドメインサービスを指定します。リソースベースのポリシーでは、特定のドメインのドキュメント、検索、提案サービスへのアクセスのみを制御します。Amazon へのアクセスの設定には使用できません CloudSearch 設定サービスのアクション。リソースベースのポリシーをドメインにアタッチするには、Amazon CloudSearch コンソール、AWS CLIまたは AWS SDK。

一般には、Amazon へのアクセスを管理することをお勧めします CloudSearch ユーザーベースのポリシーを設定して API。アクセス権限を一か所で管理でき、必要な変更はほぼ即座に反映されるためです。ただし、ドメインの検索サービスに対するパブリックアクセスを許可したり、IP アドレスに基づいてアクセスを制限するには、リソースベースのポリシーをドメインに設定する必要があります。(ユーザーベースのポリシーを使用した IP ベースの古いアクセスポリシーは、できるだけ早いうちに置換することをお勧めします。) また、リソースベースのポリシーを使用して他のアカウントのドメインへのアクセスを簡単に許可することもできます。ドメインのリソースベースのポリシーに対する変更処理は、ユーザーベースのポリシーに対する変更よりも大幅に時間がかかることに注意してください。

IAM コンソールは、Amazon のユーザーベースのポリシーとリソースベースのポリシーの両方を作成するのに役立ちます CloudSearch。詳細については、Amazon ECRマネージドポリシーを参照してください。

ヒント

ベストプラクティスとして、個々のユーザーにアクセス権限を定義する代わりに、グループにアクセス権限を設定し、そのグループに IAM ユーザーを割り当てることを推奨します。同様に、ユーザー認証情報を各インスタンスに渡すよりも、Amazon EC2 インスタンスで実行するアプリケーションのロールにアクセス権限を割り当てることができます。AWS リソースへのアクセスを管理するための IAM 推奨事項については、「IAM のベストプラクティス」を参照してください。

Amazon のアクセスポリシーの内容 CloudSearch

Amazon のアクセスポリシーで次の情報を設定します。 CloudSearch:

  • Version には、ステートメントと互換性のあるポリシー言語のバージョンを指定します。バージョンは常に 2012-10-17 に設定されます。

  • Resourceはユーザーベースのポリシーが適用されるドメインの ARN (Amazon リソースネーム) です。ResourceAmazonで設定されたリソースベースのポリシーには指定されていません CloudSearch 設定サービス。はリソースに直接アタッチされるためです。Amazon の詳細 CloudSearch ARN、「」を参照してくださいアマゾン CloudSearch ARN

  • Effect は、指定されたアクションへのアクセスをステートメントが認証するかブロックするかを指定します。Allow または Deny を指定する必要があります。

  • Sid は、ポリシーステートメントにわかりやすい名前を付けることができるオプションの文字列です。

  • Actionどの Amazon かを指定します CloudSearch ステートメントを適用するアクション。サポートされているアクションについては、アマゾン CloudSearch アクションを参照してください。選択ユーザーに管理アクセスを付与する必要がある場合は、ワイルドカード (*) を使用してすべてのアクションへのアクセスを設定できます。(この場合、セキュリティを追加するために多要素認証を有効にする方がいいかもしれません。 詳細については、MFA 保護 API アクセスの設定 を参照してください。) ワイルドカードは、アクション名内でもサポートされています。例えば、"Action":["cloudsearch:Describe*] はすべての設定サービス Describe アクションに一致します。例えば、DescribeDomainsDescribeServiceAccessPolicies などです。

  • Condition は、ポリシーを実行するタイミングの条件を指定します。匿名の IP ベースのアクセスを設定する場合、アクセスルールを適用する IP アドレスを指定します。例えば、"IpAddress": {"aws:SourceIp": ["192.0.2.0/32"]} です。

  • Principal は、リソースベースのポリシーでドメインへのアクセスを許可するユーザーを指定します。Principal は IMA を使用して設定されたユーザーベースのポリシーでは指定されません。リソースベースのポリシーの Principal 値では、他の AWS アカウントまたは自分のアカウントの IAM ユーザーを指定できます。例えば、アカウント 555555555555 にアクセス権限を付与するには、"Principal":{"AWS":["arn:aws:iam::555555555555:root"]} と指定します。ワイルドカード (*) を指定すると、ドメインへの匿名アクセスが有効になります。匿名アクセスは推奨されていません。匿名アクセスを有効にする場合は、少なくともドメインにリクエストを送信できる IP アドレスを制限する条件を指定する必要があります。詳細については、「指定された IP アドレスからドメインへのアクセスの許可」を参照してください。

Amazon のアクセスポリシーの例については CloudSearch「」を参照してください。アマゾン CloudSearch ポリシーの例

アマゾン CloudSearch ARN

ポリシーの Amazon Resource Name (ARN) は、ポリシーを適用するドメインを一意に指定します。ARN は、AWS がリソースを識別するために使用する標準形式です。ARN にある 12 桁の数字が AWS のアカウント ID です。アマゾン CloudSearch ARN はという形式ですarn:aws:cloudsearch:REGION:ACCOUNT-ID:domain/DOMAIN-NAME

次のリストで、ARN の可変要素を説明します。

  • REGIONAmazon が AWS リージョン CloudSearch アクセス権限を設定するドメインが存在します。REGION にワイルドカード (*) を使用するとすべてのリージョンを指定できます。

  • ACCOUNT-ID は、ハイフンなしの AWS アカウント ID です (例: 111122223333)。

  • DOMAIN-NAME は、特定の検索ドメインを識別します。DOMAIN-NAME にワイルドカード (*) を指定すると、指定したリージョン内のお客様のアカウントのすべてのドメインを指定できます。名前が同じプレフィックスで始まる複数のドメインがある場合は、ワイルドカードを使用してそれらのドメインすべてに一致させることができます。例えば、dev-*dev-testdev-moviesdev-sandbox などに一致します。新規ドメインに同じプレフィックスを持つ名前をつけた場合は、その新規ドメインにもポリシーが適用されることに注意してください。

例えば、次の ARN はアカウント 111122223333 が所有し、us-east-1 リージョンに存在する movies ドメインを識別します。

arn:aws:cloudsearch:us-east-1:111122223333:domain/movies

次の例では、ユーザーベースのポリシーで ARN を使用してリソースを指定する方法を示しています。

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["cloudsearch:search"], "Resource": "arn:aws:cloudsearch:us-east-1:111122223333:domain/movies" } ] }

ドメインの ARN は Amazon のドメインダッシュボードに表示されます CloudSearch コンソールであり、を呼び出すことでも利用できますDescribeDomains

重要

2011-02-01 API で作成されたドメインの ARN を指定する場合は、以前の Amazon を使用する必要があります CloudSearch サービス名、cs。例えば、arn:aws:cs:us-east-1:111122223333:domain/movies です。2011 ドメインと 2013 の両方のドメインに対してアクセスを構成するポリシーを定義する必要がある場合は、ドメインごとに正しい ARN 形式を指定してください。詳細については、「構成サービスアクセスポリシーが機能しない」を参照してください。

アマゾン CloudSearch アクション

指定されるアクションは Amazon を制御します CloudSearch ステートメントが適用される API。Amazon の全て CloudSearch アクションには接頭辞が付きますcloudsearch:またはcloudsearch:search。サポートされているアクションを次に示します。

  • cloudsearch:document は、ドキュメントサービス API へのアクセスを許可します。インデックス作成のために検索ドメインにドキュメントをアップロードするには、document アクションを使用するアクセス権限が必要です。

  • cloudsearch:search は、検索 API へのアクセスを許可します。ドメインに検索リクエストを送信するには、search アクションを使用するアクセス権限が必要です。

  • cloudsearch:suggest は、提案 API へのアクセスを許可します。ドメインから提案を取得するには、suggest アクションを使用するアクセス権限が必要です。

  • cloudsearch:CONFIGURATION-ACTION は、指定された設定サービスアクションへのアクセスを許可します。を使用するアクセス権限DescribeDomainsそしてListDomainNamesAmazon にアクセスするには、設定アクションが必要です CloudSearch console. 設定アクションはユーザーベースのポリシーでのみで指定できます。アクションの詳細なリストについては、「アクション」を参照してください。

アマゾン CloudSearch ポリシーの例

このセクションでは、Amazon の例をいくつか紹介します。 CloudSearch アクセスポリシー。

Amazon への読み取り専用アクセスを許可 CloudSearch 設定サービス

設定サービスへの読み取り専用アクセスを付与するには、以下のアクションのみを許可します。ユーザーが本番用ドメインの設定を確認することは許可するが、変更はできないようにする場合に便利です。

  • cloudsearch:DescribeAnalysisSchemes

  • cloudsearch:DescribeAvailabilityOptions

  • cloudsearch:DescribeDomains

  • cloudsearch:DescribeExpressions

  • cloudsearch:DescribeIndexFields

  • cloudsearch:DescribeScalingParameters

  • cloudsearch:DescribeServiceAccessPolicies

  • cloudsearch:DescribeSuggesters

  • cloudsearch:ListDomainNames

以下のユーザーベースのポリシーは、アカウント 555555555555 が所有する movies ドメインの設定サービスに対する読み取り専用アクセスを付与します。ポリシーでは、アクションにワイルドカードを使用して、Describe または List で始まるすべてのアクションへのアクセスを許可しています。今後 API に追加される describe または list アクションへのアクセスも許可されることに注意してください。

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["cloudsearch:Describe*", "cloudsearch:List*"], "Resource": "arn:aws:cloudsearch:us-east-1:555555555555:domain/movies" } ] }

すべての Amazon へのアクセスの許可 CloudSearch 設定サービスのアクション

すべての Amazon へのアクセスを許可することができます CloudSearch 構成サービスアクションを含めることでAllowドメインサービスアクションへのアクセス権限を付与するステートメントで、ドメインサービスアクションにはアクセス権限を付与しません。こうすることで、ユーザーに対してドメインへのデータのアップロードやドメインからのデータの取得は許可せずに管理アクセスを付与できます。これを行う方法の 1 つは、すべての Amazon にアクセス権限を付与するワイルドカードを使用することです。 CloudSearch アクションを追加し、その後ドメインサービスアクションへのアクセスをブロックする拒否ステートメントを含めます。以下のユーザーベースのポリシーは、us-west-2 リージョン内の 111122223333 アカウントが所有するすべてのドメインの設定サービスに対するアクセスを付与します。

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["cloudsearch:*"], "Resource": "arn:aws:cloudsearch:us-west-2:111122223333:domain/*" }, { "Effect": "Deny", "Action": ["cloudsearch:document", "cloudsearch:search", "cloudsearch:suggest"], "Resource": "arn:aws:cloudsearch:us-west-2:111122223333:domain/*" } ] }

すべての Amazon への無制限アクセスの許可 CloudSearch サービス

すべての Amazon に無制限のアクセス権を付与できます CloudSearch サービス。ユーザーベースのポリシーを使用して、すべての設定サービスのアクションとすべてのドメインサービスを含みます。これを行うには、アクション、リージョン、ドメイン名にワイルドカードを指定します。以下のポリシーでは、ユーザーにすべての Amazon へのアクセスを許可します CloudSearch 1111223333 アカウントが所有するあらゆるリージョンのあらゆるドメインでのアクション。

注記

このポリシーのように IAM ユーザーに対して非常に高いアクセス権限を付与する場合は、これらのユーザーに対して多要素認証 (MFA) を有効にすることをお勧めします。詳細については、「IAM ユーザーガイド」の「IAM ベストプラクティス」を参照してください。

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["cloudsearch:*"], "Resource": "arn:aws:cloudsearch:*:111122223333:domain/*" } ] }

Amazon にドキュメントをアップロードするためのアクセス権限の付与 CloudSearch ドメイン

cloudsearch:document アクションを指定して、IAM ユーザーに対して検索ドメインにドキュメントをアップロードするアクセス権限を付与できます。例えば、次のユーザーベースのポリシーでは、ユーザーは 111122223333 アカウントが所有する us-east-1 内の movies ドメインにドキュメントをアップロードできます。

{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["cloudsearch:document"], "Resource": "arn:aws:cloudsearch:us-east-1:111122223333:domain/movies" } ] }

アマゾンを許可する CloudSearch 別の AWS アカウントへのアクセス

のクロスアカウントアクセスを設定するには、2 とおりの方法があります。 CloudSearchドメイン:

オプション 説明
クロスアカウントアクセス用の IAM ロールを設定します。 セキュリティは強化されますが、複雑なリクエスト署名が必要です。詳細については、IAM ドキュメントの「IAM ロールを使用したクロスアカウント API アクセス」を参照してください。
リソースベースのポリシーを CloudSearch ドメインを作成し、ユーザーベースの管理ポリシーを IAM ロールにアタッチする 実行が簡単。詳細については、次を参照してください。IAM ユーザーにアクセス許可を委任するロールの作成そしてチュートリアル: IAM ロールを使用して、所有するアカウントの AWS アカウント間でのアクセスを委任するIAM ドキュメントにあります。

このトピックでは、リソースベースのポリシーを CloudSearch ドメイン。アカウント #1 はアカウント ID 111111111111 の所有であり、アカウント #2 はアカウント ID 999999999999 の所有であると仮定します。アカウント #1 がアカウント #2 に対して movies ドメインの検索サービスを使用するアクセス権限を付与する場合、2 つのステップが必要です。

  1. アカウント #1 は Amazon を使用して、リソースベースのポリシーをドメインにアタッチする CloudSearchアカウント #2 へのアクセスを許可するコンソール。

    { "Version":"2012-10-17", "Statement":[ { "Sid":"search_only", "Effect":"Allow", "Action":["cloudsearch:search"], "Principal":{"AWS":["arn:aws:iam::999999999999:root"]} } ] }
  2. アカウント #2 は IAM コンソールを使用して、そのアカウントが所有する IAM ロールにユーザーベースのマネージドポリシーをアタッチします。

    { "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Action": ["cloudsearch:search"], "Resource": "arn:aws:cloudsearch:us-east-1:111111111111:domain/movies" } ] }
重要

Amazon のリソースベースのポリシーを設定するには CloudSearchを使用するアクセス権限が必要ですcloudsearch:UpdateServiceAccessPoliciesaction.

Amazon へのアクセスの許可 CloudSearch 指定された IP アドレスからドメイン

Amazonを通じて設定されたリソースベースのアクセスポリシー CloudSearch 設定サービスは匿名アクセスをサポートしています。検索ドメインのサービスに無署名リクエストを送信できます。指定された IP アドレスからの匿名アクセスを許可するには、Principal 値にワイルドカードを使用し、許可された IP アドレスをポリシー内の Condition 要素として指定します。

重要

指定された IP アドレスからの匿名アクセスを許可すると、その性質上、検索ドメインにアクセスするためにユーザー認証情報が必要な場合よりも安全性が低くなります。指定された IP アドレスからのみのアクセスを許可する場合でも、匿名アクセスはお勧めしません。現在匿名アクセスを許可している場合は、署名リクエストを送信するようにアプリケーションをアップグレードし、ユーザーベースおよびリソースベースのポリシーを設定してアクセスを制御してください。

Amazon EC2 インスタンスからのリクエストにアクセス権限を付与するリソースベースのポリシーを作成している場合は、インスタンスのパブリック IP アドレスを指定する必要があります。

IP アドレスは標準の Classless Inter-Domain Routing (CIDR) 形式で指定します。例えば、10.24.34.0/24 は範囲 10.24.34.0~10.24.34.255 を指定します。一方、10.24.34.0/32 は 1 つの IP アドレス 10.24.34.0 を指定します。CIDR 表記の詳細については、RFC 4632 を参照してください。

例えば、以下のポリシーでは、AWS アカウント 111122223333 が所有する movies ドメインの検索アクションへのアクセスを IP アドレス 192.0.2.0/32 に許可しています。

{ "Version":"2012-10-17", "Statement":[ { "Sid":"search_only", "Effect":"Allow", "Principal":"*", "Action":["cloudsearch:search"], "Condition":{"IpAddress":{"aws:SourceIp":"192.0.2.0/32"}} } ] }

Amazon へのパブリックアクセスの許可 CloudSearch ドメインの検索サービス

ドメイン内の検索エンドポイントに対するパブリックアクセスを許可する必要がある場合は、条件のないリソースベースのポリシーを設定できます。これにより、あらゆる IP アドレスから送信された無署名リクエストが有効になります。

重要

検索ドメインに対するパブリックアクセスを許可するということは、ドメインに送信されるリクエストのボリュームを制御しないということです。悪意あるユーザーによってドメインに大量のリクエストが送信され、正規ユーザーや運用コストに影響を与える可能性があります。

例えば、次のポリシーは、AWS アカウント 111122223333 が所有する movies ドメインの検索アクションに対するパブリックアクセスを許可します。

{ "Version":"2012-10-17", "Statement":[ { "Sid":"public_search", "Effect":"Allow", "Principal":"*", "Action":["cloudsearch:search"] } ] }

Amazon のアクセスの設定 CloudSearch AWS マネジメントコンソール の使用

ユーザーベースのポリシーを設定するには

  1. AWS Management Console にサインインして、IAM コンソール (https://console.aws.amazon.com/iam/) を開きます。

  2. Amazon の設定 CloudSearch ユーザー、グループ、またはロールにポリシーをアタッチしてのアクセス許可を設定します。詳細については、「ポリシーの管理 (AWS マネジメントコンソール)」を参照してください。Amazon のユーザーベースのポリシーの詳細については CloudSearch 見るAmazon のアクセスポリシーの記述 CloudSearch

リソースベースのポリシーを設定するには

  1. AWS マネジメントコンソールにサインインし、Amazon を開きます CloudSearch コンソールhttps://console.aws.amazon.com/cloudsearch/home

  2. 設定するドメインの名前を選択します。

  3. リポジトリの []ドメイン設定[] タブで、[編集の横にアクセスポリシー

  4. ドメインアクセスポリシーへの変更が完了したら、Sub

あなたのドメインはProcessingAmazon CloudSearch アクセスポリシーを更新します。

Amazon のアクセスの設定 CloudSearch とAWS CLI

Amazon のユーザーベースのポリシーおよびリソースベースのポリシーの両方を設定できます。 CloudSearch とAWS CLI。AWS CLI のインストールおよびセットアップの詳細については、「AWS Command Line Interface ユーザーガイド」を参照してください。

ユーザーベースのポリシーを設定するには

リソースベースのポリシーを設定するには

  • aws cloudsearch update-service-access-policies コマンドを実行し、--access-policies オプションでアクセスポリシーを指定します。アクセスポリシーは引用符で囲み、アクセスポリシー内のすべての引用符はバックスラッシュでエスケープする必要があります。Amazon のリソースベースのポリシーの詳細については CloudSearch 見るAmazon のアクセスポリシーの記述 CloudSearch

    以下の例は、movies ドメインが IP アドレス 192.0.2.0 からの検索リクエストを受け入れるように設定します。

    aws cloudsearch update-service-access-policies --domain-name movies --access-policies "{\"Version\":\"2012-10-17\",\"Statement\":[{ \"Sid\":\"search_only\", \"Effect\":\"Allow\", \"Principal\": \"*\", \"Action\":\"cloudsearch:search\", \"Condition\":{\"IpAddress\":{\"aws:SourceIp\":\"192.0.2.0/32\"}}} ]}" { "AccessPolicies": { "Status": { "PendingDeletion": false, "State": "Processing", "CreationDate": "2014-04-30T22:07:30Z", "UpdateVersion": 9, "UpdateDate": "2014-04-30T22:07:30Z" }, "Options": "{\"Version\":\"2012-10-17\",\"Statement\":[{\"Sid\":\"\", \"Effect\":\"Allow\",\"Principal\":\"*\", \"Action\":\"cloudsearch:search\", \"Condition\":{\"IpAddress\":{\"aws:SourceIp\": \"192.0.2.0/32\"}}}]}" } }

リソースベースのポリシーの更新は、完了までに多少の時間がかかります。aws cloudsearch describe-service-access-policies コマンドを使用して、ポリシーの状態を確認できます。ポリシーが適用されると、ポリシーの状態が Active に変わります。

aws cloudsearch describe-service-access-policies コマンドを使用して、ドメインのポリシーを取得できます。

AWS SDK を使用してドメインのエンドポイントへのアクセスを設定する

AWS SDK では (Android および iOS SDK を除く)、Amazon のすべてがサポートされています CloudSearch Amazonで定義されているアクション CloudSearch 設定 API (以下を含む)UpdateServiceAccessPolicies。AWS SDK のインストールと使用の詳細については、「AWS Software Development Kits」(AWS ソフトウェアデベロップメントキット) を参照してください。