다음을 통해 공유


Microsoft.AspNetCore.DataProtection용 Azure Storage Blob 키 저장소

패키지를 Azure.Extensions.AspNetCore.DataProtection.Blobs 사용하면 Azure Blob Storage ASP.NET Core DataProtection 키를 저장할 수 있습니다. 웹앱의 여러 인스턴스에서 키를 공유할 수 있습니다. 앱은 여러 서버에서 인증 쿠키 또는 CSRF 보호를 공유할 수 있습니다.

시작

패키지 설치

NuGet을 사용하여 패키지를 설치합니다.

dotnet add package Azure.Extensions.AspNetCore.DataProtection.Blobs

필수 구성 요소

이 패키지를 사용하려면 Azure 구독, 스토리지 계정스토리지 컨테이너 가 필요합니다.

새 Storage 계정을 만들려면 Azure Portal, Azure PowerShell 또는 Azure CLI를 사용할 수 있습니다. 다음은 Azure CLI 사용 예입니다.

az storage account create --name <storage-account> --resource-group <resource-group> --location westus --sku Standard_LRS
az storage container create --account-name <storage-account> -n <container>

# Give write access to a user
az role assignment create --role "Storage Blob Data Contributor" --assignee <your_email> --scope "/subscriptions/<subscription>/resourceGroups/<resource-group>/providers/Microsoft.Storage/storageAccounts/<storage-account>/blobServices/default/containers/<container>"

# OR give write access to a service principal (application)
az role assignment create --role "Storage Blob Data Contributor" --assignee-object-id <application_id> --scope "/subscriptions/<subscription>/resourceGroups/<resource-group>/providers/Microsoft.Storage/storageAccounts/<storage-account>/blobServices/default/containers/<container>"

주요 개념

스레드로부터의 안전성

모든 클라이언트 instance 메서드가 스레드로부터 안전하고 서로 독립적임을 보장합니다(지침). 이렇게 하면 스레드 간에도 클라이언트 인스턴스를 다시 사용하는 것이 항상 안전합니다.

추가 개념

클라이언트 옵션 | 응답 | 에 액세스 장기 실행 작업 | 오류 | 처리 진단 | 조롱 | 클라이언트 수명

예제

유지 키를 사용하도록 설정하려면 Azure Blob Storage 메서드를 호출합니다PersistKeysToAzureBlobStorage. 제공된 는 Uri 다음 형식 https://{storage_account}.blob.core.windows.net/{container}/{blob}의 Blob URI여야 합니다.

public void ConfigureServices(IServiceCollection services)
{
    services
        .AddDataProtection()
        .PersistKeysToAzureBlobStorage(new Uri("<full-blob-URI>"), new DefaultAzureCredential());
}

Azure ID 라이브러리는 인증을 위한 간편한 Azure Active Directory 지원을 제공합니다.

연결 문자열을 사용하여 인증

public void ConfigureServices(IServiceCollection services)
{
    services
        .AddDataProtection()
        .PersistKeysToAzureBlobStorage("<connection string>", "<container name>", "<blob name>");
}

다음 단계

ASP.NET Core DataProtection에 대해 자세히 알아보세요.

참여

이 프로젝트에 대한 기여와 제안을 환영합니다. 대부분의 경우 기여하려면 권한을 부여하며 실제로 기여를 사용할 권한을 당사에 부여한다고 선언하는 CLA(기여자 라이선스 계약)에 동의해야 합니다. 자세한 내용은 cla.microsoft.com.

이 프로젝트에는 Microsoft Open Source Code of Conduct(Microsoft 오픈 소스 준수 사항)가 적용됩니다. 자세한 내용은 Code of Conduct FAQ(규정 FAQ)를 참조하세요. 또는 추가 질문이나 의견은 opencode@microsoft.com으로 문의하세요.

Impressions