AtlasIPAccessList
カスタムリソースは、 Atlasプロジェクトの IP アクセス リストを構成します。IP アクセス リストを使用すると、最小アクセス ポリシーを使用してプロジェクトを保護できます。
重要
カスタム リソースはデフォルトでオブジェクトを削除しなくなりました
Atlas Kubernetes Operator は、 カスタムリソース構成ファイルを使用して Atlas 構成を管理しますが、Atlas Kubernetes Operator2.0 以降、 Kubernetesで削除したカスタム リソースは Atlas で削除されなくなりました(デフォルトでは )。代わりに、Atlas Kubernetes Operator は Atlas 内のそれらのリソースの管理を停止します。 例、 Kubernetesで カスタム リソースを削除すると、デフォルトでは、Atlas Kubernetes Operator は Atlas
AtlasProject
から対応するプロジェクトを自動的に削除しなくなります。この動作の変更は、誤ってまたは予期せずに削除されるのを防ぐことを目的としています。 この動作を Atlas Kubernetes Operator.2 0より前に使用されていたデフォルトに戻す方法などの詳細については、「新しいデフォルト: Atlas Kubernetes演算子.2 の削除保護」を参照してください。0同様に、Atlas Kubernetes Operator を使用してKubernetesの Atlasプロジェクトからチームを削除しても、Atlas Kubernetes Operator は Atlas からチームを削除しません。
デフォルトのAtlas 構成値が暗黙的に使用されるのを避けるために、必要な構成の詳細を明示的に定義します。 場合によっては、Atlas のデフォルトを継承すると調整ループが発生し、カスタムリソースが
READY
状態に達しなくなります。 例、含まれている例に示すように、AtlasDeployment
カスタムリソースで必要なオートスケーリング動作を明示的に定義すると、カスタムリソース内の静的インスタンスサイズが、オートスケーリングが有効になっている Atlas 配置に繰り返し適用されないことが保証されます。autoScaling: diskGB: enabled: true compute: enabled: true scaleDownEnabled: true minInstanceSize: M30 maxInstanceSize: M40
Atlas Kubernetes Operator は、Atlas プロジェクトIPアクセス リストAPIリソースを使用して次のいずれかのアクションを実行します。
新しいIP アクセス リストを作成します。
既存のIP アクセス リストを置き換えます。
例
基本的な例
次の例では、次のソースから my-project
プロジェクトへのアクセスを許可する AtlasIPAccessList
カスタムリソースが示されています。
cidrBlock
192.168.1.0/24
IP アドレス
10.0.0.1
10.0.0.1
からのアクセスは、2025 年 3 月 日の 31 後に期限切れになります。
apiVersion: atlas.mongodb.com/v1 kind: AtlasIPAccessList metadata: name: atlasipaccesslist-sample spec: projectRef: name: my-project namespace: my-operator-namespace entries: - cidrBlock: 192.168.1.0/24 - ipAddress: 10.0.0.1 deleteAfterDate: 2025-03-31T23:59:59+02:00 - awsSecurityGroup: sg-1234 comment: "AWS Access to my network peering"
独立した CRD の例
次の例は、基本的な例AtlasIPAccessList
で許可されている同じ CIDR ブロックとIPアドレスからのアクセスを許可する 独立した CRD を示しています。このカスタムリソース定義により、このリソースを定義する Atlas Kubernetes Operator のインスタンスの外部で管理するプロジェクトにIP アクセス リストを作成できます。 独立した操作 を有効にするには、projectRef
ではなく externalProjectRef
を使用する必要があります。また、このリソースは親プロジェクトからAPI認証情報を継承できないため、connectionSecret
を直接指定する必要があります。
apiVersion: atlas.mongodb.com/v1 kind: AtlasIPAccessList metadata: name: atlasipaccesslist-sample spec: externalProjectRef: projectId: 66e2f2b621571b7e69a89b66 connectionSecret: name: atlas-connection-secret entries: - cidrBlock: 192.168.1.0/24 - ipAddress: 10.0.0.1 deleteAfterDate: 2025-03-31T23:59:59+02:00 - awsSecurityGroup: sg-1234 comment: "AWS Access to my network peering"
パラメーター
このセクションでは、使用可能なAtlasIPAccessList
カスタム リソース パラメータについて説明します。
metadata.name
型: string
必須
AtlasIPAccessList
カスタム リソースがこのIP アクセス リストをプロジェクトに追加するために使用する名前。
spec.connectionSecret.name
型: string
条件付き
Atlas Kubernetes Operator が Atlas に接続するために使用する組織IDとAPIキーを含む opaque secret の名前。指定しない場合、Atlas Kubernetes Operator はデフォルトで次のいずれかのオプションになります。
親
atlasProject
のspec.connectionSecretRef.name
パラメータデフォルトの
global
シークレット(親atlasProject
に対してspec.connectionSecretRef.name
が未定義の場合)
このパラメータは独立した CRD に必要です。
Atlas Kubernetes Operator
atlas.mongodb.com/type=credentials
は、不要な シークレット の監視を回避するために、ラベル の シークレット のみを監視します 。次の例ではシークレットにラベルを付けます。
kubectl label secret the-user-password atlas.mongodb.com/type=credentials
spec.entries.[n].awsSecurityGroup
型: string
条件付き
プロジェクトへのアクセスを許可するAmazon Web Servicesセキュリティ グループの一意の識別子。
spec.entries
の各エントリには 1 つのみが必要で、awsSecurityGroup
、cidrBlock
、またはipAddress
のいずれか 1 つだけです。
spec.entries.[n].cidrBlock
型: string
条件付き
プロジェクトへのアクセスを許可する CIDR ブロック表記のIPアドレスの範囲。
spec.entries
の各エントリには 1 つのみが必要で、awsSecurityGroup
、cidrBlock
、またはipAddress
のいずれか 1 つだけです。
spec.entries.[n].deleteAfterDate
型: string
任意
Atlas が一時的なアクセス リスト エントリを削除する日時。
永続的なアクセス リスト エントリを作成するには、このパラメーターを省略します。
spec.entries.[n].ipAddress
型: string
任意
プロジェクトへのアクセスを許可する単一のIPアドレス。
spec.entries
の各エントリには 1 つのみが必要で、awsSecurityGroup
、cidrBlock
、またはipAddress
のいずれか 1 つだけです。
spec.externalProjectRef.id
型: string
条件付き
IP アクセス リストが属するプロジェクトのID 。 既存の Atlas プロジェクト のプロジェクトIDを指定する必要があります。このパラメータは、次のいずれかによって管理されているプロジェクトに属するIPアクセス リストに必要です。
Atlas Kubernetes Operator の別のインスタンス
Atlas Kubernetes Operator 以外のツール
Atlas Kubernetes Operator の同じインスタンスによって管理されるプロジェクトに属する配置では、
spec.externalProjectRef.id
を使用しない場合はspec.projectRef.name
を使用します。IP アクセス リストは1 つのプロジェクトにのみ属することができます。 複数のプロジェクトで同じIP アクセス リストを定義するには、プロジェクトごとにカスタムリソース定義 を作成します。
spec.projectRef.name
型: string
条件付き
IP アクセス リストが属するプロジェクトの名前。 既存の
AtlasProject
カスタム リソース を指定する必要があります。このパラメータは、同じインスタンスAtlas Kubernetes Operator によって管理されるプロジェクトに属するIPアクセス リストにのみ適用されます。次のいずれかによって管理されるプロジェクトに属する配置の場合、次のいずれかによって管理されます。
Atlas Kubernetes Operator の別のインスタンス
Atlas Kubernetes Operator 以外のツール
spec.externalProjectRef.id
を使用します。IP アクセス リストは1 つのプロジェクトにのみ属することができます。 複数のプロジェクトで同じIP アクセス リストを定義するには、プロジェクトごとにカスタムリソース定義 を作成します。
spec.projectRef.namespace
型: string
条件付き
で指定された
AtlasProject
カスタムspec.projectRef.name
リソースが存在する名前空間。次のいずれかによって管理されるプロジェクトに属する配置では、このパラメーターを設定しないでください。
Atlas Kubernetes Operator の別のインスタンス
Atlas Kubernetes Operator 以外のツール