AtlasFederatedAuth
カスタム リソースは、Atlas 組織のフェデレーティッド認証を構成します。
AtlasFederatedAuth
カスタム リソースを作成すると、Atlas Kubernetes Operator はフェデレーション認証 API リソースを使用してフェデレーションの組織構成を更新します。 組織構成では、組織やロールのマッピングなど、Atlas 組織のフェデレーション設定を指定します。
重要
カスタム リソースはデフォルトでオブジェクトを削除しなくなりました
Atlas Kubernetes Operator はカスタム リソース構成ファイルを使用して Atlas 構成を管理しますが、Atlas Kubernetes Operator 2.0 以降では、Kubernetes で削除したカスタム リソースは Atlas では削除されなくなりました。 代わりに、Atlas Kubernetes Operator はそれらのリソースの管理を停止します。 たとえば、Kubernetes でAtlasProject
カスタム リソースを削除すると、Atlas Kubernetes Operator による、Atlas 内の対応するプロジェクトの自動削除が行われなくなるた、意図しないまたは予期しない削除を防げます。 この動作を Atlas Kubernetes Operator 2.0 より前に使用されていたデフォルトに戻す方法などの詳細については、「新しいデフォルト: Atlas Kubernetes Operator 2.0 の削除保護 」を参照してください。
このリソースを使用するには、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 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.connectionSecretRef.name
型: string
必須
Atlas Kubernetes Operator が Atlas への接続に使用する組織IDとAPIキーを持つ単一の フィールドを含む opaque シークレットの名前。
password
シークレットを作成するときは、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 を指定します。名前空間パラメータ。
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