重要
Atlas 管理APIで認証するには、 APIキーではなくサービス アカウントを使用することをお勧めします。APIキーは、レガシー認証方法です。
Atlas 管理APIを使用して Atlas クラスターを管理するには、APIリクエストを認証する必要があります。Atlas Administration API は次の認証方法を受け入れています。
サービス アカウント アクセス トークン( OAuth.2 0)
APIキー(HTTPダイジェスト認証)
サービス アカウントとAPIキーを使用して、Atlas の組織とプロジェクトへのプログラムによるアクセスを構成する方法については、Atlas Administration API 使用開始ガイドを参照してください。
Atlas 管理API、クラスターに保存されているデータへのアクセスは提供されていません。データベースでデータを読み書きするには、適切な読み取りロールまたは書き込みロールを持つデータベースユーザーの認証情報を使用してクラスターで認証する必要があります。Atlas 管理API を使用して、データベースユーザーを作成および管理できます。
注意
多くの Atlas Administration APIエンドポイント URL は /api/atlas/<version>/groups/<GROUP-ID>/ の形式に従います。ここで、<GROUP-ID> はプロジェクトIDです。これらのリソースでは、リクエストの認証に使用するサービス アカウントまたはAPIキーは、プロジェクトをホストする組織のメンバーである必要があります。それ以外の場合、Atlas は 401 エラーで応答します。
次のセクションでは、Atlas Administration API認証方法について説明します。
サービス アカウントの概要
サービス アカウントは、 Atlas Administration APIへの認証を管理するための推奨方法です。サービス アカウントは、クライアント認証情報フローで業界標準の OAuth 2.0プロトコルを使用することで、 APIキーに対するセキュリティを強化します。
サービス アカウントを使用すると、権限を管理し、 APIリクエストを認証するアクセス トークンを作成できます。各サービス アカウントには、クライアントIDとローテーション可能なシークレットがあり、アクセス トークンを作成するためのユーザー名とパスワードとして機能します。アクセストークンを使用してAPIリクエストを作成する方法については、 「 APIリクエストの作成 」を参照してください。
Tip
サービス アカウント トークンのベストプラクティス
サービス アカウント トークンを使用する場合は、次のベストプラクティスを考慮してください。
トークンの再利用: サービス アカウント アクセス トークンの有効期間は1時間(3600秒)です。この有効期間は、トークンを何度でも再利用できます。リクエストごとに新しいトークンを作成するのは避けてください。
必要に応じて新しいトークンを生成する: アクセストークンは更新できませんが、現在のトークンの有効期限が近づいたときには、新しいトークンを生成できます。これにより、サービスの中断が防止され、認可されたサービスアカウントへのアクセスを維持できます。
不要なトークンを取消する: トークンが不要になった場合は、トークンのアクセスを取消してセキュリティリスクを最小限に抑え、アクティブなトークンのみがサービス アカウントにアクセスできるようにします。
各サービス アカウントは 1 つの組織にのみ属し、その組織内の任意の数のプロジェクトへのアクセスを許可できます。組織レベルのサービス アカウントにプロジェクトへのアクセス権を付与するには、プロジェクトへの既存のサービス アカウントのアクセス権の付与を参照してください。
Atlas ロールは、サービス アカウントがアクセス トークンで認証できる操作を制限します。サービス アカウントがAPI呼び出すに必要な権限で必要なアクセス トークンを生成するようにするには、ユーザーの場合と同様にサービス アカウントにロールを割り当てる必要があります。
重要
プロジェクトレベルのサービス アカウントが組織または他のプロジェクトにアクセスできる場合、シークレットのローテーションや取り消しなど、ライフサイクルを管理するにはOrganization Owner ロールが必要です。
サービス アカウントまたはそのアクセス トークンを使用して、 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キーの使用および管理方法については、次の手順を参照してください。