Amazon OpenSearch Serverless の ID とアクセスの管理 - Amazon OpenSearch サービス

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

Amazon OpenSearch Serverless の ID とアクセスの管理

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

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

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

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

IAM ID ベースのポリシーでは、許可または拒否されたアクションとリソース、およびアクションが許可または拒否される条件を指定できます。プリンシパルは、それが添付されているユーザーまたはロールに適用されるため、アイデンティティベースのポリシーでは指定できません。JSON ポリシーで使用できるすべての要素については、 IAM ユーザーガイドIAMJSON「ポリシー要素リファレンス」を参照してください。

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

OpenSearch Serverless ID ベースのポリシーの例を表示するには、「」を参照してください OpenSearch Serverless のアイデンティティベースのポリシーの例

OpenSearch Serverless のポリシーアクション

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

JSON ポリシーの Action要素は、ポリシー内のアクセスを許可または拒否するために使用できるアクションについて説明します。ポリシーアクションは通常、関連付けられた AWS APIオペレーションと同じ名前を持ちます。一致するAPIオペレーションを持たないアクセス許可のみのアクションなど、いくつかの例外があります。また、ポリシーに複数のアクションが必要なオペレーションもあります。これらの追加アクションは、依存アクションと呼ばれます。

このアクションは、関連付けられたオペレーションを実行するための権限を付与するポリシーで使用されます。

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

aoss

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

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

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

"Action": "aoss:List*"

OpenSearch Serverless ID ベースのポリシーの例を表示するには、「」を参照してください OpenSearch Serverless のアイデンティティベースのポリシーの例

OpenSearch Serverless のポリシーリソース

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

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

Resource JSON ポリシー要素は、アクションが適用されるオブジェクトを指定します。ステートメントには、Resource または NotResource 要素を含める必要があります。ベストプラクティスとして、Amazon リソースネーム (ARN) を使用してリソースを指定します。これは、リソースレベルの許可と呼ばれる特定のリソースタイプをサポートするアクションに対して実行できます。

オペレーションのリスト化など、リソースレベルの権限をサポートしないアクションの場合は、ステートメントがすべてのリソースに適用されることを示すために、ワイルドカード (*) を使用します。

"Resource": "*"

Amazon OpenSearch Serverless のポリシー条件キー

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

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

Condition 要素 (または Condition ブロック) を使用すると、ステートメントが有効な条件を指定できます。Condition 要素はオプションです。イコールや未満などの条件演算子を使用して条件式を作成することで、ポリシーの条件とリクエスト内の値を一致させることができます。

1 つのステートメントに複数の Condition 要素を指定する場合、または 1 つの Condition 要素に複数のキーを指定する場合、 AWS では AND 論理演算子を使用してそれらを評価します。1 つの条件キーに複数の値を指定すると、 は論理ORオペレーションを使用して条件 AWS を評価します。ステートメントの権限が付与される前にすべての条件が満たされる必要があります。

条件を指定する際にプレースホルダー変数も使用できます。例えば、リソースにIAMユーザー名がタグ付けされている場合にのみ、リソースにアクセスするアクセス許可をIAMユーザーに付与できます。詳細については、「 ユーザーガイド」のIAM「ポリシー要素: 変数とタグ」を参照してください。 IAM

AWS は、グローバル条件キーとサービス固有の条件キーをサポートしています。すべての AWS グローバル条件キーを表示するには、 ユーザーガイドのAWS 「グローバル条件コンテキストキー」を参照してください。 IAM

属性ベースのアクセスコントロール (ABAC) に加えて、 OpenSearch Serverless では以下の条件キーがサポートされています。

  • aoss:collection

  • aoss:CollectionId

  • aoss:index

これらの条件キーは、アクセスポリシーおよびセキュリティポリシーに許可を与える場合でも使用できます。例:

[ { "Effect":"Allow", "Action":[ "aoss:CreateAccessPolicy", "aoss:CreateSecurityPolicy" ], "Resource":"*", "Condition":{ "StringLike":{ "aoss:collection":"log" } } } ]

この例の条件は、コレクション名またはパターンに一致するルールを含むポリシーに適用されます。コンディションは、以下の動作を行います。

  • StringEquals – リソース文字列として「log」が正確に配置された (つまり collection/log) ルールを使用する、ポリシーに適用されます。

  • StringLike –「log」という文字列が含まれたリソース文字列で構成されたルール (例: collection/log に加え collection/logs-application または collection/applogs123) を使用する、ポリシーに対し適用されます。

注記

コレクション条件キーは、インデックスレベルでは適用されません。例として上記のポリシーでは、リソース文字列 index/logs-application/* を含むアクセスポリシーまたはセキュリティポリシーに対して、この条件は適用されません。

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

ABAC OpenSearch Serverless を使用する

サポート ABAC (ポリシーのタグ): はい

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

ABAC は、急速に成長している環境や、ポリシー管理が面倒になる状況に役立ちます。

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

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

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

OpenSearch Serverless リソースのタグ付けの詳細については、「」を参照してくださいAmazon OpenSearch Serverless コレクション

OpenSearch Serverless での一時的な認証情報の使用

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

一部の AWS のサービス は、一時的な認証情報を使用してサインインすると機能しません。一時的な認証情報 AWS のサービス を使用する方法など、詳細については、 IAM ユーザーガイドAWS のサービス 「 を使用する方法IAM」を参照してください。

ユーザー名とパスワード以外の AWS Management Console 方法で にサインインする場合は、一時的な認証情報を使用します。例えば、会社のシングルサインオン (SSO) リンク AWS を使用して にアクセスすると、そのプロセスによって一時的な認証情報が自動的に作成されます。また、ユーザーとしてコンソールにサインインしてからロールを切り替える場合も、一時的な認証情報が自動的に作成されます。ロールの切り替えの詳細については、 IAM ユーザーガイド「ユーザーからIAMロールへの切り替え (コンソール)」を参照してください。

AWS CLI または を使用して、一時的な認証情報を手動で作成できます AWS API。その後、これらの一時的な認証情報を使用して にアクセスできます AWS。長期的なアクセスキーを使用する代わりに、一時的な認証情報を動的に生成 AWS することをお勧めします。詳細については、「」の「一時的なセキュリティ認証情報IAM」を参照してください。

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

サービスリンクロールのサポート: あり

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

OpenSearch Serverless サービスにリンクされたロールの作成と管理の詳細については、「」を参照してくださいサービスにリンクされたロールを使用して OpenSearch Serverless コレクションを作成する

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

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

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

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

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

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

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

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

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

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

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

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

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

コンソールでの OpenSearch Serverless の使用

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

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

次のポリシーでは、ユーザーが OpenSearch Service コンソール内で OpenSearch Serverless にアクセスすることを許可します。

{ "Version": "2012-10-17", "Statement": [ { "Resource": "*", "Effect": "Allow", "Action": [ "aoss:ListCollections", "aoss:BatchGetCollection", "aoss:ListAccessPolicies", "aoss:ListSecurityConfigs", "aoss:ListSecurityPolicies", "aoss:ListTagsForResource", "aoss:ListVpcEndpoints", "aoss:GetAccessPolicy", "aoss:GetAccountSettings", "aoss:GetSecurityConfig", "aoss:GetSecurityPolicy" ] } ] }

OpenSearch Serverless コレクションの管理

このポリシーは、ユーザーが Amazon OpenSearch Serverless コレクションを管理および管理できるようにする「コレクション管理」ポリシーの例です。これによりユーザーは、コレクションを作成、表示、削除できます。

{ "Version": "2012-10-17", "Statement": [ { "Resource": "arn:aws:aoss:region:123456789012:collection/*", "Action": [ "aoss:CreateCollection", "aoss:DeleteCollection", "aoss:UpdateCollection" ], "Effect": "Allow" }, { "Resource": "*", "Action": [ "aoss:BatchGetCollection", "aoss:ListCollections", "aoss:CreateAccessPolicy", "aoss:CreateSecurityPolicy" ], "Effect": "Allow" } ] }

OpenSearch Serverless コレクションの表示

このポリシー例では、ユーザーはアカウント内のすべての Amazon OpenSearch Serverless コレクションの詳細を表示できます。このユーザーには、コレクション自体や関連するセキュリティポリシーの変更は許可されません。

{ "Version": "2012-10-17", "Statement": [ { "Resource": "*", "Action": [ "aoss:ListAccessPolicies", "aoss:ListCollections", "aoss:ListSecurityPolicies", "aoss:ListTagsForResource", "aoss:BatchGetCollection" ], "Effect": "Allow" } ] }

API オペレーションの使用 OpenSearch

データプレーンAPIオペレーションは、サービスからリアルタイム値を取得するために OpenSearch Serverless で使用する関数で構成されます。コントロールプレーンAPIオペレーションは、環境のセットアップに使用する関数で構成されます。

ブラウザから Amazon OpenSearch Serverless データプレーンAPIsと OpenSearch ダッシュボードにアクセスするには、コレクションリソースに 2 つのIAMアクセス許可を追加する必要があります。これらのアクセス権限は、aoss:APIAccessAllaoss:DashboardsAccessAll です。

注記

2023 年 5 月 10 日以降、 OpenSearch Serverless では、これら 2 つのコレクションリソースに対する新しいIAMアクセス許可が必要です。アクセスaoss:APIAccessAll許可はデータプレーンアクセスを許可し、アクセスaoss:DashboardsAccessAll許可はブラウザからの OpenSearch ダッシュボードを許可します。2 つの新しいIAMアクセス許可を追加しないと、403 エラーが発生します。

このポリシー例では、ユーザーがアカウント内のAPIs指定されたコレクションのデータプレーンにアクセスし、アカウント内のすべてのコレクションの OpenSearch ダッシュボードにアクセスすることを許可します。

{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Action": "aoss:APIAccessAll", "Resource": "arn:aws:aoss:region:account-id:collection/collection-id" }, { "Effect": "Allow", "Action": "aoss:DashboardsAccessAll", "Resource": "arn:aws:aoss:region:account-id:dashboards/default" } ] }

aoss:APIAccessAll と の両方がコレクションリソースに完全なIAMアクセス許可aoss:DashboardsAccessAllを付与しますが、ダッシュボードアクセス許可は OpenSearch ダッシュボードアクセスも提供します。各アクセス権限は独立して機能するので、aoss:APIAccessAll での明示的な拒否によって開発ツールなどのリソースへの aoss:DashboardsAccessAll アクセスがブロックされることはありません。aoss:DashboardsAccessAll での拒否についても同じことが言えます。

OpenSearch Serverless は、データプレーン呼び出しのプリンシパルのIAMポリシーの条件設定のソース IP アドレスのみをサポートします。

"Condition": { "IpAddress": { "aws:SourceIp": "52.95.4.14" } }