翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
AWS Identity and Access Management (IAM) は、管理者が AWS リソースへのアクセスを安全に制御 AWS のサービス するのに役立つ です。IAM 管理者は、どのユーザーを認証 (サインイン受け入れ) し、また OpenSearch Serverless リソースの使用を承認する (アクセス許可を付与する) かを制御します。IAM は、追加料金なしで AWS のサービス 使用できる です。
トピック
OpenSearch Serverless でのアイデンティティベースのポリシー
アイデンティティベースのポリシーのサポート: あり
アイデンティティベースポリシーは、IAM ユーザーグループ、ユーザーのグループ、ロールなど、アイデンティティにアタッチできる JSON 許可ポリシードキュメントです。これらのポリシーは、ユーザーとロールが実行できるアクション、リソース、および条件をコントロールします。ID ベースのポリシーの作成方法については、「IAM ユーザーガイド」の「カスタマー管理ポリシーでカスタム IAM アクセス許可を定義する」を参照してください。
IAM アイデンティティベースのポリシーでは、許可または拒否するアクションとリソース、およびアクションを許可または拒否する条件を指定できます。プリンシパルは、それが添付されているユーザーまたはロールに適用されるため、アイデンティティベースのポリシーでは指定できません。JSON ポリシーで使用できるすべての要素について学ぶには、「IAM ユーザーガイド」の「IAM JSON ポリシーの要素のリファレンス」を参照してください。
OpenSearch Serverless での ID ベースのポリシー例
OpenSearch Serverless での ID ベースのポリシー例については、「OpenSearch Serverless での ID ベースのポリシー例」を参照してください。
OpenSearch Serverless でのポリシーアクション
ポリシーアクションのサポート:あり
JSON ポリシーの Action
要素にはポリシー内のアクセスを許可または拒否するために使用できるアクションが記述されます。ポリシーアクションの名前は通常、関連する AWS API オペレーションと同じです。一致する 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 ポリシー要素はアクションが適用されるオブジェクトを指定します。ステートメントにはResource
または NotResource
要素を含める必要があります。ベストプラクティスとして、アマゾン リソースネーム (ARN) を使用してリソースを指定します。これは、リソースレベルの許可と呼ばれる特定のリソースタイプをサポートするアクションに対して実行できます。
オペレーションのリスト化など、リソースレベルの権限をサポートしないアクションの場合は、ステートメントがすべてのリソースに適用されることを示すために、ワイルドカード (*) を使用します。
"Resource": "*"
Amazon OpenSearch Serverless のポリシー条件キー
サービス固有のポリシー条件キーのサポート: あり
管理者は JSON AWS ポリシーを使用して、誰が何にアクセスできるかを指定できます。つまり、どのプリンシパルが、どのリソースに対してどのような条件下でアクションを実行できるかということです。
Condition
要素 (または Condition
ブロック) を使用すると、ステートメントが有効な条件を指定できます。Condition
要素はオプションです。イコールや未満などの 条件演算子 を使用して条件式を作成して、ポリシーの条件とリクエスト内の値を一致させることができます。
1 つのステートメントに複数の Condition
要素を指定する場合、または 1 つの Condition
要素に複数のキーを指定する場合、 AWS では AND
論理演算子を使用してそれらを評価します。1 つの条件キーに複数の値を指定すると、 は論理OR
オペレーションを使用して条件 AWS を評価します。ステートメントの権限が付与される前にすべての条件が満たされる必要があります。
条件を指定する際にプレースホルダー変数も使用できます。例えば IAM ユーザーに、IAM ユーザー名がタグ付けされている場合のみリソースにアクセスできる権限を付与することができます。詳細については、「IAM ユーザーガイド」の「IAM ポリシーの要素: 変数およびタグ」を参照してください。
AWS は、グローバル条件キーとサービス固有の条件キーをサポートしています。すべての 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) は、属性に基づいてアクセス許可を定義する認可戦略です。では AWS、これらの属性はタグと呼ばれます。タグは、IAM エンティティ (ユーザーまたはロール) および多くの AWS リソースにアタッチできます。エンティティとリソースのタグ付けは、ABAC の最初の手順です。その後、プリンシパルのタグがアクセスしようとしているリソースのタグと一致した場合にオペレーションを許可するように ABAC ポリシーをします。
ABAC は、急成長する環境やポリシー管理が煩雑になる状況で役立ちます。
タグに基づいてアクセスを管理するには、aws:ResourceTag/
、key-name
aws:RequestTag/
、または key-name
aws:TagKeys
の条件キーを使用して、ポリシーの 条件要素でタグ情報を提供します。
サービスがすべてのリソースタイプに対して 3 つの条件キーすべてをサポートする場合、そのサービスの値はありです。サービスが一部のリソースタイプに対してのみ 3 つの条件キーのすべてをサポートする場合、値は「部分的」になります。
ABAC の詳細については、「IAM ユーザーガイド」の「ABAC 認可でアクセス許可を定義する」を参照してください。ABAC をセットアップする手順を説明するチュートリアルについては、「IAM ユーザーガイド」の「属性ベースのアクセスコントロール (ABAC) を使用する」を参照してください。
OpenSearch Serverless リソースでのタグ付けの詳細については、「Amazon OpenSearch Serverless コレクション」を参照してください。
OpenSearch Serverless での一時的な認証情報の使用
一時的な認証情報のサポート: あり
一部の AWS のサービス は、一時的な認証情報を使用してサインインすると機能しません。一時的な認証情報 AWS のサービス を使用する機能などの詳細については、AWS のサービス 「IAM ユーザーガイド」の「IAM と連携する 」を参照してください。
ユーザー名とパスワード以外の AWS Management Console 方法で にサインインする場合、一時的な認証情報を使用します。例えば、会社のシングルサインオン (SSO) リンク AWS を使用して にアクセスすると、そのプロセスによって一時的な認証情報が自動的に作成されます。また、ユーザーとしてコンソールにサインインしてからロールを切り替える場合も、一時的な認証情報が自動的に作成されます。ロールの切り替えに関する詳細については、「IAM ユーザーガイド」の「ユーザーから IAM ロールに切り替える (コンソール)」を参照してください。
一時的な認証情報は、 AWS CLI または AWS API を使用して手動で作成できます。その後、これらの一時的な認証情報を使用してアクセスすることができます AWS。長期的なアクセスキーを使用する代わりに、一時的な認証情報 AWS を動的に生成することをお勧めします。詳細については、「IAM の一時的セキュリティ認証情報」を参照してください。
Amazon OpenSearch Serverless でのサービスにリンクされたロール
サービスリンクロールのサポート: あり
サービスにリンクされたロールは、 にリンクされたサービスロールの一種です AWS のサービス。サービスは、ユーザーに代わってアクションを実行するロールを引き受けることができます。サービスにリンクされたロールは に表示され AWS アカウント 、 サービスによって所有されます。IAM 管理者は、サービスリンクロールのアクセス許可を表示できますが、編集することはできません。
OpenSearch Serverless でのサービスにリンクされたロールの作成または管理の詳細については、「サービスにリンクされたロールを使用した OpenSearch Serverless コレクションの作成」を参照してください。
OpenSearch Serverless での ID ベースのポリシー例
デフォルトでは、OpenSearch Serverless リソースを作成または変更する許可は、ユーザーおよびロールに付与されていません。また、、 AWS Command Line Interface (AWS CLI) AWS Management Console、または AWS API を使用してタスクを実行することはできません。IAM 管理者は、リソースで必要なアクションを実行するための権限をユーザーに付与する 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 のサービス、サービスアクションへのアクセスを許可することもできます AWS CloudFormation。詳細については、「IAM ユーザーガイド」の「IAM JSON ポリシー要素:条件」を参照してください。
-
IAM Access Analyzer を使用して IAM ポリシーを検証し、安全で機能的な権限を確保する - IAM Access Analyzer は、新規および既存のポリシーを検証して、ポリシーが 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 または 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"
}
]
}
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 へのアクセスをユーザーに許可しています。
{
"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
と 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:SourceIp
-
aws:userid
-
aws:username
以下は、データプレーン呼び出しのプリンシパルの IAM ポリシーaws:SourceIp
の条件ブロックで を使用する例です。
"Condition": {
"IpAddress": {
"aws:SourceIp": "52.95.4.14"
}
}
さらに、以下の OpenSearch Serverless 固有のキーがサポートされています。
-
aoss:CollectionId
-
aoss:collection
以下は、データプレーン呼び出しのプリンシパルの IAM ポリシーaoss:collection
の条件ブロックで を使用する例です。
"Condition": {
"StringLike": {
"aoss:collection": "log-*"
}
}