λ€μν μ ν리μΌμ΄μ κ³Ό νκ²½μμ μμ νκ³ νμ₯ κ°λ₯ν μ κ·Ό μ μ΄μ λ―ΈμΉλ μΌλ°μ μΈ ID κ΄λ¦¬(IdM)μ νμ μμ μ±μ μ΄ν΄λ³΄μΈμ.
μΌλ°μ μΈ ID κ΄λ¦¬: μ κ·Ό μ μ΄ νμ μμ μ±
μ€λλ μ 볡μ‘ν λμ§νΈ νκ²½μμ μ¬μ©μ IDλ₯Ό κ΄λ¦¬νκ³ λ¦¬μμ€μ λν μ κ·Όμ μ μ΄νλ κ²μ λ§€μ° μ€μν©λλ€. ID κ΄λ¦¬(IdM) μμ€ν μ κΆνμ΄ μλ κ°μΈλ§ λ―Όκ°ν λ°μ΄ν°μ κΈ°λ₯μ μ κ·Όν μ μλλ‘ νλ λ° μ€μν μν μ ν©λλ€. μ ν리μΌμ΄μ μ΄ λμ± λ€μν΄μ§κ³ λΆμ°λ¨μ λ°λΌ μ μ°νκ³ νμ₯ κ°λ₯ν IdM μ루μ μ λν νμμ±μ΄ μ¦κ°νκ³ μμ΅λλ€. μ΄ λΈλ‘κ·Έ κ²μλ¬Όμμλ μΌλ°μ μΈ IdMμμ νμ μμ μ±μ κ°λ μ νꡬνμ¬ κ°λ ₯νκ³ μμ ν μ κ·Ό μ μ΄ λ©μ»€λμ¦μ ꡬμΆνλ λ° μμ΄ κ·Έ μ΄μ κ³Ό κ³Όμ λ₯Ό κ°μ‘°ν©λλ€.
μΌλ°μ μΈ ID κ΄λ¦¬λ 무μμ λκΉ?
κΈ°μ‘΄ IdM μμ€ν μ νΉμ μ ν리μΌμ΄μ λλ κΈ°μ κ³Ό λ°μ νκ² κ²°ν©λμ΄ μλ‘μ΄ νκ²½μ μ μνκ±°λ κΈ°μ‘΄ μΈνλΌμ ν΅ν©νκΈ°κ° μ΄λ ΅μ΅λλ€. μΌλ°μ μΈ IdMμ ID λ° μ κ·Ό μ μ΄ μ μ± μ κ΄λ¦¬νκΈ° μν νλ«νΌ λ 립μ μΈ νλ μμν¬λ₯Ό μ 곡νμ¬ μ΄λ¬ν μ ν μ¬νμ ν΄κ²°νλ κ²μ λͺ©νλ‘ ν©λλ€. μ΄λ₯Ό ν΅ν΄ μ‘°μ§μ κΈ°λ³Έ κΈ°μ μ΄λ λ°°ν¬ λͺ¨λΈμ κ΄κ³μμ΄ κ΄λ²μν μ ν리μΌμ΄μ μμ μΌκ΄λ 보μ μ μ± μ μ μνκ³ μνν μ μμ΅λλ€.
μΌλ°μ μΈ IdMμ μΌλ°μ μΌλ‘ λ€μκ³Ό κ°μ μ£Όμ κ΅¬μ± μμλ₯Ό ν¬ν¨ν©λλ€.
- ID μ μ₯μ: μ¬μ©μ μ΄λ¦, μνΈ, μν λ° μμ±κ³Ό κ°μ μ¬μ©μ ID μ 보λ₯Ό μ μ₯ν©λλ€.
- μΈμ¦ μλΉμ€: μ¬μ©μ IDλ₯Ό νμΈνκ³ μΈμ¦ ν ν°μ λ°κΈν©λλ€.
- κΆν λΆμ¬ μλΉμ€: μ¬μ©μκ° νΉμ 리μμ€μ μ κ·Όνκ±°λ νΉμ μμ μ μννλ λ° νμν κΆνμ΄ μλμ§ νμΈν©λλ€.
- μ μ± μμ§: μ¬μ©μ μμ±, 리μμ€ μμ± λ° νκ²½ 쑰건μ κΈ°λ°μΌλ‘ μ κ·Ό μ μ΄ μ μ± μ νκ°ν©λλ€.
- κ΄λ¦¬ μ½μ: ID, μν , κΆν λ° μ μ± μ κ΄λ¦¬νκΈ° μν μ¬μ©μ μΈν°νμ΄μ€λ₯Ό μ 곡ν©λλ€.
μ κ·Ό μ μ΄μμ νμ μμ μ±μ μ€μμ±
νμ μμ μ±μ μ»΄νμΌ μκ°μ νμ μ€λ₯λ₯Ό λ°©μ§νμ¬ μμ μ΄ νΈν κ°λ₯ν λ°μ΄ν° νμ μμ μνλλλ‘ λ³΄μ₯νλ νλ‘κ·Έλλ° μΈμ΄ κΈ°λ₯μ λλ€. μ κ·Ό μ μ΄μ λ§₯λ½μμ νμ μμ μ±μ λ¬΄λ¨ μ κ·Όμ λ°©μ§νκ³ μμ€ν μ 무결μ±μ 보μ₯νλ λ° μ€μν μν μ ν©λλ€. νμ μμ μ±μ΄ μμΌλ©΄ μκΈ°μΉ μμ λ°μ΄ν° λ³ν, μλͺ»λ λ§€κ°λ³μ νμ λλ μΌκ΄μ± μλ μ μ± μ μλ‘ μΈν΄ μ·¨μ½μ μ΄ λ°μν μ μμ΅λλ€.
λ€μ μλ리μ€λ₯Ό κ³ λ €νμμμ€.
- μ ν리μΌμ΄μ μ΄ μ¬μ©μ IDκ° μ μμΌ κ²μΌλ‘ μμνμ§λ§ λ¬Έμμ΄μ μμ νμ¬ μκΈ°μΉ μμ μ€λ₯ λλ 보μ μ°νλ₯Ό μ΄λν©λλ€.
- μ κ·Ό μ μ΄ μ μ± μ΄ μ² μκ° ν리거λ μλ‘ λ€λ₯Έ μμ€ν μμ μΌκ΄μ±μ΄ μλ μν μ΄λ¦μ κΈ°λ°μΌλ‘ κΆνμ λΆμ¬ν©λλ€.
- λ°μ΄ν° νμ λΆμΌμΉλ‘ μΈν΄ 리μμ€ μμ±μ΄ μλͺ» ν΄μλμ΄ μλνμ§ μμ μ κ·Όμ΄ νμ©λ©λλ€.
νμ μμ μ±μ μ격ν νμ κ²μ¬λ₯Ό μννκ³ μ΄λ¬ν μ’ λ₯μ μ€λ₯κ° μ²μλΆν° λ°μνμ§ μλλ‘ νμ¬ μ΄λ¬ν μνμ μννλ λ° λμμ΄ λ©λλ€. λ°μ΄ν° νμ μ΄ μΌκ΄λκ³ μμ μ΄ νΈν κ°λ₯ν κ°μμ μνλλλ‘ ν¨μΌλ‘μ¨ νμ μμ μ±μ μ κ·Ό μ μ΄ λ©μ»€λμ¦μ μμ μ±κ³Ό 보μμ ν₯μμν΅λλ€.
μ λ€λ¦μ΄ μ΄λ»κ² νμ μμ ν IdMμ κ°λ₯νκ² νλκ°
μ λ€λ¦μ κ°λ°μκ° μ»΄νμΌ μκ°μ μ νν νμ μ μ§μ νμ§ μκ³ λ μλ‘ λ€λ₯Έ λ°μ΄ν° νμ μΌλ‘ μμ ν μ μλ μ½λλ₯Ό μμ±ν μ μλλ‘ νλ νλ‘κ·Έλλ° μΈμ΄ κΈ°λ₯μ λλ€. IdMμ λ§₯λ½μμ μ λ€λ¦μ κ΄λ²μν 리μμ€μ μ ν리μΌμ΄μ μ μ μ©ν μ μλ νμ μμ ν μ κ·Ό μ μ΄ μ μ± μ μμ±νλ λ° μ¬μ©ν μ μμ΅λλ€.
μλ₯Ό λ€μ΄, μ¬μ©μμ μν μ λ°λΌ 리μμ€μ λν μ κ·Ό κΆνμ λΆμ¬νλ μ κ·Ό μ μ΄ μ μ± μ κ³ λ €ν΄ λ³΄μμμ€. μ λ€λ¦μ μ¬μ©νμ¬ μλ‘ λ€λ₯Έ μ νμ μν κ³Ό 리μμ€μ μ¬μ©ν μ μλ νμ μμ ν μν κΈ°λ° μ κ·Ό μ μ΄(RBAC) μμ€ν μ μ μν μ μμ΅λλ€.
μ λ€λ¦ μ§μμ΄ μλ κ°μ μΈμ΄λ₯Ό μ¬μ©ν κ°λ μ μμ λ λ€μκ³Ό κ°μ΅λλ€.
interface Resource {
getId(): string;
getType(): T;
}
interface Permission {
canAccess(user: User, resource: Resource): boolean;
}
interface Role {
getName(): string;
hasPermission(permission: Permission): boolean;
}
class User {
getId(): string;
getRoles(): Role[];
}
function checkAccess(user: User, resource: Resource, permission: Permission): boolean {
for (const role of user.getRoles()) {
if (role.hasPermission(permission)) {
return true;
}
}
return false;
}
// μμ μ¬μ©λ²:
interface DocumentType {
classification: string;
}
class Document implements Resource {
id: string;
type: DocumentType;
constructor(id: string, type: DocumentType) {
this.id = id;
this.type = type;
}
getId(): string { return this.id; }
getType(): DocumentType { return this.type; }
}
class ReadDocumentPermission implements Permission {
canAccess(user: User, resource: Document): boolean {
// μ¬μ©μ μμ± λ° λ¬Έμ λΆλ₯λ₯Ό κΈ°λ°μΌλ‘ μ κ·Όμ κ²°μ νκΈ° μν 볡μ‘ν λ‘μ§
return resource.type.classification === 'public';
}
}
// λ¬Έμ μμ±
const document = new Document("123", { classification: "public" });
// κΆν μμ±
const readPermission = new ReadDocumentPermission();
// μ κ·Ό νμΈ
// μ΄κ²μ νμ
μμ μ±μ 보μ¬μ€λλ€. checkAccess ν¨μλ Resourceμ Permission νμ
μ΄ μΌμΉνλμ§ νμΈν©λλ€(κ°κ° Document λ° DocumentType).// μΌμΉνμ§ μμΌλ©΄ μ»΄νμΌλ¬κ° μ€λ₯λ₯Ό νμν©λλ€.
// 'user' μ¬μ©μ κ°μ²΄κ° μλ€κ³ κ°μ ν©λλ€.
// const canAccess = checkAccess(user, document, readPermission);
μ΄ μμ μμ `Resource` μΈν°νμ΄μ€λ μ λ€λ¦μΌλ‘, μλ‘ λ€λ₯Έ μ νμ 리μμ€λ₯Ό λνλΌ μ μμ΅λλ€. `Permission` μΈν°νμ΄μ€λ μ λ€λ¦μΌλ‘, 리μμ€μ λμΌν νμ μ νμ©ν©λλ€. κ·Έλ° λ€μ `checkAccess` ν¨μλ 리μμ€ νμ κ³Ό μΌμΉνλ κΆνλ§ νκ°λλλ‘ ν©λλ€. μ΄ μ κ·Ό λ°©μμ νμ μμ μ±μ 보μ₯νκ³ νμ λΆμΌμΉλ‘ μΈν μκΈ°μΉ μμ λμμ λ°©μ§ν©λλ€.
νμ μμ ν μ λ€λ¦ IdMμ μ΄μ
μ λ€λ¦ IdMμμ νμ μμ μ±μ ꡬννλ©΄ λͺ κ°μ§ μ€μν μ΄μ μ μ»μ μ μμ΅λλ€.
- μ€λ₯ μν κ°μ: νμ μμ μ±μ κ°λ° μ£ΌκΈ° μ΄κΈ°μ μ€λ₯λ₯Ό ν¬μ°©νλ λ° λμμ΄ λμ΄ λ°νμ μμΈ λ° λ³΄μ μ·¨μ½μ μ μνμ μ€μ λλ€. μ»΄νμΌ μκ°μ νμ κ²μ¬λ₯Ό μνν¨μΌλ‘μ¨ κ°λ°μλ μ μ¬μ μΈ λ¬Έμ λ₯Ό νλ‘λμ μ ν¬μ λκΈ° μ μ μλ³νκ³ μμ ν μ μμ΅λλ€.
- μ½λ μ μ§ κ΄λ¦¬μ± ν₯μ: νμ μμ ν μ½λλ μ΄ν΄, μ μ§ κ΄λ¦¬ λ° λ¦¬ν©ν°λ§μ΄ λ μ½μ΅λλ€. λͺ μμ νμ μ μΈμ μ½λλ₯Ό λ μ체 μ€λͺ μ μΌλ‘ λ§λ€μ΄ κ΄λ²μν μ£Όμ λ° μ€λͺ μμ νμμ±μ μ€μ λλ€. μ λ€λ¦μ νμ μμ μ±μ ν¬μνμ§ μκ³ μλ‘ λ€λ₯Έ λ°μ΄ν° νμ μμ μ½λλ₯Ό μ¬μ¬μ©ν μ μλλ‘ νμ¬ μ μ§ κ΄λ¦¬μ±μ λμ± ν₯μμν΅λλ€.
- 보μ κ°ν: νμ μμ μ±μ λ¬΄λ¨ μ κ·Ό λ° λ°μ΄ν° μ μΆμ λ°©μ§νλ λ° λμμ΄ λ©λλ€. μ κ·Ό μ μ΄ μ μ± μ΄ μ¬λ°λ₯΄κ² μνλλλ‘ ν¨μΌλ‘μ¨ νμ μμ μ±μ μλνμ§ μμ μ κ·Ό λλ κΆν μμΉμ μνμ μ€μ λλ€. μ΄λ λ°μ΄ν° κΈ°λ°μ± λ° λ¬΄κ²°μ±μ΄ μ€μν λ―Όκ°ν μ ν리μΌμ΄μ μμ νΉν μ€μν©λλ€.
- νμ₯μ± μ¦κ°: μ λ€λ¦ IdMμ λ§μ μμ μ¬μ©μ, 리μμ€ λ° μ ν리μΌμ΄μ μ μ§μνλλ‘ νμ₯ν μ μμ΅λλ€. μ¬μ¬μ© κ°λ₯ν μ κ·Ό μ μ΄ μ μ± μ μ μνκ³ μλ‘ λ€λ₯Έ νκ²½μμ μΌκ΄λκ² μ μ©νλ κΈ°λ₯μ 볡μ‘ν ID λ° μ κ·Ό μ μ΄ μλ리μ€μ κ΄λ¦¬λ₯Ό λ¨μνν©λλ€.
- λ λμ ν΅ν©: νμ μμ μ±μ λ€λ₯Έ μμ€ν λ° μ ν리μΌμ΄μ κ³Όμ ν΅ν©μ μ©μ΄νκ² ν©λλ€. μΌκ΄λκ³ μ μ μλ APIλ₯Ό μ 곡ν¨μΌλ‘μ¨ μ λ€λ¦ IdMμ μλ‘ λ€λ₯Έ κ΅¬μ± μμ κ°μ μνν ν΅μ λ° λ°μ΄ν° κ΅νμ κ°λ₯νκ² ν©λλ€. μ΄λ₯Ό ν΅ν΄ μνΈ μ΄μ©μ±μ΄ μ΄μ§λκ³ IdMμ κΈ°μ‘΄ μΈνλΌμ ν΅ν©νλ 볡μ‘μ±μ΄ μ€μ΄λλλ€.
νμ μμ ν μ λ€λ¦ IdM ꡬνμ κ³Όμ
νμ μμ μ±μ λ§μ μ΄μ μ μ 곡νμ§λ§ μ λ€λ¦ IdMμμ μ΄λ₯Ό ꡬννλ λ° λͺ κ°μ§ κ³Όμ κ° λ°λ₯Ό μ μμ΅λλ€.
- 볡μ‘μ±: νμ μμ ν μ κ·Ό μ μ΄ μ μ± μ μ€κ³νκ³ κ΅¬ννλ κ²μ κΈ°μ‘΄μ λμ μΌλ‘ νμ μ΄ μ§μ λ μ κ·Ό λ°©μλ³΄λ€ λ 볡μ‘ν μ μμ΅λλ€. κ°λ°μλ κ΄λ ¨λ λ°μ΄ν° νμ μ μ μ€νκ² κ³ λ €νκ³ λͺ¨λ μμ μ΄ νΈν κ°λ₯ν κ°μμ μνλλλ‘ ν΄μΌ ν©λλ€.
- κ°λ° μκ°: νμ μμ μ±μ ꡬννλ©΄ νΉν νλ‘μ νΈ μ΄κΈ° λ¨κ³μμ κ°λ° μκ°μ΄ λμ΄λ μ μμ΅λλ€. κ°λ°μλ νμ μ μ μνκ³ , νμ μ£Όμμ μμ±νκ³ , νμ μ€λ₯λ₯Ό λλ²κΉ νλ λ° λ λ§μ μκ°μ ν μ ν΄μΌ ν©λλ€. κ·Έλ¬λ μ΄λ¬ν μ΄κΈ° ν¬μλ λ°νμ μ€λ₯ μνμ μ€μ΄κ³ μ½λ μ μ§ κ΄λ¦¬μ±μ ν₯μμμΌ μ₯κΈ°μ μΌλ‘ ν¨κ³Όλ₯Ό λ³Ό μ μμ΅λλ€.
- μΈμ΄ μ§μ: λͺ¨λ νλ‘κ·Έλλ° μΈμ΄κ° μ λ€λ¦κ³Ό νμ μμ μ±μ λκ°μ΄ μ μ§μνλ κ²μ μλλλ€. μΌλΆ μΈμ΄λ μ λ€λ¦μ λν μ§μμ΄ μ νλμ΄ μμ΄ νμ μμ ν IdM μ루μ μ ꡬννκΈ° μ΄λ €μΈ μ μμ΅λλ€. κ°λ°μλ νμ μμ μ±μ ν¨κ³Όμ μΌλ‘ ꡬννλ λ° νμν κΈ°λ₯κ³Ό λꡬλ₯Ό μ 곡νλ μΈμ΄λ₯Ό μ νν΄μΌ ν©λλ€. μλ₯Ό λ€μ΄ Java, C#, TypeScriptμ κ°μ μΈμ΄λ μ λ€λ¦κ³Ό νμ μμ μ±μ κ°λ ₯νκ² μ§μνμ¬ νμ μμ ν IdM μμ€ν μ ꡬμΆνλ λ° μ ν©ν©λλ€.
- μ μ± μ μ μΈμ΄: κΈ°μ‘΄ μ μ± μ μ μΈμ΄(μ: XACML)λ μ μ± μ νμ μμ ν ννμ μμ ν μ§μνμ§ μμ μ μμ΅λλ€. νμ₯μ΄ νμνκ±°λ λ체 μΈμ΄κ° νμν μ μμ΅λλ€.
μ€μ νμ μμ ν μ κ·Ό μ μ΄μ μ
λͺ κ°μ§ μ€μ μμ λ λ€μν λλ©μΈμμ νμ μμ ν μ κ·Ό μ μ΄μ μ΄μ μ 보μ¬μ€λλ€.
- μλ£: μλ£ μ 곡μλ νμ μμ ν RBACλ₯Ό μ¬μ©νμ¬ νμ κΈ°λ‘μ λν μ κ·Όμ μ μ΄ν©λλ€. μμ¬λ μΉλ£ μ€μΈ νμμ κΈ°λ‘μλ§ μ κ·Όν μ μκ³ κ°νΈμ¬λ λ°°μ λ νμμ κΈ°λ‘μλ§ μ κ·Όν μ μμ΅λλ€. μ΄λ₯Ό ν΅ν΄ λ―Όκ°ν νμ μ 보λ κΆνμ΄ μλ μ§μλ§ μ κ·Όν μ μμΌλ©° λ°μ΄ν° μ μΆ λ° κ°μΈ μ 보 μΉ¨ν΄ μνμ μ΅μνν©λλ€.
- κΈμ΅ μλΉμ€: κΈμ΅ κΈ°κ΄μ νμ μμ ν μμ± κΈ°λ° μ κ·Ό μ μ΄(ABAC)λ₯Ό μ¬μ©νμ¬ κΈμ΅ κ±°λμ λν μ κ·Όμ μ μ΄ν©λλ€. μ κ·Όμ κ±°λ κΈμ‘, μ¬μ©μμ μν , μκ°λμ κ°μ μμ±μ κΈ°λ°μΌλ‘ λΆμ¬λ©λλ€. μ΄λ₯Ό ν΅ν΄ κΈ°κ΄μ λ¬΄λ¨ κ±°λλ₯Ό λ°©μ§νκ³ κ·μ μꡬ μ¬νμ μ€μνλ μΈλΆνλ μ κ·Ό μ μ΄ μ μ± μ ꡬνν μ μμ΅λλ€. μλ₯Ό λ€μ΄ νΉμ κΈμ‘μ μ΄κ³Όνλ κ±°λλ κ΄λ¦¬μμ μΉμΈμ΄ νμν μ μμΌλ©°, μ 무 μκ° μΈ κ±°λλ μ νλ μ μμ΅λλ€.
- ν΄λΌμ°λ μ»΄ν¨ν : ν΄λΌμ°λ μλΉμ€ μ 곡μ 체λ νμ μμ ν μ κ·Ό μ μ΄λ₯Ό μ¬μ©νμ¬ κ°μ λ¨Έμ λ° κΈ°ν ν΄λΌμ°λ 리μμ€μ λν μ κ·Όμ κ΄λ¦¬ν©λλ€. κ° μ¬μ©μμκ²λ νΉμ 리μμ€μ λν κΆνμ μ μνλ μν μ΄ ν λΉλ©λλ€. μ΄λ₯Ό ν΅ν΄ μ¬μ©μλ μμ μ μννλ λ° νμν 리μμ€μλ§ μ κ·Όν μ μμΌλ©° λ¬΄λ¨ μ κ·Όμ λ°©μ§νκ³ λ³΄μ μΉ¨ν΄ μνμ μ€μΌ μ μμ΅λλ€. λ μΌ μ¬μ©μλ μ§μ κ·μ μ λ°λΌ μΌλ³Έ μ¬μ©μμ λ€λ₯Έ μ κ·Ό μꡬ μ¬νμ κ°μ§ μ μμ΅λλ€.
- μ λΆ: μ λΆ κΈ°κ΄μ νμ μμ ν μ κ·Ό μ μ΄λ₯Ό μ¬μ©νμ¬ κΈ°λ° μ 보λ₯Ό 보νΈν©λλ€. κΈ°λ° λ¬Έμμ λν μ κ·Όμ μ¬μ©μμ 보μ μΈκ° λ±κΈ λ° λ¬Έμμ λ―Όκ°λλ₯Ό κΈ°λ°μΌλ‘ λΆμ¬λ©λλ€. μ΄λ₯Ό ν΅ν΄ κΆνμ΄ μλ κ°μΈλ§ κΈ°λ° μ 보μ μ κ·Όν μ μμΌλ©° μ μΆμ λ°©μ§νκ³ κ΅κ° μ보λ₯Ό 보νΈν μ μμ΅λλ€. μΈκ°λ κ΅κ°λ³λ‘ λ€λ₯Ό μ μμΌλ©° κ·Έμ λ°λΌ κ΄λ¦¬λ μ μμ΅λλ€.
νμ μμ ν μ λ€λ¦ IdMμ ꡬννκΈ° μν λͺ¨λ² μ¬λ‘
νμ μμ ν μ λ€λ¦ IdMμ μ±κ³΅μ μΌλ‘ ꡬννλ €λ©΄ λ€μ λͺ¨λ² μ¬λ‘λ₯Ό κ³ λ €νμμμ€.
- νμ μμ ν νλ‘κ·Έλλ° μΈμ΄ μ ν: μ λ€λ¦κ³Ό νμ μμ μ±μ κ°λ ₯νκ² μ§μνλ νλ‘κ·Έλλ° μΈμ΄λ₯Ό μ ννμμμ€. Java, C#, TypeScript λ° Scalaμ κ°μ μΈμ΄λ νμ μμ ν IdM μμ€ν μ ꡬμΆνλ λ° μ ν©ν©λλ€.
- λͺ ννκ³ μΌκ΄λ νμ κ³μΈ΅ μ€κ³: λ°μ΄ν° λͺ¨λΈμ λν λͺ ννκ³ μΌκ΄λ νμ κ³μΈ΅μ μ μνμμμ€. μ΄λ κ² νλ©΄ νμ μμ ν μ κ·Ό μ μ΄ μ μ± μ μ μνκ³ λͺ¨λ μμ μ΄ νΈν κ°λ₯ν κ°μμ μνλλλ‘ νλ λ° λμμ΄ λ©λλ€.
- μ λ€λ¦μ κ΄λ²μνκ² μ¬μ©: μ λ€λ¦μ νμ©νμ¬ μ¬μ¬μ© κ°λ₯νκ³ νμ μμ ν μ κ·Ό μ μ΄ κ΅¬μ± μμλ₯Ό μμ±νμμμ€. μ΄λ κ² νλ©΄ μ½λ μ€λ³΅μ μ€μ΄κ³ μ½λ μ μ§ κ΄λ¦¬μ±μ ν₯μμν¬ μ μμ΅λλ€.
- μ격ν λ¨μ ν μ€νΈ ꡬν: μ κ·Ό μ μ΄ μ μ± μ μ νμ±κ³Ό νμ μμ μ±μ νμΈνκΈ° μν΄ ν¬κ΄μ μΈ λ¨μ ν μ€νΈλ₯Ό μμ±νμμμ€. μ΄λ₯Ό ν΅ν΄ κ°λ° μ£ΌκΈ° μ΄κΈ°μ μ μ¬μ μΈ λ¬Έμ λ₯Ό μλ³νκ³ μμ ν μ μμ΅λλ€.
- μ μ λΆμ λꡬ μ¬μ©: μ μ¬μ μΈ νμ μ€λ₯ λ° λ³΄μ μ·¨μ½μ μ κ°μ§νκΈ° μν΄ μ μ λΆμ λꡬλ₯Ό μ¬μ©νμμμ€. μ΄λ¬ν λꡬλ μλ μ½λ κ²ν μ€μ λνλμ§ μμ μ μλ λ¬Έμ λ₯Ό μλ³νλ λ° λμμ΄ λ μ μμ΅λλ€.
- μ½λλ₯Ό μ² μ ν λ¬Έμν: νμ μ£Όμ λ° μ κ·Ό μ μ΄ μ μ± μ λν μ€λͺ μ ν¬ν¨νμ¬ μ½λμ λν λͺ ννκ³ κ°κ²°ν λ¬Έμλ₯Ό μ 곡νμμμ€. μ΄λ κ² νλ©΄ λ€λ₯Έ κ°λ°μκ° μ½λλ₯Ό μ΄ν΄, μ μ§ κ΄λ¦¬ λ° νμ₯νλ κ²μ΄ λ μ¬μμ§λλ€.
- κΈ°μ‘΄ νμ€ λ° νλ μμν¬ κ³ λ €: μνΈ μ΄μ©μ± λ° μ κ³ λͺ¨λ² μ¬λ‘ μ€μλ₯Ό μν΄ OAuth 2.0, OpenID Connect λ° SAMLκ³Ό κ°μ κΈ°μ‘΄ IdM νμ€ λ° νλ μμν¬λ₯Ό νμνμμμ€.
- μ λ‘ νΈλ¬μ€νΈ 보μ λͺ¨λΈ μ±ν: μ¬μ©μμ μ₯μΉλ₯Ό λ³Έμ§μ μΌλ‘ μ λ’°νμ§ μλ μ λ‘ νΈλ¬μ€νΈ 보μ λͺ¨λΈμ ꡬνν©λλ€. μ¦, μ¬μ©μμ μμΉ λλ μ₯μΉμ κ΄κ³μμ΄ λͺ¨λ μ κ·Ό μμ²μ μΈμ¦νκ³ κΆνμ λΆμ¬ν΄μΌ ν©λλ€.
νμ μμ ν ID κ΄λ¦¬μ λ―Έλ
μ‘°μ§μ΄ λΆμ° λ° ν΄λΌμ°λ κΈ°λ° μ ν리μΌμ΄μ μ μ μ λ μμ‘΄ν¨μ λ°λΌ μμ νκ³ νμ₯ κ°λ₯ν IdM μ루μ μ λν νμμ±μ΄ κ³μ μ¦κ°ν κ²μ λλ€. νμ μμ μ±μ μ΄λ¬ν μμ€ν μ μμ μ±κ³Ό 보μμ 보μ₯νλ λ° μ μ λ μ€μν μν μ ν κ²μ λλ€. νμ μμ ν ID κ΄λ¦¬μ λ―Έλ νΈλ λλ λ€μκ³Ό κ°μ΅λλ€.
- μ½λλ‘μμ μ μ± : μ κ·Ό μ μ΄ μ μ± μ΄ μ½λλ‘ μ μλκ³ κ΄λ¦¬λλ μ μ± μΌλ‘μμ μ½λ μ κ·Ό λ°©μμ μ±ν. μ΄λ₯Ό ν΅ν΄ μ κ·Ό μ μ΄ μ μ± μ μλν, λ²μ κ΄λ¦¬ λ° ν μ€νΈκ° ν₯μλ©λλ€.
- λΆμ° ID: μ¬μ©μκ° μ체 ID λ°μ΄ν°μ λν λ λ§μ μ μ΄λ₯Ό μ 곡νλ λΆμ° ID μ루μ μ λΆμ. νμ μμ μ±μ μ΄λ¬ν μμ€ν μ 보μ λ° κ°μΈ μ 보 보νΈλ₯Ό 보μ₯νλ λ° λ§€μ° μ€μν©λλ€.
- AI κΈ°λ° μ κ·Ό μ μ΄: μ κ·Ό μ μ΄ κ²°μ μ μλννκΈ° μν μΈκ³΅ μ§λ₯(AI)μ μ¬μ©. νμ μμ μ±μ AI κΈ°λ° μ κ·Ό μ μ΄ μμ€ν μ΄ μ ννκ³ μ λ’°ν μ μλλ‘ νλ λ° μ€μν©λλ€.
- νμμ κ²μ¦: μ κ·Ό μ μ΄ μ μ± μ μ νμ±μ μνμ μΌλ‘ μ¦λͺ νκΈ° μν νμμ κ²μ¦ κΈ°μ μ μ¬μ© μ¦κ°.
κ²°λ‘
νμ μμ μ±μ μΌλ°μ μΈ ID κ΄λ¦¬ μμ€ν μμ κ°λ ₯νκ³ μμ ν μ κ·Ό μ μ΄ λ©μ»€λμ¦μ ꡬμΆνλ λ° μ€μν μΈ‘λ©΄μ λλ€. μ»΄νμΌ μκ°μ νμ κ²μ¬λ₯Ό μνν¨μΌλ‘μ¨ νμ μμ μ±μ μ€λ₯λ₯Ό λ°©μ§νκ³ , μ½λ μ μ§ κ΄λ¦¬μ±μ κ°μ νκ³ , 보μμ κ°ννκ³ , νμ₯μ±μ λμ΄λ λ° λμμ΄ λ©λλ€. νμ μμ μ±μ ꡬννλ λ° λͺ κ°μ§ κ³Όμ κ° λ°λ₯Ό μ μμ§λ§ μ΄μ μ λΉμ©λ³΄λ€ ν¨μ¬ ν½λλ€. λͺ¨λ² μ¬λ‘λ₯Ό λ°λ₯΄κ³ κΈ°μ‘΄ κΈ°μ μ νμ©ν¨μΌλ‘μ¨ μ‘°μ§μ νΉμ μꡬ μ¬νμ μΆ©μ‘±νλ νμ μμ ν μ λ€λ¦ IdM μ루μ μ μ±κ³΅μ μΌλ‘ ꡬνν μ μμ΅λλ€.
λμ§νΈ νκ²½μ΄ κ³μ λ°μ ν¨μ λ°λΌ νμ μμ ν ID κ΄λ¦¬λ λ―Όκ°ν λ°μ΄ν° λ° μ ν리μΌμ΄μ μ 보μ λ° κ°μΈ μ 보 보νΈλ₯Ό 보μ₯νλ λ° μ μ λ μ€μν μν μ ν κ²μ λλ€. νμ μμ μ±μ μμ©ν¨μΌλ‘μ¨ μ‘°μ§μ λμμμ΄ λ³ννλ μν νκ²½μ μ μν μ μλ λμ± νλ ₯μ μ΄κ³ μ λ’°ν μ μλ μμ€ν μ ꡬμΆν μ μμ΅λλ€.