タダです.
前回記事でOpenSearch Serverless のダッシュボードアクセスを Azure AD のエンタープライズアプリケーションに登録したユーザーを使って行いました.今回はグループで行ってみます.
Azure AD 側の設定
まずはエンタープライズアプリケーションを作ります.次に,シングルサインオンの設定で 基本的な SAML 構成
のセクションで2箇所設定します.1つ目はエンティティ ID の箇所で, aws:opensearch:[OpenSearch Serverless の AWS アカウント ID]
を埋めます.2つ目は応答 URL に https://collection.ap-northeast-1.aoss.amazonaws.com/_saml/acs
を指定します.
次に 属性とクレーム
のセクションでグループの グループ要求を追加
でグループクレームに アプリケーションに割り当てられているグループ
を選択し,ソース属性に グループ ID
を指定します.追加できたらグループのクレーム名( http://schemas.microsoft.com/ws/2008/06/identity/claims/groups
)をコピーしておきます.ここまで設定できたら保存し,SAML 証明書 のフェデレーション メタデータ XML をダウンロードしておきます.
そして,ダッシュボードにアクセスするグループを追加しておきます.グループのオブジェクト IDを OpenSearch Serverless 側の設定で使うためコピーしておきます.
OpenSearch Serverless 側の設定
ネットワークポリシーは前回記事と同じ設定のため割愛します.
SAML 認証設定
SAML 認証設定ですが,SAML プロバイダーを作成からプロバイダー名を入力し,ダウンロードしておいた XML ファイルをインポートし,グループ属性にグループのクレーム名( http://schemas.microsoft.com/ws/2008/06/identity/claims/groups
)を入力します
データアクセスポリシーの設定
データアクセスポリシーで SAML 認証するグループのオブジェクト ID を追加します.以下のようなポリシーを追加しました.
[ { "Rules": [ { "Resource": [ "collection/hoge" ], "Permission": [ "aoss:CreateCollectionItems", "aoss:DeleteCollectionItems", "aoss:UpdateCollectionItems", "aoss:DescribeCollectionItems" ], "ResourceType": "collection" }, { "Resource": [ "index/hoge/*" ], "Permission": [ "aoss:CreateIndex", "aoss:DeleteIndex", "aoss:UpdateIndex", "aoss:DescribeIndex", "aoss:ReadDocument", "aoss:WriteDocument" ], "ResourceType": "index" } ], "Principal": [ "saml/1234567891011/azuread/group/[グループオブジェクト ID]" ] } ]
ダッシュボードへのアクセス
ここまでの設定で設定が適切であれば,Azure AD の認証を突破してダッシュボードへアクセスできます.
まとめ
OpenSearch Serverless ダッシュボードへのアクセスを Azure AD のグループユーザーで行うようにしてみました.