重要
Atlas 管理APIで認証するには、APIキーではなくサービス アカウントを使用することをお勧めします。APIキーは、レガシー認証方法です。
Atlas 管理APIを使用して Atlas クラスターを管理するには、APIリクエストを認証する必要があります。Atlas Administration API は次の認証方法を受け入れています。
サービス アカウント アクセス トークン(OAuth 2.0)
APIキー(HTTPダイジェスト認証)
サービス アカウントとAPIキーを使用して、Atlas 組織とプロジェクトへのプログラムによるアクセスを構成する方法については、「Atlas 管理API 使用開始」ガイドを参照してください。
Atlas 管理API、クラスターに保存されているデータへのアクセスは提供されていません。データベースでデータを読み書きするには、適切な読み取りロールまたは書き込みロールを持つデータベースユーザーの認証情報を使用してクラスターで認証する必要があります。Atlas 管理API を使用して、データベースユーザーを作成および管理できます。
注意
次のセクションでは、Atlas Administration API認証方法について説明します。
サービス アカウントの概要
サービス アカウントは、 Atlas 管理API への認証を管理するための推奨方法です。サービス アカウント は、 クライアント認証情報フロー で業界標準の OAuth2.0 プロトコルを使用することで、APIキーに対するセキュリティを強化します。
サービス アカウントを使用すると、権限を管理し、APIリクエストを認証するアクセス トークンを作成できます。各サービス アカウントには、アクセス トークンを作成するためのユーザー名とパスワードとして機能するクライアントIDとシークレットがあります。アクセストークンを使用してAPIリクエストを作成する方法については、「APIリクエストの作成」を参照してください。
注意
IP アクセス リストは、サービス アカウント アクセス トークンの使用に適用され、作成または取り消しではありません。任意のIPアドレスからトークンを生成できますが、そのIPアドレスがアクセスリストにある場合のみ、APIを呼び出すことができます。
アクセス トークンは、OAuth 2.0 仕様に従って 1 時間(3600 秒)のみ有効です。この限られた有効期限は、攻撃者がリークされたアクセス トークンを時間制限なしに使用する、リプレイ攻撃を防ぎます。
各サービス アカウントは 1 つの組織にのみ属し、その組織内の任意の数のプロジェクトへのアクセスを許可できます。組織レベルのサービス アカウントにプロジェクトへのアクセス権を付与するには、プロジェクトへの既存のサービス アカウントのアクセス権の付与を参照してください。
Atlas ロールは、サービス アカウントがアクセス トークンで認証できる操作を制限します。サービス アカウントがAPIを呼び出すために必要な権限で必要なアクセス トークンを生成するようにするには、ユーザーの場合と同様にサービス アカウントにロールを割り当てる必要があります。
サービス アカウントまたはそのアクセス トークンを使用して、 Atlas UIから Atlas にログことはできません。サービス アカウントでは Atlas 管理APIへのアクセスのみが許可されます。これにはUIアクセスやクラスター データへのアクセスは含まれません。サービス アカウントの制限の詳細については、MongoDB の制限としきい値を参照してください。
APIキーの概要
重要
Atlas 管理APIで認証するには、 APIキーではなくサービス アカウントを使用することをお勧めします。APIキーは、レガシー認証方法です。
APIキーは、HTTPダイジェスト認証を使用する Atlas Administration APIへの認証のレガシーメソッドです。
APIキーには、公開キーと秘密キーの2つの部分があります。これらは、APIリクエストを認証するためにユーザー名とパスワードと同じ機能を果たします。APIキーを使用して API リクエストを作成する方法については、 「 API リクエストの作成」 を参照してください。
Atlas は、nonce と呼ばれる一意の値を使用して公開キーと秘密キーをハッシュします。HTTPダイジェスト認証の仕様に従って短時間のみ有効です。この限られた有効期限は、リプレイ攻撃を防ぎます。この場合、攻撃者は秘密キーをキャッシュして、時間制限なしに使用します。
各ペアのAPIキーは 1 つの組織にのみ属し、その組織内の任意の数のプロジェクトへのアクセスを許可できます。プロジェクトへの組織レベルのAPIキーアクセスを付与するには、プロジェクトへの既存のサービス アカウント アクセスの付与を参照してください。
Atlas ロールは、APIキーが実行できる操作を制限します。API キーが、必要な API 呼び出すに必要な権限を持っているようにするには、ユーザーと同様に API キーにロールを割り当てる必要があります。
APIキーを使用して Atlas UIから Atlas にログことはできません。APIキーはAtlas 管理APIへのアクセスのみを許可します。これには、UIアクセスやクラスター データへのアクセスは含まれません。
次のステップ
サービス アカウントとAPIキーの使用および管理方法については、次の手順を参照してください。