翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
Amazon OpenSearch Serverless 向けの アイデンティティとアクセス管理
AWS Identity and Access Management(IAM) は、管理者が AWSリソースへのアクセスを安全に制御AWS のサービスするのに役立つ です。IAM 管理者は、どのユーザーを認証 (サインイン受け入れ) し、また OpenSearch Serverless リソースの使用を認可する (アクセス許可を付与する) かを制御します。IAM は、追加料金なしで使用できる AWS のサービスです。
トピック
OpenSearch Serverless でのアイデンティティベースのポリシー
アイデンティティベースのポリシーのサポート: あり
アイデンティティベースポリシーは、IAM ユーザー、ユーザーグループ、ロールなど、アイデンティティにアタッチできる JSON 許可ポリシードキュメントです。これらのポリシーは、ユーザーとロールが実行できるアクション、リソース、および条件をコントロールします。アイデンティティベースポリシーの作成方法については、「IAM ユーザーガイド」の「カスタマー管理ポリシーでカスタム IAM アクセス許可を定義する」を参照してください。
IAM アイデンティティベースのポリシーでは、許可または拒否するアクションとリソース、およびアクションを許可または拒否する条件を指定できます。JSON ポリシーで使用できるすべての要素について学ぶには、「IAM ユーザーガイド」の「IAM JSON ポリシーの要素のリファレンス」を参照してください。
OpenSearch Serverless での ID ベースのポリシー例
OpenSearch Serverless での ID ベースのポリシー例については、「OpenSearch Serverless での ID ベースのポリシー例」を参照してください。
OpenSearch Serverless でのポリシーアクション
ポリシーアクションのサポート: あり
JSON ポリシーの Action 要素にはポリシー内のアクセスを許可または拒否するために使用できるアクションが記述されます。ポリシーアクションの名前は通常、関連付けられた AWSAPI オペレーションと同じです。一致する API オペレーションのない許可のみのアクションなど、いくつかの例外があります。また、ポリシーに複数のアクションが必要なオペレーションもあります。これらの追加アクションは依存アクションと呼ばれます。
このアクションは関連付けられたオペレーションを実行するためのアクセス許可を付与するポリシーで使用されます。
OpenSearch Serverless のポリシーアクションでは、アクションの前に次のプレフィックスを使用します。
aoss
単一のステートメントで複数のアクションを指定するには、アクションをカンマで区切ります。
"Action": [ "aoss:action1", "aoss:action2" ]
ワイルドカード文字 (*) を使用すると、複数のアクションを指定することができます。例えば、Describe という単語で始まるすべてのアクションを指定するには次のアクションを含めます。
"Action": "aoss:List*"
OpenSearch Serverless での ID ベースのポリシー例については、「 OpenSearch Serverless での ID ベースのポリシー例」を参照してください。
OpenSearch Serverless のポリシーリソース
ポリシーリソースのサポート: あり
管理者は JSON AWSポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どのプリンシパルがどのリソースに対してどのような条件下でアクションを実行できるかということです。
Resource JSON ポリシー要素はアクションが適用されるオブジェクトを指定します。ベストプラクティスとして、Amazon リソースネーム (ARN) を使用してリソースを指定します。リソースレベルのアクセス許可をサポートしないアクションの場合は、ステートメントがすべてのリソースに適用されることを示すために、ワイルドカード (*) を使用します。
"Resource": "*"
Amazon OpenSearch Serverless のポリシー条件キー
サービス固有のポリシー条件キーのサポート: あり
管理者は JSON AWSポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どのプリンシパルがどのリソースに対してどのような条件下でアクションを実行できるかということです。
Condition 要素は、定義された基準に基づいてステートメントが実行される時期を指定します。イコールや未満などの条件演算子を使用して条件式を作成して、ポリシーの条件とリクエスト内の値を一致させることができます。すべてのAWSグローバル条件キーを確認するには、「IAM ユーザーガイド」のAWS「グローバル条件コンテキストキー」を参照してください。
OpenSearch Serverless では、属性ベースのアクセス制御 (ABAC) に加えて、以下の条件キーをサポートしています。
-
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 の条件キーのリストは、「サービス認証リファレンス」の「Condition keys for Amazon OpenSearch Serverless」を参照してください。条件キーの使用が可能なアクションおよびリソースついては、「Actions defined by Amazon OpenSearch Serverless」(Amazon OpenSearch Serverless で定義されるアクション) を参照してください。
ABAC と OpenSearch Serverless
ABAC (ポリシー内のタグ) のサポート: あり
属性ベースのアクセス制御 (ABAC) は、タグと呼ばれる属性に基づいてアクセス許可を定義する認可戦略です。IAM エンティティとAWSリソースにタグをアタッチし、プリンシパルのタグがリソースのタグと一致するときにオペレーションを許可するように ABAC ポリシーを設計できます。
タグに基づいてアクセスを管理するには、aws:ResourceTag/、key-nameaws:RequestTag/、または key-nameaws:TagKeys の条件キーを使用して、ポリシーの条件要素でタグ情報を提供します。
サービスがすべてのリソースタイプに対して 3 つの条件キーすべてをサポートする場合、そのサービスの値はありです。サービスが一部のリソースタイプに対してのみ 3 つの条件キーのすべてをサポートする場合、値は「部分的」になります。
ABAC の詳細については、「IAM ユーザーガイド」の「ABAC 認可でアクセス許可を定義する」を参照してください。ABAC をセットアップする手順を説明するチュートリアルについては、「IAM ユーザーガイド」の「属性ベースのアクセスコントロール (ABAC) を使用する」を参照してください。
OpenSearch Serverless リソースでのタグ付けの詳細については、「Amazon OpenSearch Serverless コレクション」を参照してください。
OpenSearch Serverless での一時的な認証情報の使用
一時的な認証情報のサポート: あり
一時的な認証情報はAWS、リソースへの短期的なアクセスを提供し、フェデレーションまたはスイッチロールの使用時に自動的に作成されます。長期的なアクセスキーを使用する代わりに、一時的な認証情報を動的に生成AWSすることをお勧めします。詳細については、「IAM ユーザーガイド」の「IAM の一時的な認証情報」および「AWS のサービス と IAM との連携」を参照してください。
Amazon OpenSearch Serverless でのサービスにリンクされたロール
サービスリンクロールのサポート: あり
サービスにリンクされたロールは、 にリンクされたサービスロールの一種ですAWS のサービス。サービスは、ユーザーに代わってアクションを実行するロールを引き受けることができます。サービスにリンクされたロールは に表示されAWS アカウント、サービスによって所有されます。IAM 管理者は、サービスリンクロールのアクセス許可を表示できますが、編集することはできません。
OpenSearch Serverless でのサービスにリンクされたロールの作成または管理の詳細については、「サービスにリンクされたロールを使用して OpenSearch Serverless コレクションを作成する」を参照してください。
その他のポリシータイプ
AWSは、一般的でない追加のポリシータイプをサポートします。これらのポリシータイプでは、より一般的なポリシータイプで付与された最大の権限を設定できます。
-
サービスコントロールポリシー (SCPs) – SCPsは、 の組織または組織単位 (OU) の最大アクセス許可を指定する JSON ポリシーですAWS Organizations。 AWS Organizationsは、ビジネスが所有する複数のAWSアカウントをグループ化して一元管理するためのサービスです。組織内のすべての機能を有効にすると、サービスコントロールポリシー (SCP) を一部またはすべてのアカウントに適用できます。SCP は、各アカウントのルートユーザーを含む、メンバーAWSアカウントのエンティティのアクセス許可を制限します。Organizations と SCP の詳細については、「AWS Organizations ユーザーガイド」の「サービスコントロールポリシー (SCP)」を参照してください。
-
リソースコントロールポリシー (RCP) – RCP は、所有する各リソースにアタッチされた IAM ポリシーを更新することなく、アカウント内のリソースに利用可能な最大数のアクセス許可を設定するために使用できる JSON ポリシーです。RCP は、メンバーアカウントのリソースの許可を制限し、組織に属するかどうかにかかわらず、AWS アカウントルートユーザーを含む ID のための有効な許可に影響を及ぼす可能性があります。RCP をサポートするサービスのリストを含む Organizations と RCP の詳細については、AWS OrganizationsRCPs「リソースコントロールポリシー (RCPs」を参照してください。AWS
OpenSearch Serverless での ID ベースのポリシー例
デフォルトでは、OpenSearch Serverless リソースを作成または変更する許可は、ユーザーおよびロールに付与されていません。IAM 管理者は、リソースで必要なアクションを実行するための権限をユーザーに付与する IAM ポリシーを作成できます。
これらのサンプルの JSON ポリシードキュメントを使用して IAM アイデンティティベースのポリシーを作成する方法については、「IAM ユーザーガイド」の「IAM ポリシーを作成する (コンソール)」を参照してください。
Amazon OpenSearch Serverless が定義するアクションとリソースタイプ (リソースタイプごとの ARN の形式など) の詳細については、「サービス認証リファレンス」の「Actions, resources, and condition keys for Amazon OpenSearch Serverless」を参照してください。
トピック
ポリシーに関するベストプラクティス
アイデンティティベースポリシーは非常に強力です。このポリシーは、アカウント内の OpenSearch Serverless リソースを作成、アクセス、または削除することが可能なユーザーを決定します。これらのアクションでは、AWS アカウント に費用が発生する場合があります。アイデンティティベースポリシーを作成したり編集したりする際には、以下のガイドラインと推奨事項に従ってください:
アイデンティティベースのポリシーは、アカウント内で誰かが OpenSearch Serverless リソースの作成、アクセス、または削除を実行できるどうかを決定します。これらのアクションでは、AWS アカウント に費用が発生する場合があります。アイデンティティベースポリシーを作成したり編集したりする際には、以下のガイドラインと推奨事項に従ってください:
-
AWS管理ポリシーを開始し、最小特権のアクセス許可に移行する – ユーザーとワークロードにアクセス許可の付与を開始するには、多くの一般的なユースケースにアクセス許可を付与するAWS管理ポリシーを使用します。これらは で使用できますAWS アカウント。ユースケースに固有のAWSカスタマー管理ポリシーを定義することで、アクセス許可をさらに減らすことをお勧めします。詳細については、IAM ユーザーガイド の AWS マネージドポリシー または ジョブ機能の AWS マネージドポリシー を参照してください。
-
最小特権を適用する – IAM ポリシーでアクセス許可を設定する場合は、タスクの実行に必要な許可のみを付与します。これを行うには、特定の条件下で特定のリソースに対して実行できるアクションを定義します。これは、最小特権アクセス許可とも呼ばれています。IAM を使用して許可を適用する方法の詳細については、IAM ユーザーガイド の IAM でのポリシーとアクセス許可 を参照してください。
-
IAM ポリシーで条件を使用してアクセスをさらに制限する - ポリシーに条件を追加して、アクションやリソースへのアクセスを制限できます。たとえば、ポリシー条件を記述して、すべてのリクエストを SSL を使用して送信するように指定できます。条件を使用して、サービスアクションが などの特定の を通じて使用されている場合にAWS のサービス、サービスアクションへのアクセスを許可することもできますCloudFormation。詳細については、IAM ユーザーガイド の IAM JSON ポリシー要素:条件 を参照してください。
-
IAM アクセスアナライザー を使用して IAM ポリシーを検証し、安全で機能的な権限を確保する - IAM アクセスアナライザー は、新規および既存のポリシーを検証して、ポリシーが IAM ポリシー言語 (JSON) および IAM のベストプラクティスに準拠するようにします。IAM アクセスアナライザーは 100 を超えるポリシーチェックと実用的な推奨事項を提供し、安全で機能的なポリシーの作成をサポートします。詳細については、IAM ユーザーガイド の IAM Access Analyzer でポリシーを検証する を参照してください。
-
多要素認証 (MFA) を要求する – で IAM ユーザーまたはルートユーザーを必要とするシナリオがある場合はAWS アカウント、MFA をオンにしてセキュリティを強化します。API オペレーションが呼び出されるときに MFA を必須にするには、ポリシーに MFA 条件を追加します。詳細については、IAM ユーザーガイド の MFA を使用した安全な API アクセス を参照してください。
IAM でのベストプラクティスの詳細については、IAM ユーザーガイド の IAM でのセキュリティのベストプラクティス を参照してください。
コンソールでの OpenSearch Serverless の使用
OpenSearch Service コンソールで OpenSearch Serverless にアクセスするには、最小限の許可セットが必要です。これらのアクセス許可により、AWSアカウントの OpenSearch Serverless リソースの詳細を一覧表示および表示できます。必要最低限の許可よりも制限が厳しいアイデンティティベースポリシーを作成すると、そのポリシーを持つエンティティ (IAM ロールなど) に対してコンソールが意図したとおりに機能しなくなります。
AWS CLIまたは AWSAPI のみを呼び出すユーザーには、最小限のコンソールアクセス許可を付与する必要はありません。代わりに、実行しようとしている API オペレーションに一致するアクションのみへのアクセスが許可されます。
以下のポリシーでは、ユーザーが OpenSearch Service コンソール内で OpenSearch Serverless にアクセスすることを許可しています。
OpenSearch Serverless コレクションの管理
このポリシーは、ユーザーに対し Amazon OpenSearch Serverless コレクションの処理および管理を許可する、「コレクション管理者」ポリシーの一例です。これによりユーザーは、コレクションを作成、表示、削除できます。
OpenSearch Serverless コレクションの表示
このポリシー例では、ユーザーに対し、自身のアカウント内のすべての Amazon OpenSearch Serverless コレクションについて、その詳細を表示することを許可します。このユーザーには、コレクション自体や関連するセキュリティポリシーの変更は許可されません。
OpenSearch API オペレーションの使用
データプレーン API オペレーションは、OpenSearch Serverless でサービスからリアルタイムの値を引き出すために使用する関数で構成されています。コントロールプレーン API オペレーションは、環境のセットアップに使用する関数で構成されています。
Amazon OpenSearch Serverless データプレーン API と OpenSearch Dashboards にブラウザからアクセスするときは、コレクションリソース用に 2 つの IAM アクセス権限を追加する必要があります。これらのアクセス権限は、aoss:APIAccessAll と aoss:DashboardsAccessAll です。
注記
2023 年 5 月 10 日以降、OpenSearch Serverless では、コレクションリソースにこれら 2 つの新しい IAM 許可が必要になります。aoss:APIAccessAll のアクセス許可はデータプレーンアクセスを許可し、aoss:DashboardsAccessAll アクセス許可はブラウザから OpenSearch Dashboards を許可します。2 つの新しい IAM アクセス権限を追加しなかった場合、403 エラーが表示されます。
こちらのポリシー例では、アカウント内の指定されたコレクションの、データプレーン API へのアクセスと、アカウント内のすべてのコレクションの、OpenSearch Dashboards へのアクセスをユーザーに許可しています。
aoss:APIAccessAll と aoss:DashboardsAccessAll はどちらも、コレクションリソースに完全な IAM アクセス権限を付与します。Dashboards アクセス権限は、OpenSearch Dashboards アクセスも提供します。各アクセス権限は独立して機能するので、aoss:APIAccessAll での明示的な拒否によって開発ツールなどのリソースへの aoss:DashboardsAccessAll アクセスがブロックされることはありません。aoss:DashboardsAccessAll での拒否についても同じことが言えます。OpenSearch Serverless は、以下のグローバル条件キーをサポートしています。
-
aws:CalledVia -
aws:CalledViaAWSService -
aws:CalledViaFirst -
aws:CalledViaLast -
aws:CurrentTime -
aws:EpochTime -
aws:PrincipalAccount -
aws:PrincipalArn -
aws:PrincipallsAWSService -
aws:PrincipalOrgID -
aws:PrincipalOrgPaths -
aws:PrincipalType -
aws:PrincipalServiceName -
aws:PrincipalServiceNamesList -
aws:ResourceAccount -
aws:ResourceOrgID -
aws:ResourceOrgPaths -
aws:RequestedRegion -
aws:ResourceTag -
aws:SourceIp -
aws:SourceVpce -
aws:SourceVpc -
aws:userid -
aws:username -
aws:VpcSourceIp
以下は、データプレーン呼び出しのプリンシパルの IAM ポリシーの条件ブロックで aws:SourceIp を使用する例です。
"Condition": { "IpAddress": { "aws:SourceIp": "203.0.113.0" } }
以下は、データプレーン呼び出しのプリンシパルの IAM ポリシーの条件ブロックで aws:SourceVpc を使用する例です。
"Condition": { "StringEquals": { "aws:SourceVpc": "vpc-0fdd2445d8EXAMPLE" } }
さらに、以下の OpenSearch Serverless 固有のキーがサポートされています。
-
aoss:CollectionId -
aoss:collection
以下は、データプレーン呼び出しのプリンシパルの IAM ポリシーの条件ブロックで aoss:collection を使用する例です。
"Condition": { "StringLike": { "aoss:collection": "log-*" } }
OpenSearch API オペレーションの ABAC
アイデンティティベースのポリシーでは、Amazon OpenSearch Serverless データプレーン API へのアクセスの制御にタグを使用できます。以下のポリシーは、コレクションに team:devops タグがある場合に、アタッチされたプリンシパルがデータプレーン API にアクセスすることを許可する例です。
以下のポリシーは、コレクションに environment:production タグがある場合に、アタッチされたプリンシパルがデータプレーン API およびダッシュボードにアクセスすることを拒否する例です。
Amazon OpenSearch Serverless は、データプレーン API に対して RequestTag および TagKeys グローバル条件キーをサポートしていません。