기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.
OneDrive에 대한 Microsoft Entra 앱 ID 인증 설정
Microsoft Entra 앱 ID 인증(ENTRA_APP_ID)은 OneDrive 데이터 소스에 권장되는 인증 방법입니다. 커넥터는 애플리케이션의 클라이언트 ID와 보안 암호를 사용하여 OAuth 2.0 클라이언트 자격 증명(애플리케이션 전용) 흐름으로 콘텐츠를 크롤링합니다. 사용자 로그인은 관여하지 않습니다. 이는 문서 수준 액세스 제어(ACLs)를 지원하는 유일한 인증 방법입니다. 대체 OAUTH2 방법과의 비교는 단원을 참조하십시오인증 방법.
참고
인증서는 문서 수준 액세스 제어를 활성화한 경우에만 필요합니다. 콘텐츠 전용 크롤링의 경우 커넥터에 필요한 유일한 자격 증명은 클라이언트 ID와 보안 암호입니다. 이는 Microsoft Entra ID 앱 전용 인증에 항상 인증서가 필요한 SharePoint 데이터 소스와 다릅니다.
관리 액세스 필요
이 설정을 수행하려면 Microsoft Entra ID 관리자(글로벌 관리자 또는 권한 있는 역할 관리자)가 애플리케이션을 등록하고 권한을 구성하며 관리자 동의를 부여해야 합니다. 아래 설정 단계 및 역할 표는 각 단계에 필요한 액세스를 식별합니다.
설정 단계 및 역할
이 절차에는 Microsoft Entra ID 관리자와 AWS 관리자가 모두 포함됩니다. 조직에서 책임을 나누는 방법에 따라 한 사람 또는 여러 사람이이 단계를 완료할 수 있습니다. 인증서 단계(4~6단계 및 8단계)는 문서 수준 액세스 제어를 활성화한 경우에만 적용됩니다. 다음 표를 사용하여 각 단계에 필요한 액세스를 식별합니다.
| 단계 | 수행하는 작업 | 액세스 필요 |
|---|---|---|
| 1. 애플리케이션 등록 | Entra 앱 등록을 생성하고 클라이언트 및 테넌트 IDs 기록합니다. | Microsoft Entra ID 관리자(글로벌 관리자 또는 권한 있는 역할 관리자) |
| 2. 권한 추가 및 동의 부여 | 구성에 대한 애플리케이션 권한을 할당하고 관리자 동의를 부여합니다. | Microsoft Entra ID 관리자 |
| 3. 클라이언트 보안 암호 생성 | 애플리케이션에 대한 클라이언트 보안 암호를 생성하고 값을 기록합니다. | Microsoft Entra ID 관리자 |
| 4. 인증서 생성(ACLs만 해당) | OpenSSL을 사용하여 자체 서명된 인증서와 PKCS#12(.p12) 번들을 생성합니다. |
로컬 터미널을 사용하는 모든 사용자(OpenSSL 필요) |
| 5. Entra에 퍼블릭 인증서 업로드(ACLs만 해당) | 앱 등록 키에 퍼블릭 인증서를 추가합니다. | Microsoft Entra ID 관리자 |
| 6. Amazon S3에 인증서 업로드(ACLs만 해당) | .p12 번들을 Amazon S3 버킷에 저장합니다. |
AWS 관리자(Amazon S3) |
| 7. 보안 암호 생성 | 보안 인증 정보를 AWS Secrets Manager 보안 암호에 저장합니다. | AWS 관리자(Secrets Manager) |
| 8. 서비스 역할에 인증서에 대한 액세스 권한 부여(ACLs만 해당) | 지식 기반 서비스 역할에 Amazon S3 읽기 권한을 추가합니다. | AWS 관리자(IAM) |
권한 참조
구성과 일치하는 애플리케이션 권한을 할당합니다. 모든 권한은 애플리케이션 권한(위임되지 않음)이며, 모든 권한에는 관리자 동의가 필요합니다. 콘텐츠 전용 크롤링의 경우 커넥터는 Microsoft Graph에만 인증합니다. 문서 수준 액세스 제어가 활성화되면 OneDrive for Business가 SharePoint에서 지원하므로 커넥터는 쿼리 시 액세스를 확인하기 위해 SharePoint REST API에 추가로 인증합니다.
중요
Entra 포털에서 이러한 권한을 추가할 때 위임된 권한이 아닌 애플리케이션 권한 탭을 선택합니다. 애플리케이션 전용 인증은 애플리케이션 권한을 사용합니다.
구성의 탭을 선택하여 할당할 정확한 권한을 확인합니다.
참고
SharePoint Sites.FullControl.All 권한은 테넌트의 사이트 전체에서 커넥터 애플리케이션에 광범위한 액세스 권한을 부여합니다. 이 애플리케이션에만 권한을 부여하고 그에 따라 애플리케이션의 자격 증명을 보호합니다.
설정 중에 수집하는 값
단계를 진행하면서 다음 값을 생성하거나 수집합니다. 데이터 소스를 생성할 때 이를 사용합니다. 자세한 내용은 OneDrive 데이터 소스 연결을 참조하세요.
| 값 | 에서 생성됨 | 사용 대상 |
|---|---|---|
| 애플리케이션(클라이언트) ID | 1단계 | 보안 암호(clientId). |
| 디렉터리(테넌트) ID | 1단계 | 데이터 소스 입니다tenantId. |
| 클라이언트 시크릿 값 | 3단계 | 보안 암호(clientSecret). |
인증서 - PKCS#12 번들(.p12) 및 해당 암호(ACLs만 해당) |
단계 4 | 번들(인증서 및 프라이빗 키)은 Amazon S3(6단계)에 업로드되고 암호는 보안 암호()에 저장됩니다certificatePassword. |
인증서 - 퍼블릭 인증서(.cer)(ACLs만 해당) |
단계 4 | Entra 앱 등록(5단계)에 업로드된 동일한 인증서의 퍼블릭 절반입니다. |
| Amazon S3 버킷 이름 및 키(ACLs만 해당) | 단계 6 | 데이터 소스 입니다certificateS3Path. |
| 보안 암호 ARN | 단계 7 | 데이터 소스 입니다secretArn. |
1단계: Microsoft Entra ID에 애플리케이션 등록
-
Microsoft Entra 관리 센터
에 로그인합니다. -
왼쪽 탐색 창에서 Entra ID를 확장하고 앱 등록을 선택합니다.
-
새 등록을 선택합니다.
-
이름에와 같이 설명이 포함된 이름을 입력합니다
bedrock-onedrive-connector. -
지원되는 계정 유형에서이 조직 디렉터리의 계정만 선택합니다(단일 테넌트).
-
리디렉션 URI는 비워 둡니다. 애플리케이션이 대화형 로그인 흐름이 아닌 클라이언트 자격 증명 흐름을 사용하기 때문에 리디렉션 URI는 필요하지 않습니다.
-
등록을 선택합니다.
-
애플리케이션 개요 페이지에서 애플리케이션(클라이언트) ID와 디렉터리(테넌트) ID를 기록합니다. 나중에 둘 다 필요합니다.
2단계: API 권한 추가 및 관리자 동의 부여
에서 구성에 대한 권한을 추가합니다권한 참조.
-
앱 등록에서 API 권한을 선택한 다음 권한 추가를 선택합니다.
-
Microsoft Graph를 선택한 다음 애플리케이션 권한을 선택합니다. 구성에 대한 각 Microsoft Graph 권한을 검색하고 선택한 다음 권한 추가를 선택합니다.
-
문서 수준 액세스 제어를 활성화하는 경우 권한 추가를 다시 선택합니다. SharePoint(Microsoft APIs 선택한 다음 애플리케이션 권한을 선택합니다.
Sites.FullControl.All를 선택한 다음 권한 추가를 선택합니다. -
API 권한 페이지에서 [조직]에 대한 관리자 동의 부여를 선택하고 확인합니다. 관리자의 동의 없이는 애플리케이션이 OneDrive 데이터에 액세스할 수 없습니다.
3단계: 클라이언트 보안 암호 생성
OneDrive 크롤링은 애플리케이션의 클라이언트 ID와 보안 암호를 사용하므로 콘텐츠 전용 및 ACL 지원 데이터 소스 모두에 클라이언트 보안 암호가 필요합니다. 문서 수준 액세스 제어가 활성화되면 커넥터는 클라이언트 보안 암호를 사용하여 테넌트의 OneDrive 호스트를 확인하는 Microsoft Graph 토큰을 얻고 인증서(4단계에서)를 사용하여 액세스 검사에 사용되는 SharePoint 토큰을 얻습니다.
-
앱 등록에서 인증서 및 보안 암호를 선택한 다음 클라이언트 보안 암호를 선택하고 새 클라이언트 보안 암호를 선택합니다.
-
설명을 입력하고 만료를 선택한 다음 추가를 선택합니다.
-
보안 암호 값을 즉시 기록합니다. 한 번만 표시됩니다. 보안 암호 ID가 아닌 값을 기록합니다.
4단계(ACLs만 해당): 인증 인증서 생성
참고
이 단계와 5, 6, 8단계는 문서 수준 액세스 제어를 활성화한 경우에만 적용됩니다. 콘텐츠 전용 크롤링의 경우 로 건너뜁니다7단계: Secrets Manager 보안 암호 생성.
자체 서명된 인증서를 생성하고 PKCS#12(.p12) 번들로 패키징합니다. 번들에는 암호로 보호되는 인증서와 프라이빗 키가 모두 포함되어 있습니다. 퍼블릭 인증서를 Entra(5단계)에 업로드하고 .p12 번들을 Amazon S3(6단계)에 업로드합니다. 운영 체제의 탭을 선택하여 명령을 확인합니다.
참고
Amazon Bedrock은 .p12 번들에서 프라이빗 키를 읽고 인증 어설션에 서명하므로 번들은 암호로 보호되어야 합니다. 강력하고 무작위적인 암호를 선택합니다. 7단계와 같이 보안 암호certificatePassword에 저장합니다.
중요
.p12 번들을 Amazon S3( .pem 또는 .cer 파일 아님)에 저장합니다. 번들에는 Amazon Bedrock이 액세스 확인을 위해 SharePoint에 인증하는 데 사용하는 프라이빗 키가 포함되어 있으므로 안전하게 저장합니다. 문서 수준 액세스 제어에는 .p12 형식이 필요합니다.
참고
인증서는 기본적으로 1년 동안 유효합니다. 만료된 인증서는 모든 동기화를 실패시키므로 만료되기 전에 인증서를 교체합니다. 유효 기간을 변경하려면 -days 옵션(OpenSSL) 또는 -NotAfter 인수(PowerShell)를 조정합니다. 교체 단계는 단원을 참조하십시오인증서 교체.
5단계(ACLs만 해당): Entra에 퍼블릭 인증서 업로드
-
앱 등록에서 인증서 및 보안 암호를 선택한 다음 인증서 탭을 선택합니다.
-
인증서 업로드를 선택하고 4단계에서 생성한
certificate.cer파일(퍼블릭 인증서만 해당 -.p12번들 또는 프라이빗 키를 Entra에 업로드하지 않음)을 선택합니다. -
추가를 선택합니다.
6단계(ACLs만 해당): Amazon S3에 인증서 업로드
4단계의 .p12 번들을 지식 기반과 동일한 AWS 리전의 Amazon S3 버킷에 업로드합니다. 버킷 이름과 키를 기록합니다. 이를 데이터 소스 로 사용합니다certificateS3Path.
aws s3api put-object \ --bucketyour-certificate-bucket\ --keycerts/certificate.p12\ --body certificate.p12 \ --server-side-encryption AES256
참고
인증서 객체에서 서버 측 암호화를 활성화하고 버킷을 필요한 보안 주체로 제한하는 것이 좋습니다. 번들에는 프라이빗 키가 포함되어 있습니다.
7단계: Secrets Manager 보안 암호 생성
보안 인증 정보를 AWS Secrets Manager 보안 암호에 저장합니다. Microsoft Entra 앱 ID 인증의 경우 다음 키-값 페어를 포함합니다.
clientId(필수) - 1단계의 애플리케이션(클라이언트) ID입니다.clientSecret(필수) - 3단계의 클라이언트 보안 암호 값입니다.certificatePassword(문서 수준 액세스 제어만 해당, 권장) - 4단계에서.p12번들에 설정한 암호입니다. 다음 참고 사항을 참조하세요.
콘텐츠 전용(문서 수준 액세스 제어 없음)
{ "clientId": "your-client-id", "clientSecret": "your-client-secret" }
문서 수준 액세스 제어 사용
{ "clientId": "your-client-id", "clientSecret": "your-client-secret", "certificatePassword": "your-certificate-password" }
AWS Command Line Interface다음을 사용하여 보안 암호를 생성합니다.
aws secretsmanager create-secret \ --namebedrock-onedrive-creds\ --secret-string file://secret.json
응답의 보안 암호 ARN을 기록합니다. 이를 데이터 소스 로 사용합니다secretArn.
참고
문서 수준 액세스 제어가 활성화되면 4단계에서 .p12 번들을 생성할 때 사용한 암호certificatePassword로를 설정합니다. 이 필드를 생략하면 Amazon Bedrock은 애플리케이션의 클라이언트 ID를 암호로 사용하여 번들을 엽니다. 따라서 번들은 클라이언트 ID를 암호로 사용하여 생성되어야 합니다. 항상 명시적이고 엔트로피가 높은 암호를 설정하는 것이 좋습니다.
8단계(ACLs만 해당): 서비스 역할에 인증서에 대한 액세스 권한 부여
지식 기반 서비스 역할은 Amazon S3에서 인증서 객체를 읽을 수 있어야 합니다. 다음 문을 역할의 권한 정책에 추가하여 버킷 이름과 키를 값으로 바꿉니다.
{ "Version": "2012-10-17", "Statement": [ { "Sid": "S3ListCertificateBucket", "Effect": "Allow", "Action": ["s3:ListBucket"], "Resource": ["arn:aws:s3:::your-certificate-bucket"], "Condition": { "StringEquals": { "aws:ResourceAccount": ["123456789012"] } } }, { "Sid": "S3GetCertificate", "Effect": "Allow", "Action": ["s3:GetObject"], "Resource": [ "arn:aws:s3:::your-certificate-bucket/certs/certificate.p12", "arn:aws:s3:::your-certificate-bucket/certs/certificate.p12.metadata.json" ], "Condition": { "StringEquals": { "aws:ResourceAccount": ["123456789012"] } } } ] }
참고
또한이 정책은 인증서와 함께 선택적 .metadata.json 파일에 대한 읽기 액세스를 허용합니다. Amazon Bedrock에는이 파일이 필요하지 않습니다. 권한을 포함하면 파일이 있는 경우 액세스 오류가 방지됩니다.
인증서 객체가 AWS KMS 키로 암호화된 경우
의 업로드 명령은 추가 권한이 필요하지 않은 Amazon S3-managed 암호화(AES256)를 6단계(ACLs만 해당): Amazon S3에 인증서 업로드 사용합니다. 대신 고객 관리형 KMS 키(SSE-KMS)를 사용하여 Amazon S3 서버 측 암호화로 인증서 객체를 암호화하는 경우 서비스 역할에도 해당 키에 대한 kms:Decrypt 권한이 필요하며 키의 정책에서 역할이 이를 사용하도록 허용해야 합니다. AWS 관리형 aws/s3 키로 암호화된 객체에는이 추가 권한이 필요하지 않습니다.
{ "Sid": "KmsDecryptCertificate", "Effect": "Allow", "Action": ["kms:Decrypt"], "Resource": ["arn:aws:kms:us-west-2:123456789012:key/your-key-id"] }
지식 기반 서비스 역할 권한의 전체 세트는 섹션을 참조하세요데이터 소스에 액세스할 수 있는 권한.
다음 단계
이제 보안 암호 ARN, 테넌트 ID, 인증서의 Amazon S3 위치(문서 수준 액세스 제어용) 등 데이터 소스를 생성하는 데 필요한 자격 증명이 생겼습니다. AWS Management Console 또는 API를 사용하여 OneDrive 데이터 소스를 생성하려면 섹션을 참조하세요OneDrive 데이터 소스 연결.