1.사용자를 삭제할 수는 없지만(검색해보니 연계된 내용이 많아 삭제 대신 다른 방법을 추천한다) 비활성화는 가능하다.


2.비밀번호 정책을 설정해 비밀번호 복잡성 또는 만료 기간을 설정할 수 있으며
즉각적인 사용자 비밀번호 만료를 설정할 수 있다.

또한 비밀번호를 재설정하거나 로그인 실패로 잠긴 계정을 풀어줄 수도 있다.


3.비밀번호 재설정을 위해서는 password policies에 들어가야 하고 ip범위 제한을 위해서는 network access에 들어가야 하며 개인별로 제한이 필요한 경우에는 프로필을 사용해 접속 가능한 ip 범위 또는 시간대를 설정할 수 있다. 

하지만 조직에서 신뢰할 수 있는 IP 범위 설정은 인증 코드를 통해 외부에서 접근이 가능한 편의성 기능이라면 프로필을 통해 IP제한 또는 접속 시간대 제한을 설정하는 경우 접속 자체가 불가능해진다.


4.프로필을 통해 하나의 프로필을 관리한다고 생각헀는데
생각해보면 프로필이 하나의 유저가 아니고 라이센스 내부에 포함된 하나의 역할 그룹으로 볼 수 있기 때문에 프로필 관리가 바로 그룹 관리라고 볼 수 있는 것 같다.


5.프로필은 설정과 권한의 모음이고 
프로필 설정은 사용자가 특정 앱, 탭, 필드, 레코드 유형을 볼 수 있는지 여부를 결정할 수 있으며
프로필의 권한은 지정된 유형의 레코드를 수정, 생성, 보고서 실행, 앱 사용자 정의 등의 기능 사용 권한을 할당한다.


6.표준 프로필에는 표준 사용자, 마케팅 사용자, 계약 관리자, 시스템 관리자, 최소 액세스 - Salesforce 등이 존재하며
이름에서 알 수 있듯 최소 액세스 - salseforce는 권한이 거의 없어 레코드를 볼 수만 있으며
시스템 관리자 프로필은 데이터에 대한 광범위한 권한과 salseforce 편집이 가능한 권한을 보유한다.
또한 관리자는 모든 데이터 보기 및 수정 권한이 존재하며 타 공유 설정보다 우선되기 떄문에
실제 관리자가 아닌 경우에는 이 프로필을 주는 것이 위험하다고 볼 수 있다.


7.표준 프로필에서는 개체 권한을 편집할 수 없지만 생성된 프로필을 복제한 다음
권한을 수정할 수 있기 때문에 특정 부분에 대한 접근 제한 또는 권한 부여가 가능하다.
커스텀이 아닌 프로필은 권한 변경이 되지 않는 특징 때문에
커스텀 여부가 표시된 곳은 스탠다드/커스텀에 상관없이 변경이 불가능했다.


8.위에서 언급한 프로필 복제를 진행하기 위해서는 사용자 관리 설정에 들어가
향상된 프로필 사용자 인터페이스 기능을 활성화해야 유저 프로필에서 옵션이 활성화 된다.


9.권한의 실제 사용에서는 각 직원별로 프로필에 맞는 권한을 부여한 다음
추가적인 권한이 필요한 경우에는 권한 집합을 통한 할당 및 제거를 통해 관리해야한다.


10.아래와 같은경고 메세지를 볼 수 있는데 마스터 디테일과 같은 종속 관계일 경우
하위의 데이터삭제 기능이 없다고 하더라도 상위 개체의 삭제를 통해 사라질 수 있음을 경고하고 있다.
`Warning: Although you are disabling the "Delete" permission for this object, users can still delete records of this type as part of a "cascade" delete. This occurs when a user deletes a parent record and all of its associated records are deleted with it. For example, when an account is deleted and its related contacts are deleted with it.`


11.프로필을 추가로 생성해 권한설정을 해두고 싶은 경우 새로운 프로필을 만든 다음 
object permissions 부분으로 내려가 각각의 객체 이용 권한을 설정할 수 있고 
내부에서 필드 권한 또한 변경할 수 있으며 
권한집합의 객체, 필드 수정은 Object Settings 내부에서 진행할 수 있다.


12.Grant Access Using Hierarchies를 해제한 경우 상위 사용자라고 하더라도 레코드의 권한을 따로 가지고 있지 않다면 하위사용자의 레코드 권한이 없어진다.
다만 위에서 언급헀던 모두 보기, 모두 수정과 같은 전체 권한을 보유한 경우 레코드 권한이 있다고 보기 때문에 소유하지 않았고 할당된 레코드가 없더라도 레코드에 대한 권한을 보유한다.

그렇기 떄문에 기본적으로 계층을 사용한 엑세스 권한 부여 옵션은 모든 개체에 활성화되어있고
표준 개체에서는 끌 수 없다.


13.공유 규칙을 지정할 때 Manage sharing settings for에서 특정 객체를 지정할 수 있는데
커스텀 객체가 많은 경우 유용한 기능이다.


14.permission set group을 생성할 때 permission set을 추가해 한번에 관리하는 기능으로
여기에 사용자를 할당할 때 해당 permission을 위한 licence를 보유하지 않은 사용자에게 할당할 수 없다.


15.Permission Set Groups을 만들기 전 제일 먼저 생각해야 하는 부분은
사용자는 작업에 꼭 필요한 최소한의 권한을 가져야 한다는 사실이다.
그 뒤 권한 집합 그룹에 할당된 모든 사용자의 비즈니스 요구 사항을 검토해야 한다.

Permission Set Groups을 만들 때 중요한 포인트 중 하나는 Permission Set으로 구성된다는 점인데
각각의 Permission Set을 그룹에 어울리는 특색있게 만들어 조합해 그룹으로 구성해 사용할 경우
다른 a, b 기능의 통일을 사용한 뒤 나중에는 c Permission Set만 만들어
b와 c로 구성된 Permission Set Groups을 구성하는 등의 재활용이 가능하다는 것이다.

한번 시간을 들여 분할된 Permission Set들을 잘 조합할 경우
새로 Permission Set을 생성하기 위해 시간을 소모할 필요가 없어진다.





(1).백준 10987번 모음의 개수는 특정 문자열을 받았을 때
그 문자열에 포함된 모음(a, e, i, o, u)의 갯수를 구하는 문제였다.

객체에 a, e, i, o, u를 넣어준 다음 1로 세팅해 true로 인식되게 하고
if문에 모음 객체에 문자열을 넣어 조건체크를 진행했고
조건이 해당될 경우 count를 1씩 증가시켰다.

const input = `baekjoon`

const gather = {'a':1, 'e':1, 'i':1, 'o':1, 'u':1}
let count = 0

for(let i = 0 ; i < input.length ; i++){
    if(gather[input[i]]){
        count++
    }
}

console.log(count)

'회고' 카테고리의 다른 글

[수습일지] - 6(주말)  (0) 2023.04.01
[수습일지] - 5  (0) 2023.03.31
[수습일지] - 3  (0) 2023.03.29
[수습일지] - 2  (0) 2023.03.28
[수습일지] - 1  (0) 2023.03.27

+ Recent posts