継続は力なり

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

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

タダです.

OpenSearch Serverless のダッシュボードアクセスを Azure AD の SAML 経由で行うのを試してみたのでこの記事にまとめます.

OpenSearch Serverless の ダッシュボードアクセス方法

OpenSearch Serverless のダッシュボードアクセスの方法は IAM ユーザーの認証するか SAML 認証を行うかの選択ができます.今回は後者の手法を使います.SAML 認証の設定に関するドキュメントもあるため,ドキュメントの記載に則り設定をしていきます.

docs.aws.amazon.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 を指定します.ここまで設定できたら保存し,SAML 証明書 のフェデレーション メタデータ XML をダウンロードしておきます.

そして,ダッシュボードにアクセスするユーザーもしくはグループを追加しておきます.この記事ではユーザーを追加しました.ユーザープリンシパル名を OpenSearch Serverless 側の設定で使うためコピーしておきます.

OpenSearch Serverless 側の設定

大きく3つの設定をしていきます.

ネットワークポリシーの設定

ダッシュボードアクセスのネットワーク経路的にパブリックアクセスするか,VPC でアクセスするかを選択できます.この記事ではパブリックアクセスをしたいため,ネットワークポリシーでダッシュボードアクセスはパブリックを指定しておきます.

SAML 認証設定

次に SAML 認証設定ですが,SAML プロバイダーを作成からプロバイダー名を入力し,ダウンロードしておいた XML ファイルをインポートして終了です.

データアクセスポリシーの設定

最後にデータアクセスポリシーで SAML 認証するユーザーを追加します.以下のようなポリシーを追加しました.

[
  {
    "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/user/[ユーザープリンシパル名]"
    ]
  }
]

ダッシュボードへアクセスしてみる

OpenSearch Serverless で生成されたダッシュボード URL にアクセスします.すると,OpenSearchダッシュボード認証選択画面がでてくるので作成した SAML プロバイダー名を選択します.次に Azure AD の認証を突破するのですが,ここで設定で問題がなければダッシュボードに入れます.これで GUI でインデックスのデータ登録や変更,検索などなどができるようになりました.

まとめ

OpenSearch Serverless ダッシュボードへのアクセスを Azure AD の SAML で行うようにしてみました.