View a markdown version of this page

OneDrive에 대한 Microsoft Entra 앱 ID 인증 설정 - Amazon Bedrock

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

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 포털에서 이러한 권한을 추가할 때 위임된 권한이 아닌 애플리케이션 권한 탭을 선택합니다. 애플리케이션 전용 인증은 애플리케이션 권한을 사용합니다.

구성의 탭을 선택하여 할당할 정확한 권한을 확인합니다.

Content only (no ACLs)
콘텐츠만
API 권한 용도
Microsoft Graph Files.Read.All 사용자 드라이브의 파일을 읽습니다.
Microsoft Graph Sites.Read.All 사용자의 드라이브를 지원하는 OneDrive 사이트를 읽습니다.
Microsoft Graph User.Read.All 크롤링할 드라이브가 있는 사용자를 열거합니다.
With ACLs
ACLs
API 권한 용도
Microsoft Graph Files.Read.All 사용자 드라이브의 파일을 읽습니다.
Microsoft Graph Sites.Read.All 사용자의 드라이브를 지원하는 OneDrive 사이트를 읽습니다.
Microsoft Graph User.Read.All 사용자를 열거하고 문서 수준 ACLs 대해 확인합니다.
Microsoft Graph GroupMember.Read.All 문서 수준 ACLs.
SharePoint Sites.FullControl.All 쿼리 시 문서에 대한 각 사용자의 액세스를 확인합니다. Sites.Read.All는이 검사에 충분하지 않습니다.
참고

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에 애플리케이션 등록

  1. Microsoft Entra 관리 센터에 로그인합니다.

  2. 왼쪽 탐색 창에서 Entra ID를 확장하고 앱 등록을 선택합니다.

  3. 새 등록을 선택합니다.

  4. 이름에와 같이 설명이 포함된 이름을 입력합니다bedrock-onedrive-connector.

  5. 지원되는 계정 유형에서이 조직 디렉터리의 계정만 선택합니다(단일 테넌트).

  6. 리디렉션 URI는 비워 둡니다. 애플리케이션이 대화형 로그인 흐름이 아닌 클라이언트 자격 증명 흐름을 사용하기 때문에 리디렉션 URI는 필요하지 않습니다.

  7. 등록을 선택합니다.

  8. 애플리케이션 개요 페이지에서 애플리케이션(클라이언트) ID디렉터리(테넌트) ID를 기록합니다. 나중에 둘 다 필요합니다.

2단계: API 권한 추가 및 관리자 동의 부여

에서 구성에 대한 권한을 추가합니다권한 참조.

  1. 앱 등록에서 API 권한을 선택한 다음 권한 추가를 선택합니다.

  2. Microsoft Graph를 선택한 다음 애플리케이션 권한을 선택합니다. 구성에 대한 각 Microsoft Graph 권한을 검색하고 선택한 다음 권한 추가를 선택합니다.

  3. 문서 수준 액세스 제어를 활성화하는 경우 권한 추가를 다시 선택합니다. SharePoint(Microsoft APIs 선택한 다음 애플리케이션 권한을 선택합니다. Sites.FullControl.All를 선택한 다음 권한 추가를 선택합니다.

  4. API 권한 페이지에서 [조직]에 대한 관리자 동의 부여를 선택하고 확인합니다. 관리자의 동의 없이는 애플리케이션이 OneDrive 데이터에 액세스할 수 없습니다.

3단계: 클라이언트 보안 암호 생성

OneDrive 크롤링은 애플리케이션의 클라이언트 ID와 보안 암호를 사용하므로 콘텐츠 전용 및 ACL 지원 데이터 소스 모두에 클라이언트 보안 암호가 필요합니다. 문서 수준 액세스 제어가 활성화되면 커넥터는 클라이언트 보안 암호를 사용하여 테넌트의 OneDrive 호스트를 확인하는 Microsoft Graph 토큰을 얻고 인증서(4단계에서)를 사용하여 액세스 검사에 사용되는 SharePoint 토큰을 얻습니다.

  1. 앱 등록에서 인증서 및 보안 암호를 선택한 다음 클라이언트 보안 암호를 선택하고 새 클라이언트 보안 암호를 선택합니다.

  2. 설명을 입력하고 만료를 선택한 다음 추가를 선택합니다.

  3. 보안 암호 값을 즉시 기록합니다. 한 번만 표시됩니다. 보안 암호 ID가 아닌 값을 기록합니다.

4단계(ACLs만 해당): 인증 인증서 생성

참고

이 단계와 5, 6, 8단계는 문서 수준 액세스 제어를 활성화한 경우에만 적용됩니다. 콘텐츠 전용 크롤링의 경우 로 건너뜁니다7단계: Secrets Manager 보안 암호 생성.

자체 서명된 인증서를 생성하고 PKCS#12(.p12) 번들로 패키징합니다. 번들에는 암호로 보호되는 인증서와 프라이빗 키가 모두 포함되어 있습니다. 퍼블릭 인증서를 Entra(5단계)에 업로드하고 .p12 번들을 Amazon S3(6단계)에 업로드합니다. 운영 체제의 탭을 선택하여 명령을 확인합니다.

참고

Amazon Bedrock은 .p12 번들에서 프라이빗 키를 읽고 인증 어설션에 서명하므로 번들은 암호로 보호되어야 합니다. 강력하고 무작위적인 암호를 선택합니다. 7단계와 같이 보안 암호certificatePassword에 저장합니다.

Linux or macOS (OpenSSL)

프라이빗 키 및 자체 서명된 인증서 생성

openssl req -x509 -newkey rsa:2048 -keyout private_key.pem -out certificate.cer \ -days 365 -nodes \ -subj "/CN=bedrock-onedrive-connector"

인증서와 키를 PKCS#12(.p12) 번들로 패키징합니다.

메시지가 표시되면 강력한 내보내기 암호를 입력합니다. 7단계에 대해 기록합니다.

openssl pkcs12 -export -out certificate.p12 \ -inkey private_key.pem -in certificate.cer

이제 프라이빗 키(private_key.pem), 퍼블릭 인증서() 및 번들(certificate.cer)이라는 세 개의 파일이 있습니다certificate.p12. 5단계에서는 퍼블릭 인증서를 Entra에 업로드하고 6단계에서는 .p12 번들을 Amazon S3에 업로드합니다.

Windows (PowerShell)

자체 서명된 인증서 생성

다음 PowerShell 명령은 유효 기간이 1년인 2048비트 RSA 자체 서명 인증서를 생성하여 현재 사용자의 인증서 스토어에 저장합니다. 암호를 강력하고 무작위적인 암호로 바꿉니다. 7단계와 같이 보안 암호certificatePassword에 저장합니다.

$cert = New-SelfSignedCertificate ` -Subject "CN=bedrock-onedrive-connector" ` -CertStoreLocation "Cert:\CurrentUser\My" ` -KeyAlgorithm RSA ` -KeyLength 2048 ` -KeyExportPolicy Exportable ` -NotAfter (Get-Date).AddYears(1)

퍼블릭 인증서 내보내기

Export-Certificate -Cert $cert -FilePath certificate.cer -Type CERT

PKCS#12(.p12) 번들 내보내기

$password = ConvertTo-SecureString -String "your-password" -Force -AsPlainText Export-PfxCertificate -Cert $cert -FilePath certificate.p12 -Password $password

이제 퍼블릭 인증서(certificate.cer)와 번들()이라는 두 개의 파일이 있습니다certificate.p12. 퍼블릭 인증서를 5단계의 Entra에 업로드하고 .p12 번들을 6단계의 Amazon S3에 업로드합니다.

중요

.p12 번들을 Amazon S3( .pem 또는 .cer 파일 아님)에 저장합니다. 번들에는 Amazon Bedrock이 액세스 확인을 위해 SharePoint에 인증하는 데 사용하는 프라이빗 키가 포함되어 있으므로 안전하게 저장합니다. 문서 수준 액세스 제어에는 .p12 형식이 필요합니다.

참고

인증서는 기본적으로 1년 동안 유효합니다. 만료된 인증서는 모든 동기화를 실패시키므로 만료되기 전에 인증서를 교체합니다. 유효 기간을 변경하려면 -days 옵션(OpenSSL) 또는 -NotAfter 인수(PowerShell)를 조정합니다. 교체 단계는 단원을 참조하십시오인증서 교체.

5단계(ACLs만 해당): Entra에 퍼블릭 인증서 업로드

  1. 앱 등록에서 인증서 및 보안 암호를 선택한 다음 인증서 탭을 선택합니다.

  2. 인증서 업로드를 선택하고 4단계에서 생성한 certificate.cer 파일(퍼블릭 인증서만 해당 - .p12 번들 또는 프라이빗 키를 Entra에 업로드하지 않음)을 선택합니다.

  3. 추가를 선택합니다.

6단계(ACLs만 해당): Amazon S3에 인증서 업로드

4단계의 .p12 번들을 지식 기반과 동일한 AWS 리전의 Amazon S3 버킷에 업로드합니다. 버킷 이름과 키를 기록합니다. 이를 데이터 소스 로 사용합니다certificateS3Path.

aws s3api put-object \ --bucket your-certificate-bucket \ --key certs/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 \ --name bedrock-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 데이터 소스 연결.