Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Registrazione di una posizione
Dopo aver creato un'istanza Amazon S3 Access Grants in un Regione AWS nel tuo account, registri una posizione S3 in quell'istanza. Una posizione S3 Access Grants associa la posizione S3 predefinita (s3://
), un bucket o un prefisso a un AWS Identity and Access Management () ruolo. IAM S3 Access Grants assume questo IAM ruolo per fornire credenziali temporanee al beneficiario che accede a quella particolare posizione. Devi prima registrare almeno una sede nella tua istanza S3 Access Grants prima di poter creare una concessione di accesso.
Caso d'uso consigliato
Ti consigliamo di registrare la posizione predefinita (s3://
) e di mapparla a un IAM ruolo. La posizione nel percorso S3 predefinito (s3://
) copre l'accesso a tutti i tuoi bucket S3 in quel percorso Regione AWS del tuo account. Quando crei una concessione di accesso, puoi restringere l'ambito della concessione a un bucket, un prefisso o un oggetto all'interno della posizione predefinita.
Casi d'uso complessi per la gestione degli accessi
Casi d'uso più complessi di gestione degli accessi potrebbero richiedere la registrazione di più posizioni rispetto a quelle predefinite. Alcuni esempi di tali casi d'uso sono:
-
Supponiamo che
amzn-s3-demo-bucket
è una posizione registrata nell'istanza S3 Access Grants a cui è mappato un IAM ruolo, ma a questo IAM ruolo viene negato l'accesso a un particolare prefisso all'interno del bucket. In questo caso, puoi registrare il prefisso a cui il IAM ruolo non ha accesso come posizione separata e mappare tale posizione a un ruolo diverso IAM con l'accesso necessario. -
Supponiamo di voler creare concessioni che limitano l'accesso solo agli utenti all'interno di un endpoint di cloud privato virtuale ()VPC. In questo caso, potete registrare una posizione per un bucket in cui il IAM ruolo limita l'accesso all'endpoint. VPC Successivamente, quando un beneficiario chiede le credenziali a S3 Access Grants, S3 Access Grants assume il ruolo della sede di vendere le credenziali temporanee. IAM Questa credenziale negherà l'accesso al bucket specifico a meno che il chiamante non si trovi all'interno dell'endpoint. VPC Questa autorizzazione di negazione viene applicata in aggiunta all'autorizzazione normale o READ READWRITE specificata WRITE nella concessione.
Quando registri una sede, devi anche specificare il IAM ruolo che S3 Access Grants assume nella vendita di credenziali temporanee e nell'ambito delle autorizzazioni per una concessione specifica.
Se il tuo caso d'uso richiede la registrazione di più sedi nella tua istanza S3 Access Grants, puoi registrare una delle seguenti:
S3 URI | IAMruolo | Descrizione |
---|---|---|
s3:// |
|
La posizione predefinita include tutti i bucket presenti in |
s3:// |
|
Questa posizione include tutti gli oggetti nel bucket specificato. |
s3:// |
|
Questa posizione include tutti gli oggetti nel bucket con un nome chiave dell'oggetto che inizia con questo prefisso. |
Prima di registrare un bucket o un prefisso specifico, assicuratevi di fare quanto segue:
-
Crea uno o più bucket contenenti i dati a cui desideri concedere l'accesso. Questi secchi devono essere collocati nello stesso Regione AWS come istanza S3 Access Grants. Per ulteriori informazioni, consulta Creazione di un bucket.
L'aggiunta di un prefisso è un passaggio facoltativo. I prefissi sono stringhe all'inizio del nome della chiave di un oggetto. Puoi usarli per organizzare gli oggetti nel tuo bucket e per la gestione degli accessi. Per aggiungere un prefisso a un bucket, consulta Creazione dei nomi delle chiavi degli oggetti.
-
Crea un IAM ruolo con il permesso di accedere ai tuoi dati S3 nel Regione AWS. Per ulteriori informazioni, vedere Creazione di IAM ruoli in AWS IAM Identity Center guida per l'utente.
Nella policy di trust dei IAM ruoli, concedi al servizio S3 Access Grants (
access-grants.s3.amazonaws.com
) l'accesso principale al IAM ruolo che hai creato. A tale scopo, puoi creare un JSON file che contenga le seguenti istruzioni. Per aggiungere la politica di fiducia al tuo account, consulta Creare un ruolo utilizzando politiche di fiducia personalizzate.TestRolePolicy.json
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt1234567891011", "Action": ["sts:AssumeRole", "sts:SetSourceIdentity", "sts:SetContext"], "Effect": "Allow", "Principal": {"Service":"access-grants.s3.amazonaws.com"}, "Condition":{ "StringEquals":{ "aws:SourceAccount":"
accountId
", "aws:SourceArn":"arn:aws:s3:region
:accountId
:access-grants/default" } //Optionally, for an IAM Identity Center use case, add: "ForAnyValue:StringEquals": { "aws:RequestContextProvider":"arn:aws:iam::aws:contextProvider/IdentityCenter" } } } ] }-
Crea una IAM policy per associare le autorizzazioni di Amazon S3 al IAM ruolo che hai creato. Consulta il seguente file
iam-policy.json
di esempio e sostituisci
con le tue informazioni.user input placeholders
Nota
-
Se utilizzi la crittografia lato server con AWS Key Management Service (AWS KMS) chiavi per crittografare i dati, l'esempio seguente include le necessarie AWS KMS autorizzazioni per il IAM ruolo nella politica. Se non utilizzi questa funzionalità, puoi rimuovere queste autorizzazioni dalla tua IAM politica.
-
Puoi limitare il IAM ruolo all'accesso ai dati S3 solo se le credenziali vengono fornite da S3 Access Grants. Questo esempio mostra come aggiungere un'
Condition
istruzione per una specifica istanza di S3 Access Grants. Per utilizzarlaCondition
, sostituisci l'istanza S3 Access Grants ARN nell'Condition
istruzione con la tua istanza S3 Access Grants, che ha il formato: ARNarn:aws:s3:
region
:accountId
:access-grants/default
iam-policy.json
{ "Version":"2012-10-17", "Statement": [ { "Sid": "ObjectLevelReadPermissions", "Effect":"Allow", "Action":[ "s3:GetObject", "s3:GetObjectVersion", "s3:GetObjectAcl", "s3:GetObjectVersionAcl", "s3:ListMultipartUploadParts" ], "Resource":[ "arn:aws:s3:::*" ], "Condition":{ "StringEquals": { "aws:ResourceAccount": "
accountId
" }, "ArnEquals": { "s3:AccessGrantsInstanceArn": ["arn:aws:s3:region
:accountId
:access-grants/default"] } } }, { "Sid": "ObjectLevelWritePermissions", "Effect":"Allow", "Action":[ "s3:PutObject", "s3:PutObjectAcl", "s3:PutObjectVersionAcl", "s3:DeleteObject", "s3:DeleteObjectVersion", "s3:AbortMultipartUpload" ], "Resource":[ "arn:aws:s3:::*" ], "Condition":{ "StringEquals": { "aws:ResourceAccount": "accountId
" }, "ArnEquals": { "s3:AccessGrantsInstanceArn": ["arn:aws:s3:Regione AWS
:accountId
:access-grants/default"] } } }, { "Sid": "BucketLevelReadPermissions", "Effect":"Allow", "Action":[ "s3:ListBucket" ], "Resource":[ "arn:aws:s3:::*" ], "Condition":{ "StringEquals": { "aws:ResourceAccount": "accountId
" }, "ArnEquals": { "s3:AccessGrantsInstanceArn": ["arn:aws:s3:Regione AWS
:accountId
:access-grants/default"] } } }, //Optionally add the following section if you use SSE-KMS encryption { "Sid": "KMSPermissions", "Effect":"Allow", "Action":[ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource":[ "*" ] } ] } -
Puoi registrare una posizione nella tua istanza S3 Access Grants utilizzando la console Amazon S3, AWS Command Line Interface (AWS CLI), Amazon S3 REST API o AWS SDKs.
Nota
Dopo aver registrato la prima posizione nell'istanza S3 Access Grants, nell'istanza non sono ancora presenti concessioni di accesso individuali. Per creare una concessione di accesso, consulta. Creazione di concessioni
Prima di poter concedere l'accesso ai dati S3 con S3 Access Grants, devi avere almeno una posizione registrata.
Per registrare una posizione nella tua istanza S3 Access Grants
Accedi al AWS Management Console e apri la console Amazon S3 all'indirizzo. https://console.aws.amazon.com/s3/
-
Nel pannello di navigazione a sinistra, scegli Access Grants.
-
Nella pagina S3 Access Grants, scegli la regione che contiene l'istanza S3 Access Grants con cui vuoi lavorare.
Se utilizzi un'istanza S3 Access Grants per la prima volta, assicurati di aver completato il Passaggio 1: crea un'istanza S3 Access Grants e di aver eseguito il Passaggio 2 della procedura guidata Configurazione dell'istanza Access Grants. Se disponi già di un'istanza S3 Access Grants, seleziona Visualizza dettagli, quindi dalla scheda Posizioni, seleziona Registra posizione.
-
Per l'ambito della posizione, scegli Browse S3 o inserisci il URI percorso S3 della posizione che desideri registrare. Per i URI formati S3, consulta la tabella dei formati di posizione. Dopo aver inserito unURI, puoi scegliere Visualizza per sfogliare la posizione.
-
Per il IAMruolo, scegli una delle seguenti opzioni:
-
Scegli tra i IAM ruoli esistenti
Scegli un IAM ruolo dall'elenco a discesa. Dopo aver scelto un ruolo, scegli Visualizza per avere la certezza che questo ruolo disponga delle autorizzazioni necessarie per gestire la posizione che stai registrando. In particolare, assicurati che questo ruolo conceda a S3 Access Grants le autorizzazioni
sts:AssumeRole
ests:SetSourceIdentity
. -
Inserisci il ruolo IAM ARN
Vai alla IAMconsole
. Copia l'Amazon Resource Name (ARN) del IAM ruolo e incollalo in questa casella.
-
-
Per finire, scegli Avanti o Registra posizione.
-
-
Risoluzione dei problemi
Impossibile registrare la posizione
-
La posizione potrebbe essere già registrata.
Potresti non avere l'autorizzazione
s3:CreateAccessGrantsLocation
per registrare le posizioni. Contatta l'amministratore dell'account.
-
Per installare il AWS CLI, vedere Installazione di AWS CLI nella AWS Command Line Interface Guida per l'utente.
Puoi registrare la posizione predefinita, s3://
, o una posizione personalizzata nella tua istanza S3 Access Grants. Assicurati di creare prima un IAM ruolo con accesso principale alla posizione, quindi assicurati di concedere a S3 Access Grants l'autorizzazione ad assumere questo ruolo.
Per utilizzare i seguenti comandi di esempio, sostituisci
con le tue informazioni.user input
placeholders
Esempio Creazione di una policy di risorse
Crea una politica che consenta a S3 Access Grants di assumere il ruolo. IAM A tale scopo, puoi creare un JSON file che contenga le seguenti istruzioni. Per aggiungere la policy della risorsa al tuo account, consulta Creazione e collegamento della prima policy gestita dal cliente.
TestRolePolicy.json
{ "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt1234567891011", "Action": ["sts:AssumeRole", "sts:SetSourceIdentity"], "Effect": "Allow", "Principal": {"Service":"access-grants.s3.amazonaws.com"} } ] }
Esempio Creare il ruolo
Esegui il IAM comando seguente per creare il ruolo.
aws iam create-role --role-name
accessGrantsTestRole
\ --regionus-east-2
\ --assume-role-policy-document file://TestRolePolicy.json
L'esecuzione del comando create-role
restituisce la policy:
{ "Role": { "Path": "/", "RoleName": "accessGrantsTestRole", "RoleId": "AROASRDGX4WM4GH55GIDA", "Arn": "arn:aws:iam::
111122223333
:role/accessGrantsTestRole", "CreateDate": "2023-05-31T18:11:06+00:00", "AssumeRolePolicyDocument": { "Version": "2012-10-17", "Statement": [ { "Sid": "Stmt1685556427189", "Action": [ "sts:AssumeRole", "sts:SetSourceIdentity" ], "Effect": "Allow", "Principal": { "Service":"access-grants.s3.amazonaws.com" } } ] } } }
Crea una IAM policy per associare le autorizzazioni Amazon S3 al ruolo. IAM Consulta il seguente file iam-policy.json
di esempio e sostituisci
con le tue informazioni. user input placeholders
Nota
Se utilizzi la crittografia lato server con AWS Key Management Service (AWS KMS) chiavi per crittografare i dati, l'esempio seguente aggiunge il necessario AWS KMS autorizzazioni per il IAM ruolo nella politica. Se non utilizzi questa funzionalità, puoi rimuovere queste autorizzazioni dalla tua IAM politica.
Per assicurarti che il IAM ruolo possa essere utilizzato per accedere ai dati in S3 solo se le credenziali vengono vendute da S3 Access Grants, questo esempio mostra come aggiungere un'Condition
istruzione che specifichi l'istanza S3 Access Grants () nella tua politica. s3:AccessGrantsInstance:
IAM Quando utilizzi la seguente policy di esempio, sostituisci InstanceArn
con le tue informazioni.user input placeholders
iam-policy.json
{ "Version":"2012-10-17", "Statement": [ { "Sid": "ObjectLevelReadPermissions", "Effect":"Allow", "Action":[ "s3:GetObject", "s3:GetObjectVersion", "s3:GetObjectAcl", "s3:GetObjectVersionAcl", "s3:ListMultipartUploadParts" ], "Resource":[ "arn:aws:s3:::*" ], "Condition":{ "StringEquals": { "aws:ResourceAccount": "
accountId
" }, "ArnEquals": { "s3:AccessGrantsInstanceArn": ["arn:aws:s3:region
:accountId
:access-grants/default"] } } }, { "Sid": "ObjectLevelWritePermissions", "Effect":"Allow", "Action":[ "s3:PutObject", "s3:PutObjectAcl", "s3:PutObjectVersionAcl", "s3:DeleteObject", "s3:DeleteObjectVersion", "s3:AbortMultipartUpload" ], "Resource":[ "arn:aws:s3:::*" ], "Condition":{ "StringEquals": { "aws:ResourceAccount": "accountId
" }, "ArnEquals": { "s3:AccessGrantsInstanceArn": ["arn:aws:s3:Regione AWS
:accountId
:access-grants/default"] } } }, { "Sid": "BucketLevelReadPermissions", "Effect":"Allow", "Action":[ "s3:ListBucket" ], "Resource":[ "arn:aws:s3:::*" ], "Condition":{ "StringEquals": { "aws:ResourceAccount": "accountId
" }, "ArnEquals": { "s3:AccessGrantsInstanceArn": ["arn:aws:s3:Regione AWS
:accountId
:access-grants/default"] } } }, { "Sid": "KMSPermissions", "Effect":"Allow", "Action":[ "kms:Decrypt", "kms:GenerateDataKey" ], "Resource":[ "*" ] } ] }
Esegui il comando seguente:
aws iam put-role-policy \ --role-name accessGrantsTestRole \ --policy-name accessGrantsTestRole \ --policy-document file://iam-policy.json
Esempio Registra la posizione predefinita
aws s3control create-access-grants-location \ --account-id
111122223333
\ --location-scopes3://
\ --iam-role-arn arn:aws:iam::111122223333
:role/accessGrantsTestRole
Risposta:
{"CreatedAt": "2023-05-31T18:23:48.107000+00:00", "AccessGrantsLocationId": "default", "AccessGrantsLocationArn": "arn:aws:s3:
us-east-2
:111122223333
:access-grants/default/location/default", "LocationScope": "s3://” "IAMRoleArn": "arn:aws:iam::111122223333
:role/accessGrantsTestRole" }
Esempio Registra una posizione personalizzata
aws s3control create-access-grants-location \ --account-id
111122223333
\ --location-scopes3://DOC-BUCKET-EXAMPLE/
\ --iam-role-arn arn:aws:iam::123456789012
:role/accessGrantsTestRole
Risposta:
{"CreatedAt": "2023-05-31T18:23:48.107000+00:00", "AccessGrantsLocationId": "635f1139-1af2-4e43-8131-a4de006eb456", "AccessGrantsLocationArn": "arn:aws:s3:
us-east-2
:111122223333
:access-grants/default/location/635f1139-1af2-4e43-8131-a4de006eb888", "LocationScope": "s3://DOC-BUCKET-EXAMPLE/", "IAMRoleArn": "arn:aws:iam::111122223333
:role/accessGrantsTestRole" }
Per informazioni sul REST API supporto di Amazon S3 per la gestione di un'istanza S3 Access Grants, consulta le seguenti sezioni in Amazon Simple Storage Service Reference: API
Questa sezione fornisce esempi di come registrare le sedi utilizzando il AWS SDKs.
Per utilizzare i seguenti esempi, sostituisci
con le tue informazioni.user input
placeholders