翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon OpenSearch Serverless の ID とアクセスの管理
AWS Identity and Access Management (IAM) は、管理者が AWS リソースへのアクセスを安全に制御 AWS のサービス するのに役立つ です。IAM 管理者は、 OpenSearch サーバーレスリソースを使用するための認証 (サインイン) および認可 (アクセス許可を持つ) を誰に付与できるかを制御します。IAM は、追加料金なしで AWS のサービス 使用できる です。
トピック
- OpenSearch Serverless のアイデンティティベースのポリシー
- OpenSearch Serverless のポリシーアクション
- OpenSearch Serverless のポリシーリソース
- Amazon OpenSearch Serverless のポリシー条件キー
- ABAC OpenSearch Serverless を使用する
- OpenSearch Serverless での一時的な認証情報の使用
- OpenSearch Serverless のサービスにリンクされたロール
- OpenSearch Serverless のアイデンティティベースのポリシーの例
- IAM Amazon OpenSearch Serverless の Identity Center サポート
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-name
aws: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:APIAccessAll
と aoss: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" } }