継続は力なり

タイトル通り定期的な更新を心掛けるブログです。

OpenSearch Serverless のダッシュボードアクセスを Azure AD の SAML 経由で行う~グループ編~

タダです.

前回記事でOpenSearch Serverless のダッシュボードアクセスを Azure AD のエンタープライズアプリケーションに登録したユーザーを使って行いました.今回はグループで行ってみます.

sadayoshi-tada.hatenablog.com

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 のグループユーザーで行うようにしてみました.