Amazon OpenSearch Serverless の Identity and Access Management - Amazon OpenSearch サービス

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

Amazon OpenSearch Serverless の Identity and Access Management

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

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

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

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

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

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

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

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

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

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

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

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

aoss

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

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

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

"Action": "aoss:List*"

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

OpenSearch Serverless のポリシーリソース

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

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

Policy ResourceJSON要素は、アクションが適用されるオブジェクトを指定します。ステートメントには、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 サーバーレス条件キーのリストを確認するには、「サービス認証リファレンス」の「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、「 ユーザーガイド」の「 とはABACIAM」を参照してください。のセットアップ手順を含むチュートリアルを表示するにはABAC、「 ユーザーガイド」の「属性ベースのアクセスコントロール (ABAC) を使用するIAM」を参照してください。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • 最小特権のアクセス許可を適用する – 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」を参照してください。

コンソールでの OpenSearch サーバーレスの使用

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

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

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

{ "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" } ] }

Serverless OpenSearch コレクションの表示

このポリシー例では、ユーザーは自分のアカウント内のすべての 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 Dashboards にアクセスするには、コレクションリソースに 2 つのIAMアクセス許可を追加する必要があります。これらのアクセス権限は、aoss:APIAccessAllaoss:DashboardsAccessAll です。

注記

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

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

{ "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を付与し、Dashboards アクセス許可も OpenSearch Dashboards アクセスを提供します。各アクセス権限は独立して機能するので、aoss:APIAccessAll での明示的な拒否によって開発ツールなどのリソースへの aoss:DashboardsAccessAll アクセスがブロックされることはありません。aoss:DashboardsAccessAll での拒否についても同じことが言えます。

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

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