AtlasFederatedAuth
カスタム リソース
AtlasFederatedAuth
カスタム リソースは、Atlas 組織のフェデレーティッド認証を構成します。
AtlasFederatedAuth
カスタム リソースを作成すると、Atlas Kubernetes Operator はフェデレーション認証 API リソースを使用してフェデレーションの組織構成を更新します。 組織構成では、組織やロールのマッピングなど、Atlas 組織のフェデレーション設定を指定します。
重要
カスタム リソースはデフォルトでオブジェクトを削除しなくなりました
Atlas Kubernetes Operator はカスタムリソース構成ファイルを使用して Atlas2.0 構成を管理しますが、 Atlas Kubernetes Operator 以降、 Kubernetesで削除したカスタム リソースは Atlas で削除されなくなりました(デフォルトでは )。代わりに、Atlas Kubernetes Operator は Atlas 内のそれらのリソースの管理を停止します。例、 Kubernetesで カスタム リソースを削除すると、デフォルトでは、Atlas Kubernetes Operator
AtlasProject
は Atlas から対応するプロジェクトを自動的に削除しなくなります。この動作の変更は、誤ってまたは予期せずに削除されるのを防ぐことを目的としています。この動作を Atlas Kubernetes Operator2 0より前に使用されていたデフォルトに戻す方法などの詳細については、 をご覧ください。 については、「 新しいデフォルト: Atlas Kubernetes Operator の削除保護 」を参照してください。20 。同様に、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 組織にリンクされた既存の ID プロバイダー( IdP )が必要です。 詳細については、「 Kubernetes からのフェデレーション認証の活用 」を参照してください。
例
次の例では、次の操作を実行するAtlasFederatedAuth
カスタム リソースを構成します。
承認されたドメインとして
my-org-domain.com
を追加します。組織のドメイン制限を有効にします。
SSOのデバッグを無効にします。
認証後のユーザーに
Organization Member
ロールを付与します。組織の
Organization Owner
ロールをマッピングし、org-admin
という名前のIdPグループにロール マッピングを適用します。dev-project
という名前の組織内のプロジェクトのOrganization Project Creator
} ロールとProject Owner
ロールをマッピングし、dev-team
という名前のIdPグループにロール マッピングを適用します。
apiVersion: atlas.mongodb.com/v1 kind: AtlasFederatedAuth metadata: name: atlas-default-federated-auth namespace: mongodb-atlas-system spec: enabled: true dataAccessIdentityProviders: - 32b6e34b3d91647abb20e7b8 - 42d8v92k5a34184rnv93f0c1 connectionSecretRef: name: my-org-secret namespace: mongodb-atlas-system domainAllowList: - my-org-domain.com domainRestrictionEnabled: true ssoDebugEnabled: false postAuthRoleGrants: - ORG_MEMBER roleMappings: - externalGroupName: org-admin roleAssignments: - role: ORG_OWNER - externalGroupName: dev-team roleAssignments: - role: ORG_GROUP_CREATOR - projectName: dev-project role: GROUP_OWNER status: conditions: - type: Ready status: True - type: RolesReady status: True - type: UsersReady status: True
注意
前の例には、更新プロセスを説明するstatus
セクションが含まれています。 詳しくは、「プロセスの作成と更新 」を参照してください。
パラメーター
このセクションでは、 AtlasFederatedAuth
カスタム リソースで使用できるパラメータについて説明します。 パラメーターの詳細な説明については、 Atlas フェデレーティッド認証 API リソース を参照してください。
これらの説明、このページの例、および API ドキュメントを参照して、仕様をカスタマイズします。
metadata.name
型: string
必須
Atlas Kubernetes Operator が組織のフェデレーティッド認証を構成するために使用する
AtlasFederatedAuth
カスタム リソースを識別する名前。
metadata.namespace
型: string
任意
AtlasFederatedAuth
カスタム リソースを配置する名前空間。
spec.enabled
タイプ: ブール値
必須
組織に対してフェデレーティッド認証を有効にするかどうかを決定するフラグ。 デフォルトは
false
です。
spec.dataAccessIdentityProviders
タイプ: list
任意
List of string values that identify the identity providers that Atlas Kubernetes Operator uses to configure federated authentication for the organization.
注意
The
dataAccessIdentityProviders
parameter defines one or more identity providers that are used for data access. This means that they are used to access the actual MongoDB database instances, as configured in the AtlasDatabaseUser resource. This is different from the existing options in the AtlasFederatedAuth resource which is used to configure using identity providers for the Atlas UI.
spec.connectionSecretRef.name
型: string
必須
不可視 シークレット の名前
password
Atlas Kubernetes Operator が Atlas への 接続 に使用する組織 ID と API キー を含む、単一の フィールドを含みます。シークレット を作成するときは、orgID
、publicApiKey
、privateApiKey
フィールドを指定します。シークレットの API キーには
Organization Owner
ロールが必要です。 シークレットに 権限がある場合にのみ、Organization Owner
AtlasProject
カスタム リソース から同じシークレットを使用できます。Atlas Kubernetes Operator
atlas.mongodb.com/type=credentials
は、不要な シークレット の監視を回避するために、ラベル の シークレット のみを監視します 。次の例ではシークレットにラベルを付けます。
kubectl label secret the-user-password atlas.mongodb.com/type=credentials 注意
デフォルトでは、Atlas Kubernetes Operator は同じ 名前空間 に接続シークレットを保持します
AtlasProject
カスタム リソース として。別の 名前空間 でシークレットを保存するには 、spec. connectionSecretRef.namespace パラメータを指定します。
spec.connectionSecretRef.namespace
型: string
任意
名前空間 シークレット を含む に、Atlas Kubernetes Operator が Atlas に 接続するため に使用する組織 ID と API キー を設定します。このパラメーターを省略または指定しない場合、Atlas Kubernetes Operator は同じ 名前空間
AtlasProject
に接続シークレットを保持します。 カスタム リソースとして。
spec.domainAllowList
タイプ: 文字列の配列
任意
メールアドレスに基づいて組織に参加できるユーザーを制限する承認済みドメイン。
spec.domainRestrictionEnabled
タイプ: ブール値
必須
接続済み組織に対してドメイン制限が有効になっているかどうかを示すフラグ。 デフォルトは
false
です。このパラメータを
true
に設定すると、Atlas はフェデレーション外の組織に属するユーザーのリストを返します。 詳細については、「ユーザー競合 」を参照してください。
spec.ssoDebugEnabled
タイプ: ブール値
任意
IdP でSSOのデバッグが有効になっているかどうかを示すフラグ。 デフォルトは
false
です。
spec.postAuthRoleGrants
タイプ: 文字列の配列
任意
認証後にこの組織内のユーザーに付与される Atlas ロール。以下に例を挙げます。
ORG_MEMBER
ORG_READ_ONLY
ORG_BILLING_ADMIN
ORG_GROUP_CREATOR
ORG_OWNER
ORG_BILLING_READ_ONLY
ORG_TEAM_MEMBERS_ADMIN
許容値の完全なリストについては、フェデレーティッド認証 API リソース を参照してください。
spec.roleMappings
タイプ: オブジェクトの配列
任意
この組織で設定されているロール マッピング。
spec.roleMappings.roleAssignments パラメーターには、現在の組織内の少なくとも 1 つの組織ロールまたは組織内のプロジェクトを含める必要があります。
spec.roleMappings.externalGroupName
型: string
必須
このロール・マッピングが適用される IdP グループを識別する、人間に判読可能なユニークなラベル。
spec.roleMappings.roleAssignments
タイプ: オブジェクトの配列
任意
Atlas のロールと、各ロールに関連付けられたグループおよび組織の一意の識別子。 このパラメーターには、現在の組織内の少なくとも 1 つの組織ロールまたは組織内のプロジェクトを含める必要があります。
spec.roleMappings.roleAssignments.projectName
型: string
任意
ロールを関連付ける組織内の Atlas プロジェクト。
spec.roleMappings.roleAssignments.role
型: string
任意
Atlas が特定の API キー、ユーザー、またはチームに付与する特権のコレクションを識別する、人間が判読可能なラベル。 これらのロールには、組織レベルとプロジェクト レベルの特権が含まれます。
Atlas Kubernetes Operator は、次の値を受け入れます。
ORG_MEMBER
ORG_READ_ONLY
ORG_BILLING_ADMIN
ORG_GROUP_CREATOR
ORG_OWNER
ORG_BILLING_READ_ONLY
ORG_TEAM_MEMBERS_ADMIN
GROUP_AUTOMATION_ADMIN
GROUP_BACKUP_ADMIN
GROUP_MONITORING_ADMIN
GROUP_OWNER
GROUP_READ_ONLY
GROUP_USER_ADMIN
GROUP_BILLING_ADMIN
GROUP_DATA_ACCESS_ADMIN
GROUP_DATA_ACCESS_READ_ONLY
GROUP_DATA_ACCESS_READ_WRITE
GROUP_CHARTS_ADMIN
GROUP_CLUSTER_MANAGER
GROUP_SEARCH_INDEX_EDITOR