重要
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 リクエストの作成」を参照してください。
Tip
サービス アカウント トークンのベストプラクティス
サービス アカウント トークンを使用する場合は、次のベストプラクティスを考慮してください。
トークンの再利用: サービス アカウント アクセス トークンの有効期間は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 リクエストを作成する方法については、 Make an API リクエスト を参照してください。
Atlas は、nonce と呼ばれる一意の値を使用して公開キーと秘密キーをハッシュします。HTTPダイジェスト認証の仕様に従って短時間のみ有効です。この限られた有効期限は、リプレイ攻撃を防ぎます。この場合、攻撃者は秘密キーをキャッシュして、時間制限なしに使用します。
APIキーの各ペアは 1 つの組織にのみ属し、その組織内の任意の数のプロジェクトへのアクセスを許可できます。プロジェクトへの組織レベルのAPIキー アクセスを付与するには、「プロジェクトへの既存のサービス アカウント アクセスの付与」を参照してください。
Atlas ロール は、APIキーが実行できる操作を制限します。APIAPIキーが、必要なAPIを呼び出す権限を持っているようにするには、ユーザーと同様にAPIキーにロールを割り当てる必要があります。
APIキーを使用して Atlas UI から Atlas にログインできません。APIキーは Atlas 管理APIへのアクセスのみを許可します。これには、 UIアクセスやクラスター データへのアクセスは含まれません。
次のステップ
サービス アカウントとAPI キーの使用および管理方法を学ぶには、次の手順を参照してください。