Amazon EMR-studio is een geïntegreerde ontwikkelomgeving (IDE) die het voor datawetenschappers en data-ingenieurs eenvoudig maakt om data engineering- en data science-applicaties geschreven in R, Python, Scala en PySpark te ontwikkelen, visualiseren en debuggen. EMR Studio biedt volledig beheerde Jupyter-notebooks en tools zoals Spark UI en YARN Timeline Server via EMR Studio Workspaces. U kunt een EMR Studio Workspace aan een EMR-cluster koppelen en de rekenkracht van het EMR-cluster gebruiken en data science-taken op het cluster uitvoeren. Gegevens worden vaak opgeslagen in datameren die worden beheerd door AWS Lake-formatie, waardoor u fijnmazige toegangscontrole kunt toepassen via een eenvoudig toekennings- of intrekkingsmechanisme.
We stellen je graag voor runtime-rollen voor EMR Studio-werkruimten. U kunt nu een runtimerol definiëren en deze toewijzen aan een EMR-cluster wanneer u een EMR Studio-werkruimte koppelt. De taken op het EMR-cluster zullen deze runtime-rol gebruiken om toegang te krijgen tot AWS-bronnen. Nadat u een runtimerol hebt geconfigureerd, kunt u Lake Formation ook gebruiken en fijnmazig gegevenstoegangsbeheer toepassen op de taken die zijn ingediend door de EMR Studio Workspace.
Voorheen moesten alle werkruimten hetzelfde gebruiken bij het koppelen van EMR Studio-werkruimten aan EMR-clusters AWS Identiteits- en toegangsbeheer (IAM) rol, namelijk die van het cluster Amazon Elastic Compute-cloud (Amazon EC2) exemplaarprofiel. Daarom hadden alle werkruimten die aan hetzelfde EMR-cluster waren gekoppeld, dezelfde gegevenstoegang. Om de toegang tot gegevensbronnen te controleren, moest elke EMR Studio Workspace een ander EMR-cluster gebruiken en waren er meerdere EMR-instantieprofielen nodig.
Vanaf de release van Amazon EMR 6.11 kunt u nu een runtimerol kiezen wanneer u een EMR Studio Workspace aan een EMR-cluster koppelt. Deze runtimerol beperkt de toegang op werkruimteniveau. Uw Apache Livy- en Apache Spark-taken die worden uitgevoerd vanuit de EMR Studio-werkruimten hebben alleen toegang tot de gegevens en bronnen die zijn toegestaan door beleid dat aan de runtimerol is gekoppeld. Wanneer er toegang wordt verkregen tot gegevens vanuit datameren die worden beheerd met Lake Formation, kunt u bovendien een fijnmazig gegevenstoegangsbeheer afdwingen met behulp van Lake Formation-machtigingen. Dit helpt u de operationele overhead te verminderen.
In dit bericht laten we zien hoe u runtime-rollen voor EMR Studio Workspaces configureert en een werkruimte koppelt aan een EMR-cluster met runtime-rollen. Omdat grote ondernemingen doorgaans meerdere AWS-accounts gebruiken, en veel van deze accounts mogelijk toegang nodig hebben tot een datameer dat wordt beheerd door één AWS-account, gebruikt ons voorbeeld twee AWS-accounts. We leggen uit hoe u de toegang tot EMR Studio-runtimerollen kunt beheren, hoe u gegevenstoegang voor accounts in een datameer kunt beheren via Lake Formation, en hoe u machtigingen op tabel- en kolomniveau kunt afdwingen voor de EMR-runtimerollen.
Overzicht oplossingen
Om de fijnmazige toegangscontrole te demonstreren, maken we een voorbeeld AWS lijm database met de naam bedrijf en beheer de databasemachtiging in Lake Formation. De database bestaat uit twee afzonderlijke tabellen:
- medewerkers – In deze tabel wordt informatie opgeslagen over de werknemers van het bedrijf, inclusief werknemers-ID, naam, afdeling en salaris
- producten – In deze tabel wordt informatie opgeslagen over de producten die door het bedrijf worden verkocht, inclusief product-ID, naam, categorie en prijs
Om de controle op de gegevenstoegang aan te tonen, beschouwen we de volgende gegevensgebruikers:
- Alice, een datawetenschapper in het verkoopteam – Ze moet alleen-lezen toegang hebben tot alle kolommen in de
products
tabel en geselecteerde kolommen, inclusief uID, naam en afdeling in deemployees
tafel - Bob, een datawetenschapper in het HR-team – Hij moet alleen-lezen toegang hebben tot alle kolommen in
employees
tabel en mag geen toegang hebben tot deproducts
tafel
Om het delen van gegevens tussen accounts aan te tonen, beschouwen we twee accounts:
- Account voor gegevensproducent – We noemen dit account als
123456789012
in dit bericht. Dit account beheert de onbewerkte gegevens in Amazon eenvoudige opslagservice (Amazon S3) en schrijft gegevens naar het datameer. Decompany
database en tabellen moeten zich in dit account bevinden. - Gegevensconsumentenaccount – We noemen dit account als
111122223333
in dit bericht. Dit account is rechtstreeks toegankelijk voor de gebruikers voor gegevensanalyse en heeft geen schrijftoegang tot de gegevens. Dit account zou toegankelijk moeten zijn voor Alice en Bob.
De architectuur is als volgt geïmplementeerd:
- Het gegevensproducentaccount beheert een datameer. Ruwe gegevens worden opgeslagen in S3-buckets en gecatalogiseerd in de AWS Glue Data Catalog.
- Lake Formation in het gegevensproducentaccount regelt de gegevenstoegang via de gegevenscatalogus en biedt het delen van gegevens tussen accounts met het gegevensconsumentenaccount.
- Lake Formation in het gegevensconsumentenaccount regelt de toegang tussen accounts tot het datameer op tabelniveau en verfijnde Lake Formation-machtigingen. Voor meer informatie, zie Methoden voor fijnmazige toegangscontrole.
- EMR Studio-werkruimten in het gegevensconsumentenaccount gebruiken runtimerollen bij het uitvoeren van taken op een EMR-cluster.
- Het EMR-cluster maakt verbinding met Glue Data Catalog in het dataconsumentenaccount en vraagt de gegevens uit het datameer op via het delen van gegevens tussen accounts.
Het volgende diagram illustreert deze architectuur.
In de volgende secties doorlopen we de stappen om gegevens tussen accounts te delen via Lake Formation, een EMR Studio-werkruimte met runtime-rollen uit te voeren en fijnmazige toegangscontrole te demonstreren.
Voorwaarden
U moet de volgende vereisten hebben:
Maak de infrastructuur in het gegevensproducentaccount
Voer de volgende stappen uit om de infrastructuurresources te maken:
- Log in op het AWS-account van de gegevensproducent (
123456789012
). - Kies Start Stack om een CloudFormation-sjabloon te implementeren om de benodigde bronnen te creëren.
- Voor DataLakeBucketSuffixVoer het achtervoegsel in voor de S3-bucket die door het datameer wordt gebruikt. De volledige S3-bucketnaam die moet worden gemaakt, zal zijn
{AwsAccoundId}-{AwsRegion}-{DataLakeBucketSuffix}
. - Nadat de CloudFormation-stack is gemaakt, navigeert u naar de Uitgangen tabblad van de stapel en leg de waarde vast van
DataLakeS3Bucket
te gebruiken in de volgende stap.
Maak gegevensbestanden en upload ze naar Amazon S3 in het gegevensproducentaccount
Configureer uw AWS CLI om de IAM-identiteit te gebruiken met toestemming om te uploaden naar DataLakeS3BucketName in het AWS-account van de gegevensproducent (123456789012
), of u kunt zich aanmelden bij CloudShell met behulp van de AWS-beheerconsole. Voer de volgende stappen uit:
- Ga op uw lokale computer naar een map naar keuze met de opdracht cd, bijvoorbeeld
cd ~
. - Voer de ... uit script Met
chmod 744 create_sample_data.sh && ./create_sample_data.sh <DataLakeS3BucketName>
.
Het script maakt een submap aan tmp
in uw huidige werkmap, maakt u de testgegevens in CSV-bestanden en uploadt u de bestanden naar de DataLakeS3BucketName
S3 emmer.
Stel Lake Formation in het gegevensproducentaccount in
In deze sectie doorlopen we de stappen voor het instellen van Lake Formation in het gegevensproducentaccount.
Stel de versie-instellingen voor het delen van gegevens van Lake Formation voor meerdere accounts in
Lake Formation ondersteunt meerdere versies voor het delen van gegevens. Voor dit bericht gebruiken we versie 3. Voor meer informatie over de verschillen tussen versies voor het delen van gegevens, raadpleegt u Versie-instellingen voor het delen van gegevens voor meerdere accounts bijwerken. Om de versie voor het delen van gegevens te wijzigen, zie Om de nieuwe versie in te schakelen.
Registreer de Amazon S3-locatie als de data lake-locatie
Wanneer je registreer een Amazon S3-locatie met Lake Formation specificeert u een IAM-rol met lees-/schrijfrechten op die locatie. Na registratie zal Lake Formation, wanneer EMR-clusters toegang vragen tot deze Amazon S3-locatie, tijdelijke inloggegevens van de opgegeven rol verstrekken om toegang te krijgen tot de gegevens. We hebben de rol al gemaakt LakeFormationCompanyDatabaseDataAccessRole
hiervoor in de vorige stap. Voer de volgende stappen uit om de Amazon S3-locatie als data lake-locatie te registreren:
- Open de Lake Formation-console met de Lake Formation data lake-beheerder in het gegevensproducentaccount (
123456789012
). - Kies in het navigatievenster Data Lake-locaties voor Administratie.
- Kies Registreer locatie.
- Voor Amazon S3-pad, ga naar binnen
s3://<DataLakeS3BucketName>/company-database
. - Voor IAM-rol, ga naar binnen
LakeFormationCompanyDatabaseDataAccessRole
. - Voor Toestemmingsmodusselecteer Vorming van het meer.
- Kies Registreer locatie.
Trek de machtigingen in die zijn verleend aan IAMallowedPrincipals
De IAMAllowedPrincipals
groep omvat alle IAM-gebruikers en -rollen die volgens uw IAM-beleid toegang hebben tot uw Data Catalog-resources. Naar het Lake Formation-model afdwingen, we moeten toestemming van IAMallowedPrincipals intrekken met behulp van de volgende stappen:
- Open de Lake Formation-console met de Lake Formation data lake-beheerder in het gegevensproducentaccount.
- Kies in het navigatievenster Data Lake-machtigingen onder Machtigingen.
- Machtigingen filteren op
Database = company
enPrinciple=IAMAllowedPrinciples
. - Selecteer alle machtigingen die aan de opdrachtgever zijn gegeven
IAMAllowedPrincipals
En kies Intrekken.
Instellingen voor applicatie-integratie instellen
Om machtigingen voor het EMR-cluster af te dwingen, moet u een sessietagwaarde registreren bij Lake Formation. Lake Formation gebruikt deze sessietag om bellers te autoriseren en toegang te verlenen tot het datameer. Wij registreren Amazon EMR
als de waarde van de sessietag. Er wordt naar deze waarde verwezen in de beveiligingsconfiguratie bij het maken van het EMR-cluster.
Stel de sessietag in met behulp van de volgende stappen:
- Open de Lake Formation-console met de Lake Formation data lake-beheerder in het gegevensproducentaccount.
- Kies Instellingen voor applicatie-integratie voor Administratie in het navigatievenster.
- kies Laat externe zoekmachines gegevens filteren op Amazon S3-locaties die zijn geregistreerd bij Lake Formation.
- Voor Sessietagwaarden, ga naar binnen
Amazon EMR
. - Voor AWS-account-ID'sVoer de AWS-account-ID van de gegevensconsument in (
111122223333
). - Kies Bespaar.
Deel de database en tabellen met het gegevensconsumentenaccount
We verlenen nu machtigingen aan het AWS-account voor gegevensconsumenten, inclusief toewijsbare machtigingen. Hierdoor kan de Lake Formation data lake-beheerder in het dataconsumeraccount de toegang tot de gegevens binnen het account beheren.
Verleen databasemachtigingen aan het gegevensconsumentenaccount
Voer de volgende stappen uit:
- Open de Lake Formation-console met de Lake Formation data lake-beheerder in het gegevensproducentaccount.
- Kies in het navigatievenster databases.
- Selecteer de database
company
en op de Acties menu, onder machtigingen, kiezen Grant. - In het Principes sectie, selecteer Externe accounts en voer het AWS-account voor gegevensconsumenten in (
111122223333
). - In het LF-tags of catalogusbronnen sectie, kies
company
For databases. - In het Databasemachtigingen sectie, selecteer Beschrijven zowel Databasemachtigingen en Verleenbare machtigingen.
Hierdoor kan de data lake-beheerder in het dataconsumeraccount de database beschrijven en beschrijvingsmachtigingen verlenen aan andere opdrachtgevers in het dataconsumeraccount.
- Kies Grant.
Verleen tabelmachtigingen aan het gegevensconsumentenaccount
Voer de volgende stappen uit:
- Open de Lake Formation-console met de Lake Formation data lake-beheerder in het gegevensproducentaccount.
- Kies in het navigatievenster Tafels.
- Selecteer het
products
tafel, die hoort bij decompany
databank, en op de Acties menu, onder machtigingen, kiezen Grant. - In het Principes sectie, selecteer Externe accounts en voer het AWS-account voor gegevensconsumenten in (
111122223333
). - In het LF-tags of catalogusbronnen sectie, selecteer Benoemde gegevenscatalogusbronnen en specificeer het volgende:
- Voor databases, kiezen
company
. - Voor Tafels, kiezen
products
enemployees
.
- Voor databases, kiezen
- In het Tabelrechten sectie, kies kies en Beschrijven zowel Tabelrechten en Verleenbare machtigingen.
Hierdoor kan de data lake-beheerder in het dataconsumeraccount de tabellen selecteren en beschrijven, en machtigingen voor het selecteren en beschrijven van tabellen verlenen aan andere principals in het dataconsumeraccount.
- In het Gegevensmachtigingen sectie, selecteer Alle gegevenstoegang.
- Kies Grant.
Nu zijn we klaar met het instellen van het gegevensproducentaccount.
Stel de infrastructuur in het dataconsumentenaccount in
Voer de volgende stappen uit om de infrastructuurresources te maken:
- Log in op het dataconsumentenaccount (
111122223333
). - Kies Start stapel om een CloudFormation-sjabloon te implementeren om de benodigde bronnen te creëren.
- Voor Label vrijgevenVoer het Amazon EMR-releaselabel in dat u wilt gebruiken. Dit kan alleen emr-6.11 of hoger zijn.
- Voor instantietypeKies het exemplaartype voor het EMR-cluster, zoals r4.4xlarge.
- Voor EMRS3BucketNameSuffixVoer het S3-bucket-achtervoegsel in om EMR-clusterlogboeken en EMR-notebookbestanden op te slaan. De volledige S3-bucketnaam die moet worden gemaakt, is
{AWSAccoundId}-{AWSRegion}-{EMRS3BucketNameSuffix}
. - Voor S3PathToInTransitCertificaat, voert u het S3-pad in voor het zip-bestand dat de pem-bestanden bevat die worden gebruikt voor versleuteling tijdens het transport.
Voor instructies over het maken van het zip-bestand dat de pem-bestanden bevat en het uploaden ervan naar uw S3-bucket, raadpleegt u Het verstrekken van certificaten voor het versleutelen van gegevens die onderweg zijn met Amazon EMR-versleuteling.
- Nadat de CloudFormation-stack is gemaakt, navigeert u naar de Uitgangen tabblad van de stapel.
- Leg de waarde vast van
EMRStudioLink
te gebruiken om u aan te melden bij EMR Studio.
Accepteer het resourceaandeel in het gegevensconsumentenaccount
Om toegang te krijgen tot gedeelde bronnen, moet u eerst de uitnodiging accepteren.
- Open de AWS RAM-console van het dataconsumentenaccount met de IAM-identiteit die AWS RAM-toegang heeft.
- Kies in het navigatievenster Resource-aandelen voor Gedeeld met mij.
U zou twee in behandeling zijnde bronshares van het gegevensproducentaccount moeten zien.
- Accepteer beide resourceshares.
Je zou het moeten zien company
databank, employees
tafel, en products
tabel in de gegevenscatalogus.
Stel Lake Formation in het gegevensconsumentenaccount in
In deze sectie doorlopen we de stappen voor het instellen van Lake Formation in het dataconsumeraccount.
Instellingen voor applicatie-integratie instellen
Net als bij de instellingen in het gegevensproducentaccount moet u Amazon EMR registreren als sessietag. Naar deze waarde wordt verwezen in de beveiligingsconfiguratie bij het maken van het EMR-cluster in de CloudFormation-stack.
Om dat te doen, voert u de volgende stappen uit:
- Open de Lake Formation-console met de Lake Formation data lake-beheerder in het dataconsumeraccount (
111122223333
). - Kies Instellingen voor applicatie-integratie voor Administratie in het navigatievenster.
- kies Laat externe zoekmachines gegevens filteren op Amazon S3-locaties die zijn geregistreerd bij Lake Formation.
- Voor Sessietagwaarden, ga naar binnen
Amazon EMR
. - Voor AWS-account-ID'sVoer de AWS-account-ID van de gegevensconsument in (
111122223333
). - Kies Bespaar.
Verleen beschrijvende machtigingen voor runtimerollen in de standaarddatabase
Als u geen standaarddatabase in Lake Formation hebt, of als uw standaarddatabase al machtigingen heeft om aan te verlenen IAMAllowedPrinciples
, kunt u deze stap overslaan.
Amazon EMR controleert standaard de standaarddatabase. Als u al een standaarddatabase in uw Lake Formation hebt, verleent u de beschrijvingsmachtiging aan de runtimerollen in de standaarddatabase door de volgende stappen te voltooien:
- Open de Lake Formation-console met de Lake Formation data lake-beheerder in het dataconsumeraccount.
- Kies in het navigatievenster databases.
- Selecteer de standaarddatabase, controleer of de ID van het eigenaarsaccount het gegevensconsumentenaccount is (
111122223333
), en op de Acties menu, kies Grant. - In het Principes sectieselecteer IAM-gebruikers en -rollen.
- Voor IAM-gebruikers en -rollen, kiezen
sales-runtime-role
enhuman-resource-runtime-role
. - Voor LF-tags of catalogusbronnenselecteer Benoemde gegevenscatalogusbronnen en kies standaard voor databases.
- In het Databasemachtigingen sectie, voor Databasemachtigingen, kiezen Beschrijven.
- Kies Grant.
Maak een bronkoppeling voor de gedeelde database
Om toegang te krijgen tot de database- en tabelbronnen die zijn gedeeld door het AWS-account van de gegevensproducent, moet u een bron link in het AWS-account voor gegevensconsumenten. Een bronkoppeling is een gegevenscatalogusobject dat een koppeling is naar een lokale of gedeelde database of tabel. Nadat u een bronkoppeling naar een database of tabel hebt gemaakt, kunt u de naam van de bronkoppeling overal gebruiken waar u de database- of tabelnaam zou gebruiken. In deze stap verleent u toestemming voor de resourcekoppelingen naar de runtimerolprincipes. De runtimerollen hebben vervolgens via de resourcelink toegang tot de gegevens in gedeelde databases en onderliggende tabellen.
Voer de volgende stappen uit om een bronkoppeling te maken:
- Open de Lake Formation-console met de Lake Formation data lake-beheerder in het dataconsumeraccount.
- Kies in het navigatievenster databases.
- Selecteer het
company
database, controleer of de ID van het eigenaarsaccount het gegevensproducentaccount is (123456789012
), en op de Acties menu, kies Maak resourcelinks. - Voor Naam bronlink, voer de naam van de bronlink in (bijvoorbeeld
company-shared
). - Voor De regio van de gedeelde database, kies de regio van de
company
database. - Voor Gedeelde database, kies de bedrijfsdatabase.
- Voor Eigenaar-ID van de gedeelde databaseVoer de account-ID van het gegevensproducentaccount in (
123456789012
). - Kies creëren.
Verleen machtigingen voor de resourcekoppeling aan het runtimerolprincipe
Verleen machtigingen voor de resourcekoppeling naar sales-runtime-role en human-resource-runtime-role met behulp van de volgende stappen:
- Open de Lake Formation-console met de Lake Formation data lake-beheerder in het dataconsumeraccount.
- Kies in het navigatievenster databases.
- Selecteer de bronlink (
company-shared
) en op de Acties menu, kies Grant. - In het Principes sectie, selecteer IAM-gebruikers en -rollenen kies
sales-runtime-role
enhuman-resource-runtime-role
. - In het LF-tags of catalogusbronnen sectie, voor databases, kiezen
company-shared
. - In het Rechten voor bronlink sectie, selecteer Beschrijven.
Hierdoor kunnen de runtimerollen de resourcekoppeling beschrijven. We maken geen selecties voor toewijsbare machtigingen, omdat runtimerollen geen machtigingen voor andere principes mogen verlenen.
- Kies Grant.
Verleen toestemming voor de tabellen aan het runtime-rolprincipe
U moet machtigingen voor de tabellen verlenen sales-runtime-role
en human-resource-runtime-role
om gegevenstoegang toe te staan:
Human-resource-runtime-role
moet machtigingen voor beschrijven en selecteren hebben voor alle kolommen in deemployees
tabel en geen machtigingen voor deproducts
tafel.Sales-runtime-role
moet selectierechten hebben voor de kolommenuid
,name
endepartment
in deemployees
tabel en beschrijf en selecteer machtigingen voor alle kolommen in deproducts
tafel.
Verleen toestemming op de werknemerstabel voor human-resource-runtime-rol
Voer de volgende stappen uit:
- Open de Lake Formation-console met de Lake Formation data lake-beheerder in het dataconsumeraccount.
- Kies in het navigatievenster databases.
- Selecteer de bronlink (
company-shared
) en op de Acties menu, kies Subsidie op doel. - In het Principes sectieselecteer IAM-gebruikers en -rollen, kies dan
human-resource-runtime-role
. - In het LF-tags of catalogusbronnen sectie, selecteer Benoemde gegevenscatalogusbronnen en specificeer het volgende:
- Voor databases, kiezen
company
. - Voor TafelsKiezen
employees
.
- Voor databases, kiezen
- In het Tabelrechten sectie, voor Tabelrechtenselecteer Beschrijven en kies.
- In het Gegevensmachtigingen sectie, selecteer Alle gegevenstoegang.
- Kies Grant.
Verleen toestemming op de werknemerstabel aan de verkoop-runtime-rol
Voer de volgende stappen uit:
- Open de Lake Formation-console met de Lake Formation data lake-beheerder in het dataconsumeraccount.
- Kies in het navigatievenster databases.
- Selecteer de bronlink (
company-shared
) en op de Acties menu, kies Subsidie op doel. - In het Principes sectieselecteer IAM-gebruikers en -rollen, kies dan
sales-runtime-role
. - In het LF-tags of catalogusbronnen sectie, selecteer Benoemde gegevenscatalogusbronnen en specificeer het volgende:
- Voor databases, kiezen
company
. - Voor Tafels, kiezen
employees
.
- Voor databases, kiezen
- In het Tabelrechten sectie, voor Tabelrechtenselecteer kies.
- In het Gegevensmachtigingen sectie, selecteer Op kolommen gebaseerde toegang.
- kies Voeg kolommen toe En kies de
uid
,name
endepartment
kolommen. - Kies Grant.
Verleen toestemming voor de productentabel aan sales-runtime-rol
Voer de volgende stappen uit:
- Open de Lake Formation-console met de Lake Formation data lake-beheerder in het dataconsumeraccount.
- Kies in het navigatievenster databases.
- Selecteer de bronlink (
company-shared
) en op de Acties menu, kies Subsidie op doel. - In het Principes sectieselecteer IAM-gebruikers en -rollen, kies dan
sales-runtime-role
. - In het LF-tags of catalogusbronnen sectie, selecteer Benoemde gegevenscatalogusbronnen en specificeer het volgende:
- Voor databases, kiezen
company
. - Voor Tafels, kiezen
products
.
- Voor databases, kiezen
- In het Tabelrechten sectie, voor Tabelrechtenselecteer kies en Beschrijven.
- In het Gegevensmachtigingen sectie, selecteer Alle gegevenstoegang.
- Kies Grant.
Log in bij EMR Studio en gebruik de EMR Studio Workspace
Verander van rol naar alice-role
or bob-role
op de console met behulp van verschillende webbrowsers om de toegang te testen. Open de EMRStudioLink
URL uit de CloudFormation-stackuitvoer om met elke rol in te loggen bij EMR Studio en voer vervolgens de volgende stappen uit:
- Kies workspaces in het navigatievenster en kies Werkruimte maken.
- Voer een naam en een beschrijving in voor de werkruimte.
- Kies Werkruimte maken.
Een nieuw tabblad met JupyterLab wordt automatisch geopend wanneer de werkruimte gereed is. Schakel indien nodig pop-ups in uw browser in.
- Kies de Berekenen -pictogram in het navigatievenster om de EMR Studio-werkruimte te koppelen aan een rekenmachine.
- kies EMR-cluster op EC2 For Bereken type.
- Kies de EMR-cluster-ID die u hebt gemaakt met AWS CloudFormation.
- Voor Runtime-rol, kiezen
sales-runtime-role
indien ingelogd alsalice-role
. Kiezenhuman-resource-runtime-role
indien ingelogd alsbob-role
. - Kies hechten.
Voer code uit in de EMR Studio Workspace en verifieer de gegevenstoegang
Voer de volgende code uit in de EMR Studio-werkruimte met een PySpark-kernel nadat u zich heeft aangemeld met alice-role of bob-role:
U zou verschillende resultaten moeten zien als u verschillende rollen gebruikt.
Volgens onze configuratie voor gegevenstoegang in Lake Formation heeft Alice volledige gegevenstoegang voor de products
tafel. Ze kan alle kolommen bekijken, behalve het salaris in de employees
tafel.
Voor Bob heeft hij, volgens onze configuratie voor gegevenstoegang in Lake Formation, volledige gegevenstoegang tot de employees
tafel, maar hij heeft geen toegang tot de products
tafel.
Opruimen
Wanneer u klaar bent met experimenteren met deze oplossing, ruimt u uw resources op:
- Stop en verwijder de EMR Studio-werkruimten die zijn gemaakt in het AWS-account voor gegevensconsumenten.
- Verwijder alle inhoud in de S3-bucket
EMRS3Bucket
in het AWS-account voor gegevensconsumenten. - Verwijder de CloudFormation-stack in het AWS-account voor gegevensconsumenten.
- Verwijder alle inhoud in de S3-bucket
DataLakeS3Bucket
in het AWS-account van de gegevensproducent. - Verwijder de CloudFormation-stack in het AWS-account van de gegevensproducent.
Conclusie
Dit bericht liet zien hoe je runtime-rollen kunt gebruiken om verbinding te maken met een EMR Studio Workspace met Amazon EMR om fijnmazige gegevenstoegangscontrole voor meerdere accounts toe te passen met Lake Formation. We hebben ook gedemonstreerd hoe meerdere EMR Studio-gebruikers verbinding kunnen maken met hetzelfde EMR-cluster, elk met behulp van een runtime-rol met machtigingen die overeenkomen met hun individuele toegangsniveau tot gegevens.
Voor meer informatie over het gebruik van EMR Studio-werkruimten met Lake Formation raadpleegt u Voer een EMR Studio-werkruimte uit met een runtime-rol. We moedigen u aan om deze nieuwe functionaliteit uit te proberen en contact met ons op te nemen als u vragen of feedback heeft!
Over de auteurs
Ashley Zhou is een softwareontwikkelingsingenieur bij AWS. Ze is geïnteresseerd in data-analyse en gedistribueerde systemen.
Srividya Parthasarathy is een Senior Big Data Architect in het AWS Lake Formation-team. Ze bouwt graag analyse- en datamesh-oplossingen op AWS en deelt deze met de community.
- Door SEO aangedreven content en PR-distributie. Word vandaag nog versterkt.
- PlatoData.Network Verticale generatieve AI. Versterk jezelf. Toegang hier.
- PlatoAiStream. Web3-intelligentie. Kennis versterkt. Toegang hier.
- PlatoESG. carbon, CleanTech, Energie, Milieu, Zonne, Afvalbeheer. Toegang hier.
- Plato Gezondheid. Intelligentie op het gebied van biotech en klinische proeven. Toegang hier.
- Bron: https://aws.amazon.com/blogs/big-data/use-iam-runtime-roles-with-amazon-emr-studio-workspaces-and-aws-lake-formation-for-cross-account-fine-grained-access-control/
- : heeft
- :is
- :niet
- $UP
- 100
- 107
- 11
- 20
- 7
- 8
- a
- in staat
- Over
- ACCEPTEREN
- toegang
- Toegang tot gegevens
- geraadpleegde
- beschikbaar
- Volgens
- Account
- accounts
- over
- Na
- alice
- Alles
- toelaten
- toegestaan
- toestaat
- al
- ook
- Amazone
- Amazon EC2
- Amazon EMR
- Amazon Web Services
- an
- analyse
- analytics
- en
- elke
- apache
- Apache Spark
- Aanvraag
- toepassingen
- Solliciteer
- architectuur
- ZIJN
- AS
- At
- hechten
- toestemming geven
- webmaster.
- AWS
- AWS CloudFormatie
- AWS lijm
- AWS Lake-formatie
- BE
- omdat
- behoort
- tussen
- Groot
- Big data
- bob
- zowel
- browser
- browsers
- Gebouw
- maar
- by
- CAN
- vangen
- catalogus
- Categorie
- CD
- certificaten
- verandering
- controle
- keuze
- Kies
- schoon
- TROS
- code
- columns
- gemeenschap
- afstand
- Bedrijf
- compleet
- het invullen van
- Berekenen
- Configuratie
- Verbinden
- verbindt
- Overwegen
- bestaat uit
- troosten
- consument
- bevat
- content
- onder controle te houden
- en je merk te creëren
- aangemaakt
- Wij creëren
- Geloofsbrieven
- Actueel
- gegevens
- toegang tot data
- gegevensanalyse
- gegevens Analytics
- Datameer
- data science
- data scientist
- het delen van gegevens
- Database
- databanken
- Standaard
- bepalen
- tonen
- gedemonstreerd
- afdeling
- implementeren
- beschrijven
- beschrijving
- ontwikkelen
- Ontwikkeling
- verschillen
- anders
- direct
- verdeeld
- gedistribueerde systemen
- do
- Nee
- Dont
- beneden
- elk
- Werknemer
- medewerkers
- in staat stellen
- waardoor
- aanmoedigen
- encryptie
- afdwingen
- Motor
- ingenieur
- Engineering
- Ingenieurs
- Motoren
- Enter
- bedrijven
- Milieu
- Ether (ETH)
- voorbeeld
- Behalve
- Verklaren
- extern
- Dien in
- Bestanden
- filter
- Voornaam*
- volgend
- volgt
- Voor
- vorming
- oppompen van
- vol
- geheel
- functionaliteit
- gegeven
- Go
- regeert
- toe te kennen
- verleend
- Groep
- HAD
- gelukkig
- Hebben
- he
- helpt
- Hoe
- How To
- HTML
- http
- HTTPS
- menselijk
- MENSELIJKE HULPBRON
- Personeelszaken
- IAM
- ID
- Identiteit
- if
- illustreert
- geïmplementeerd
- in
- omvat
- Inclusief
- individueel
- informatie
- Infrastructuur
- instantie
- instructies
- geïntegreerde
- integratie
- geïnteresseerd
- voorstellen
- uitnodiging
- IT
- Vacatures
- jpg
- label
- meer
- meren
- Groot
- Grote ondernemingen
- lancering
- LEARN
- Niveau
- LIMIT
- LINK
- links
- lokaal
- plaats
- locaties
- machine
- maken
- MERKEN
- beheer
- beheerd
- management
- beheert
- veel
- matching
- mechanisme
- Menu
- mesh
- macht
- meer
- beweging
- meervoudig
- Dan moet je
- naam
- Genoemd
- OP DEZE WEBSITE VIND JE
- Navigatie
- noodzakelijk
- Noodzaak
- nodig
- New
- volgende
- geen
- notitieboekje
- laptops
- nu
- object
- of
- vaak
- on
- Slechts
- open
- operationele
- or
- Overige
- onze
- uit
- uitgang
- eigenaar
- brood
- pad
- in afwachting van
- toestemming
- permissies
- Plato
- Plato gegevensintelligentie
- PlatoData
- beleidsmaatregelen door te lezen.
- Post
- energie
- vereisten
- vorig
- Principal
- opdrachtgevers
- principe
- principes
- producent
- Product
- Producten
- Profiel
- Profielen
- zorgen voor
- mits
- biedt
- doel
- Python
- queries
- Contact
- R
- RAM
- Rauw
- ruwe data
- klaar
- verminderen
- verwijzen
- regio
- registreren
- geregistreerd
- registreren
- los
- te vragen
- hulpbron
- Resources
- resultaat
- Resultaten
- Rol
- rollen
- lopen
- lopend
- salaris
- verkoop
- dezelfde
- Scala
- Wetenschap
- Wetenschapper
- wetenschappers
- script
- sectie
- secties
- zien
- gekozen
- senior
- apart
- server
- Diensten
- Sessie
- reeks
- het instellen van
- settings
- setup
- Delen
- gedeeld
- Aandelen
- delen
- ze
- moet
- vertoonde
- teken
- Gesigneerd
- het ondertekenen van
- Eenvoudig
- single
- Software
- software development
- uitverkocht
- oplossing
- Oplossingen
- bronnen
- Vonk
- stack
- Stap voor
- Stappen
- mediaopslag
- shop
- opgeslagen
- winkels
- eenvoudig
- studio
- ingediend
- dergelijk
- leveren
- steunen
- Systems
- tafel
- TAG
- team
- sjabloon
- tijdelijk
- proef
- dat
- De
- hun
- Ze
- harte
- daarom
- dit
- die
- Door
- tijdlijn
- naar
- tools
- doorvoer
- proberen
- twee
- type dan:
- typisch
- ui
- voor
- die ten grondslag liggen
- Uploaden
- URL
- us
- .
- gebruikt
- Gebruiker
- gebruikers
- toepassingen
- gebruik
- waarde
- controleren
- versie
- via
- Bekijk
- visualiseren
- lopen
- we
- web
- web browsers
- webservices
- waren
- wanneer
- welke
- geheel
- wil
- Met
- binnen
- werkzaam
- zou
- schrijven
- geschreven
- YAML
- u
- Your
- zephyrnet
- Postcode